<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Poltergeist · haunt.house</title><link>https://blog.haunt.house/projects/poltergeist/</link><description>Research, ideas, and announcements from haunt.house.</description><language>en-us</language><lastBuildDate>Mon, 03 Aug 2026 00:00:00 -0500</lastBuildDate><atom:link href="https://blog.haunt.house/projects/poltergeist/index.xml" rel="self" type="application/rss+xml"/><item><title>Design and evidence-gated refinement of a 3-D-printable smooth-tip toroidal rotor</title><link>https://blog.haunt.house/toroidal-rotor-research-report/</link><pubDate>Mon, 03 Aug 2026 00:00:00 -0500</pubDate><guid>https://blog.haunt.house/toroidal-rotor-research-report/</guid><description>The Poltergeist rotor program: a reproducible diagnostic improvement, its costs, and the evidence still missing.</description><content:encoded><![CDATA[<blockquote>
<p><strong>Provenance.</strong> Published from the <code>antialias/poltergeist</code> repository at
commit <code>ba23172</code>. Monospace file paths refer to that repository at that
commit. Every quantitative figure and number is generated from frozen
artifacts by a deterministic extractor whose outputs are byte-checked
(<code>npm run aero:paper-data -- --verify</code>). The repository is not currently
publicly readable; paths are given for provenance and reproducibility.</p>
</blockquote>
<p>Status: research report built from the evidence-audited kit in
<code>docs/rotor-paper-kit/README.md</code>
Written at: branch <code>rotor-research-report</code>, based on the canonical rotor
history consolidated at <code>b508f68</code> and extended through the qualification
disposition (<code>c881754</code>) and the rejected steady-pilot record (<code>5a7e337</code>)
Evidence manifest: <code>sim/toroidal-research/paper-v1/data.json</code>,
regenerated and drift-checked with <code>npm run aero:paper-data -- --verify</code></p>
<hr>
<h2 id="abstract">Abstract</h2>
<p>This report documents the design and computational refinement of an 88.9 mm
(3.5 in) smooth-tip toroidal rotor for a sub-250 g quadrotor at a frozen
comparison point of 24,486 RPM. The product hypothesis was that a closed,
smoothly turned tip could improve contact robustness and reduce tip-noise
mechanisms while retaining useful aerodynamic performance. Development began
with parametric geometry, manufacturing, and structural surrogates, but early
review exposed a more basic gap: the rotor had not demonstrated credible lift.
The program therefore built an auditable, headless evidence ladder combining a
frozen commercial control, signed low-order loading, low-Reynolds-number
section analysis, targeted SU2 experiments, XFOIL correlation, and
exact-geometry DUST unsteady vortex-lattice/free-wake simulation. A
preregistered 3,600-cell sectional-CFD campaign proved computationally and
numerically unproductive — its two pilots admitted zero coefficients and its
measured wall times imply 12.6–26.1 serial days — and the program was
redirected to bounded geometry batches, causal diagnostics, and mature-wake
promotion rules. A repeatable 4.089 N cold-start result, briefly 143% of the
commercial thrust bar, was rejected after a wake-duration ladder decayed to
1.178 N at two revolutions. Subsequent broad, factorial, airfoil, and
rotor-level batches produced a retained 6%-camber, 7-inch-pitch,
−8-degree-incidence-split closed-tip rotor. At revolution four it produced
2.441372 N and 94.032 W of resolved shaft power in the frozen DUST workflow:
6.37% more thrust than the prior TR-05M leader, but 14.92% more power, 7.44%
lower thrust per shaft watt, and only 85.32% of the measured HQProp thrust
target. The mature-wake gate remained closed. Two subsequent frozen batches
returned zero leader improvement, firing the preregistered diminishing-return
stop rule. The result is therefore a reproducible design hypothesis and a
methodological advance, not evidence of superior efficiency, noise, strength,
or flightworthiness. The next decisive work is independent viscous validation,
proof-spin and structural testing, and matched-RPM thrust, torque, power, and
acoustic measurement.</p>
<p><strong>Keywords:</strong> toroidal propeller; closed-tip rotor; low Reynolds number;
free-wake vortex lattice; DUST; XFOIL; SU2; preregistration; evidence-gated
optimization; negative results; additive manufacturing; small UAS</p>
<p><strong>Governing thesis.</strong> We began with a compelling product constraint and a
plausible shape, learned that confidence had been built in the wrong order,
constructed an evidence system strict enough to reject our own apparent
breakthrough, redirected a stalled program toward bounded exact-prop
experiments, obtained a reproducible but qualified improvement, and stopped
when the evidence said local tuning had run out of value.</p>
<h3 id="how-to-read-this-report">How to read this report</h3>
<p>Every number in this report is extracted from a frozen, committed artifact —
an immutable ledger checkpoint, a frozen protocol or report JSON, or the
registry — through a deterministic extractor
(<code>scripts/build-rotor-paper-data.mjs</code>)
that hashes its 24 sources, asserts identity and denominator invariants, and
fails on drift. The extractor&rsquo;s output manifest and the ten generated figures
live in <code>sim/toroidal-research/paper-v1/</code>.
Task-history transcripts (exported in
<code>docs/rotor-paper-kit/transcripts/README.md</code>)
are used for decision rationale and chronology only, never for numbers; where a
live transcript statement and a committed report disagree, the report wins and
the discrepancy is stated.</p>
<p>Three vocabulary rules apply throughout. DUST results are <em>unsteady
vortex-lattice/free-wake</em> results — an inviscid model, never &ldquo;CFD&rdquo; without
qualification. &ldquo;Resolved shaft power&rdquo; is torque-derived power inside that
inviscid model, not electrical input or a bench measurement. And the retained
rotor is a <em>diagnostic leader</em> — an exploratory, non-admissible simulation
result — not an optimized, validated, or flight-ready propeller.</p>
<hr>
<h2 id="1-introduction">1. Introduction</h2>
<p>Poltergeist is a parametric design studio for sub-250 g 3-D-printable FPV
quadrotors. In August 2026 it grew a rotor program with an unusual premise: the
propeller topology was a product constraint before it was an aerodynamic
conclusion. The user wanted a small printed rotor whose blade tips close into
smooth loops — fewer sharp exposed ends around people and obstacles, greater
geometric continuity and potential stiffness, and a plausible (hypothesized,
not demonstrated) path to lower tip-vortex noise — integrated with the
aircraft configurator rather than imported as a foreign STL.</p>
<p>That framing fixes the research question. It was never &ldquo;what unconstrained
propeller makes the most thrust?&rdquo; It was: <em>can this closed-tip family become
aerodynamically credible, and can it approach or beat a good store-bought
propeller without surrendering the reasons it was chosen?</em> Conventional
open-tip propellers therefore appear throughout this report as controls — they
are mandatory comparisons, not eligible substitutes.</p>
<p>Concretely, the program asked four questions at a frozen comparison point of
88.9 mm diameter and 24,486 RPM:</p>
<ol>
<li>Can the exact closed-tip geometry produce credible thrust at all?</li>
<li>Which geometry and section variables improve mature-wake loading?</li>
<li>Can an improvement survive power, wake, manufacturing, structural, and
evidence gates simultaneously?</li>
<li>Does the result beat the measured commercial control?</li>
</ol>
<p>The answers, in order: yes, with heavy qualification (§6.5–§6.12); global
pitch, front/rear incidence split, and lifting-section camber, at a
disproportionate power cost (§6.10); no — the full mature-wake gate never
opened and no physical gate was attempted (§6.12); and no — the retained
design reaches 85.32% of the measured control thrust (§6.12).</p>
<p>What makes the program worth reporting is not the headline thrust number. It
is the order in which confidence was built, torn down, and rebuilt. The
program produced a visually compelling parametric rotor before it had lift
evidence; corrected into a validation campaign so rigorous it stopped
optimizing the propeller; produced a repeatable simulation result 43% above
the commercial bar and then rejected it as a cold-start transient; replaced an
unbounded search with preregistered factorial batches and frozen promotion
rules; obtained one real mature-wake improvement; and stopped by rule when two
consecutive batches returned nothing. The methodology — preregistration,
fail-closed admission, immutable ledgers, exact cryptographic identities,
explicit failure populations, short-screen versus long-wake promotion, and a
diminishing-return stop rule — is presented as a first-class finding (§4,
§8.5), because it is the part of the work most transferable to other
small-team, agent-assisted engineering programs.</p>
<p>The report proceeds as follows. §2 places the work against published toroidal,
low-Reynolds-number, and small-rotor literature. §3 states the product
constraints and design space. §4 describes the methods actually executed. §5
reconstructs the program chronologically, including the human interventions
and agent handoffs that changed its course. §6 presents results in the order
the evidence matured. §7 catalogs failures and course corrections with equal
status. §8–§10 discuss interpretation, limitations, and future work. Appendices
give the retained candidate&rsquo;s exact identity, reproduction commands, and the
task/commit record.</p>
<hr>
<h2 id="2-related-work">2. Related work</h2>
<h3 id="21-toroidal-and-joined-tip-propellers">2.1 Toroidal and joined-tip propellers</h3>
<p>The most widely known closed-tip propeller work is MIT Lincoln Laboratory&rsquo;s:
US Patent 10,836,466 and an accompanying technology summary. Both must be
cited for what they are. The patent reports closed toroidal blade forms,
design variables (element count, airfoil, sweep, twist, material, diameter),
claimed stiffness and acoustic mechanisms, and <em>selected examples</em> with
favorable thrust-versus-sound relationships. The technology summary is
product-level framing. Neither is a peer-reviewed performance paper, neither
establishes a universal toroidal efficiency advantage, and the 40–60% figure
that circulates in secondary coverage concerns a ring-wing lift/drag example —
it is not a propeller-efficiency improvement and is not claimed here. This
correction mattered inside the program: the literature spike (§5.8) went
looking for &ldquo;the MIT toroidal paper&rdquo; and found that the primary public record
is the patent and summary.</p>
<p>Independent literature supports both sides of the closed-tip hypothesis. Wei
et al. (Drones, 2024) report a ~208 mm toroidal rotor with similar figure of
merit and reduced radial/axial sound pressure under equal-thrust conditions —
evidence that spectra and directivity, not one scalar, are the right acoustic
currency. An experimental counterexample (Mariuta, Ignat, and Cican, 2026)
shows toroidal topology does not guarantee efficiency: larger wetted area and
joined-blade interaction impose real costs. Boxprop research (Chalmers)
demonstrates that a joined tip can remove the conventional open-tip vortex
while still producing blade-passage interference, unloading, and swirl. Chen
et al. (2025) report a ~254 mm toroidal configuration in which the leading
blade substantially reduces trailing-blade lift — directly foreshadowing the
rear-system loss this program measured in its own wake diagnostics (§6.6).
Larger-scale design-variable studies (Kim et al. 2025; Lee and Choi 2025; Ali
et al. 2026) treat pitch/twist, blade angle, loop gap, and front/rear spacing
as coupled causal variables, but their optima do not transfer across scale.</p>
<h3 id="22-low-reynolds-number-section-behavior">2.2 Low-Reynolds-number section behavior</h3>
<p>At this rotor&rsquo;s scale, lifting sections operate near Reynolds 20,000–40,000,
where familiar airfoil intuition degrades. UIUC small-propeller measurements
(Deters, Ananda, and Selig, 2014) show small propellers routinely below
Re 100,000 with laminar separation and blade deformation materially affecting
performance. NASA&rsquo;s very-low-Re review (Koning, Romander, and Johnson)
documents rapid degradation of smooth conventional sections below Re 100,000
and non-reattaching separated shear layers below roughly Re 50,000. Wind-tunnel
comparisons (Traub and Coffman, 2019) show thin plates and circular arcs can
outperform thick sections at Re 40k–80k, with XFOIL agreement dependent on
geometry and separation state. Klose, Spedding, and Jacobs show that at
Re 20,000 small incidence changes can reorganize separation and wake topology
entirely. Together these set the epistemic budget for §4.3: XFOIL is a bounded
screening tool here, not truth, and no smooth polar can be trusted across a
state change.</p>
<h3 id="23-wake-maturation-hover-loading-and-acoustics">2.3 Wake maturation, hover loading, and acoustics</h3>
<p>Optimum-hover loading theory (NASA TM-20250009190) supplies twist/loading
priors for lifting legs — a prior, not a validation of any particular pitch
law. Propeller free-wake practice (NASA aero-propulsive comparison studies,
preserved in the wake-convergence task, §5.11) commonly runs several spin-up
revolutions plus averaging revolutions, judging convergence on
revolution-averaged and phase-resolved statistics rather than a fixed count;
a supplementary research task in this program recommended roughly 6–8 spin-up
plus 2–3 averaging revolutions for an ordinary isolated propeller. This
context strengthens, rather than excuses, the central caveat of this report:
the program&rsquo;s four-revolution promotions are shorter than common practice, and
its own wake gate confirms the solution was still changing (§6.12). Small-UAS
acoustic literature (NASA measurement, psychoacoustics, and broadband-noise
studies) informs the future test design in §10; no acoustic data of any kind
exists for this rotor.</p>
<h3 id="24-the-gap">2.4 The gap</h3>
<p>No published result directly validates an 88.9 mm, printed, three-loop,
front/rear-interacting closed-tip rotor at 24,486 RPM. Published toroidal
advantages are geometry- and operating-point-specific. That gap is why the
program built its own evidence system rather than borrowing conclusions.</p>
<hr>
<h2 id="3-requirements-and-design-space">3. Requirements and design space</h2>
<h3 id="31-product-constraints">3.1 Product constraints</h3>
<p>The rotor is a subsystem of a configured aircraft, not a free-standing shape.
Binding constraints, inherited from the printed-propulsion epic
(<code>docs/toroidal-rotor-epic.md</code>):</p>
<ul>
<li>closed, smoothly turned tips (the defining product constraint — §5.8 records
the explicit decision to keep them when the literature challenged the
optimizer&rsquo;s favorite geometry);</li>
<li>airframe fit: diameter, dynamic growth, deflection, and neighboring-rotor
and board clearance coupled to the generated geometry;</li>
<li>printability as authored: one-piece load paths, minimum station thickness,
trailing-edge printability, leading-edge radius, orientation, and process
tuple; the audited minimum station thickness of the retained design is
1.284 mm;</li>
<li>hub continuity and burial without bore or face escape;</li>
<li>structural plausibility at roughly 114 m/s tip speed, ~30,000 g tip
acceleration, 408 Hz shaft rate, and 1.22 kHz blade-passage frequency —
numbers that justified balance, fatigue, moisture, resonance, and proof-spin
attention from the first week;</li>
<li>material/process realism: PAHT-CF was recommended as a <em>development</em>
candidate, explicitly not a flight endorsement, because the early structural
model was a centrifugal surrogate blind to defects, clamp loads, fatigue,
creep, moisture, aerodynamic bending, and process variation.</li>
</ul>
<h3 id="32-aerodynamic-design-variables">3.2 Aerodynamic design variables</h3>
<p>The parametric family exposes: loop count; global pitch; front/rear incidence
split; per-region chord scales (front leg, rear leg, root transition, smooth
tip-bridge); lifting-section camber, camber position, and thickness;
turnover-width scale; turnover-orientation bias; and loop height. The regions
have distinct jobs, and the program&rsquo;s design model sharpened into exactly that
vocabulary (§5.8): the <strong>front leg</strong> carries the majority of useful loading in
the cleanest inflow; the <strong>rear leg</strong> flies in the front leg&rsquo;s downwash and
unsteady wake and must be designed independently; the <strong>turnover bridge</strong> is a
smooth structural/acoustic connector whose inviscid curved-panel loading must
not be &ldquo;exploited&rdquo; as if it were validated lift; the <strong>roots</strong> are non-lifting
load-transfer regions until three-dimensional evidence supports another
treatment.</p>
<h3 id="33-identity-discipline">3.3 Identity discipline</h3>
<p>Every exact candidate carries a deterministic geometry identity (SHA-256 over
the canonical geometry serialization) and, once meshed for DUST, a mesh
identity. Evidence attaches to identities, not names: a visually similar rotor
cannot inherit results from another hash, and any geometry change creates a
new identity that invalidates downstream evidence. This is what later allowed
one physical design to be recognized under three batch aliases (§6.11) and
what makes the first-print critical path&rsquo;s candidate freeze meaningful
(§6.12). The same discipline exposed a cross-platform mesh-serialization
mismatch (§7, F-07) that a looser regime would never have seen.</p>
<p>The retained candidate&rsquo;s exact render:</p>
<p><img src="factor-101-s3-pi7-risdm8.svg" alt="Exact retained rotor factor-101-s3-pi7-risdm8"></p>
<p>Earlier geometry stages — useful for the debugging narrative in §5.1, and
explicitly <em>not</em> renders of the retained design — are preserved in the kit:</p>
<p><img src="rotor-overview.png" alt="Early approved geometry overview"></p>
<p><img src="rotor-tip-oblique.png" alt="Early turnover close view"></p>
<hr>
<h2 id="4-methods">4. Methods</h2>
<h3 id="41-the-evidence-ladder">4.1 The evidence ladder</h3>
<p>The program&rsquo;s central mechanism is a fail-closed ladder: a candidate earns its
way from geometry to qualification, and failure at any rung leaves it — with
its failure recorded — at that rung. Nothing skips ahead, and no downstream
gate can be satisfied by upstream enthusiasm.</p>
<pre class="mermaid">flowchart TD
  A[&#34;Exact parametric geometry\ndeterministic SHA-256 identity&#34;] --&gt; B[&#34;Geometry gates\npositive section area, winding, frame rotation,\nsweep Jacobian, min thickness, hub burial&#34;]
  B --&gt; C[&#34;Kinematic / section gates\nsigned loading, polar envelope,\nnon-lifting roots, no fictitious 2-D lift on curved transitions&#34;]
  C --&gt; D[&#34;Cheap section screen\nNeuralFoil/AeroSandbox trends, pinned XFOIL polars\n(bounded low-Re hypotheses only)&#34;]
  D --&gt; E[&#34;Exact short-wake DUST screen\n1–2 revolutions, complete frozen batches,\nexplicit failures stay in the denominator&#34;]
  E --&gt; F[&#34;Frozen long-wake promotion\n≤2 candidates per batch, 4 revolutions,\npromotion rule preauthored&#34;]
  F --&gt; G[&#34;Mature-wake gate\nper-quantity peak-to-peak, slope, mean-drift\n— NEVER PASSED&#34;]
  G -.-&gt; H[&#34;Independent viscous check\nSU2 sectional/steady — BLOCKED/REJECTED&#34;]
  H -.-&gt; I[&#34;Structural / acoustic / bench / flight qualification\nNOT STARTED&#34;]

  style G stroke:#fb7185,stroke-width:2px
  style H stroke:#fb7185,stroke-dasharray:4,stroke-width:2px
  style I stroke:#94a3b8,stroke-dasharray:4</pre>
<p><em>Figure 1 — the evidence ladder. The retained design stops at the long-wake
promotion rung: it is the best candidate ever promoted, and it fails the
mature-wake gate above it. Everything past that rung is future work.</em></p>
<h3 id="42-controls-and-operating-point">4.2 Controls and operating point</h3>
<p>The commercial control is frozen and singular: an HQProp T3.5x2x3 on a T-Motor
F1404 2900KV motor at 16.7 V and 85% throttle, from the manufacturer&rsquo;s bench
table — 291.77 g of thrust (2.8613 N) at 6.18 A and 24,486 RPM. The registry
row (<code>registries/motors.json</code>) is the committed
source; the extractor verifies 291.77 g × 9.80665 m/s² agrees with the frozen
2.8613 N target to within 5×10⁻⁴ N.</p>
<p>Two provenance qualifications bound every use of this number. First, the bench
table reports <strong>electrical input</strong>, not shaft power, so no efficiency
comparison against DUST&rsquo;s resolved (torque-derived, inviscid) shaft power is
admissible — the control is a <strong>necessary-condition thrust bar only</strong>: a
candidate that cannot approach it in its own favorable model has no case, but
matching it in DUST would still prove nothing about the bench. Second, the
comparison is matched-diameter and matched-RPM by intent, but motor, voltage,
measurement chain, and installation differ; the program never treats the
ratio as a same-conditions experiment.</p>
<p>Commercial <em>geometry</em> controls (authoritative APC tables; a T-Motor STEP
ingestion proof) were built as reproducibility results for the toolchain. They
are not evidence that the low-order model successfully predicted commercial
static performance — §6.2 shows it did not.</p>
<h3 id="43-models-and-tools-actually-used">4.3 Models and tools actually used</h3>
<table>
  <thead>
      <tr>
          <th>Tool</th>
          <th>Role actually played</th>
          <th>Fidelity / limits</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>TypeScript geometry + signed loading kernel</td>
          <td>exact parametric geometry, deterministic identities, signed force integration, envelope gates</td>
          <td>kinematics and bookkeeping, not flow physics</td>
      </tr>
      <tr>
          <td>XFOIL (pinned, Dockerized)</td>
          <td>polar provenance for the low-order model; bounded section correlation (TR-06E); manufacturable-section and local-camber batches (TR-06G/H)</td>
          <td>2-D, low-Re-fragile, shape- and state-dependent agreement</td>
      </tr>
      <tr>
          <td>NeuralFoil / AeroSandbox (pinned)</td>
          <td>fast section screening and trends (TR-06D control screen)</td>
          <td>surrogate trends, no admission authority</td>
      </tr>
      <tr>
          <td>SU2 (pinned)</td>
          <td>sectional-CFD pilots (TR-05A1); later steady incompressible pilot on the disposition query</td>
          <td>the only independent viscous lane — and it never admitted a coefficient (§6.3, §6.12)</td>
      </tr>
      <tr>
          <td>DUST (pinned, Dockerized)</td>
          <td>exact-geometry unsteady vortex-lattice/free-wake simulation: every screen, promotion, wake ladder, and diagnostic from TR-05D on</td>
          <td>inviscid; no profile drag, stall truth, roughness, or acoustics</td>
      </tr>
      <tr>
          <td>Repository runners (<code>scripts/aerodynamics/</code>)</td>
          <td>deterministic batch generation, preregistration, validation, ledger, Studio serialization</td>
          <td>the reproducibility spine</td>
      </tr>
  </tbody>
</table>
<p>The toolchain was selected for <strong>autonomy, not prestige</strong>: the user required
free, open-source tools an agent could install and run headlessly, with no
paid services or GUI steps. Pinned runtimes and a DUST smoke path are
committed under <code>sim/aero-toolchain/README.md</code> with
a third-party license inventory.</p>
<p>Equally important is the list of tools <strong>considered but not used to produce
any reported result</strong>: BoTorch, pymoo, NSGA-II/III, CMA-ES, MAP-Elites,
FLOWUnsteady, OpenVSP/VSPAERO, BladeAD, Xoptfoil2, and CST/Kulfan
parameterization. They were evaluated and several remain good future options
(§10), but the retained leader came from deterministic space-filling batches,
complete local factorials, and frozen promotion rules. No genetic or Bayesian
optimizer produced any candidate in this report, and describing the program
otherwise would upgrade a brainstorm into an executed method.</p>
<h3 id="44-optimization-strategy">4.4 Optimization strategy</h3>
<p>The executed strategy, in the order it evolved:</p>
<ol>
<li><strong>Deterministic space-filling first.</strong> A 25-geometry DOE (§6.4), then a
24-geometry broad exact-DUST batch (§6.7), establish the landscape without
optimizer path-dependence.</li>
<li><strong>Targeted acquisition over exhaustive atlases.</strong> After uncertainty swamped
ranking in the DOE, and after the sectional-CFD campaign&rsquo;s cost became
clear, expensive computation was pointed at the single highest-value
unresolved cell rather than a full grid (§5.3, §6.12).</li>
<li><strong>Causal microbatches.</strong> Change one mechanism (incidence split, loop
height) around a retained control to test a diagnosis, not to win (§6.6).</li>
<li><strong>Complete local factorials.</strong> TR-05I through TR-06K are full 2×2×2 (or
equivalent) crossings with preauthored candidate lists — no one-variable
anecdotes, no post-hoc additions (§6.7–§6.11).</li>
<li><strong>Pareto-style non-dominated promotion</strong> using thrust, power, cancellation,
retention, manufacturability, and failure status — with at most <strong>two
frozen long-wake promotions per batch</strong>.</li>
<li><strong>A preregistered stop rule:</strong> two consecutive frozen batches with less
than 2% mature-wake leader improvement and no
wake/loading/structural/acoustic constraint fix end the local loop (§6.11).
An analogous rule ended section-level refinement (§6.9).</li>
</ol>
<h3 id="45-wake-and-convergence-policy">4.5 Wake and convergence policy</h3>
<p>Cold-start thrust is not a steady answer: an impulsively started free-wake
solution carries startup loading that decays as the induced wake develops
(§6.5 demonstrates this at scale). The policy that emerged:</p>
<ul>
<li><strong>Screens</strong> run one or two revolutions and rank candidates <em>within a batch
at the same window</em>. Screen numbers are never performance claims.</li>
<li><strong>Promotions</strong> run four uninterrupted revolutions under a frozen long-wake
protocol.</li>
<li><strong>The mature-wake extension gate</strong> is evaluated per quantity (thrust and
shaft torque) on the final revolution window, conjunctively: relative
peak-to-peak ≤ 3%, |slope| per revolution ≤ 3%, and relative mean change
from the prior revolution ≤ 2%. A locally flat final window can still fail —
and for the retained design does fail — because the revolution-to-revolution
mean is still moving or torque is not stationary (§6.12, Table 6).</li>
</ul>
<p>The gate was never relaxed to let a result through, which is why every thrust
figure in this report carries the phrase &ldquo;wake gate closed.&rdquo;</p>
<h3 id="46-reproducibility-and-negative-evidence">4.6 Reproducibility and negative evidence</h3>
<p>Five practices did the epistemic work:</p>
<ol>
<li><strong>Freeze before looking.</strong> Candidates, operating point, durations, solver
identity, denominators, metrics, promotion rules, and stop conditions are
committed before results are inspected.</li>
<li><strong>Explicit failure populations.</strong> Diverged, non-finite, invalid-polar,
out-of-domain, and nonstationary cases remain members of their populations:
<code>valid + explicitFailures = eligible</code> is a checked invariant, and no batch
drops a case to improve a rate (§6.2, §6.8&rsquo;s TR-05M and §6.11&rsquo;s TR-06K each
retain two non-finite failures).</li>
<li><strong>Exact identities everywhere.</strong> Geometry, mesh, protocol, source input,
raw solver history, and cell-load artifacts are SHA-256-addressed.</li>
<li><strong>An immutable progress ledger.</strong>
<code>sim/rotor-progress/progress.jsonl</code>
holds 39 append-only checkpoints (baseline, pending, rejected, improved,
regressed, accepted) with <code>previousCheckpoint</code> links as the authoritative
sequence; <code>sim/rotor-progress/PERFORMANCE.svg</code> is
generated from it. The ledger exists because the user demanded a visible
answer to &ldquo;is the line going up or down&rdquo; (§5.4) — it is a coordination
instrument that became an evidence instrument.</li>
<li><strong>Method corrections stay visible.</strong> The cross-platform mesh-byte mismatch,
the restart-equivalence ambiguity, and the phase-misregistered flow probes
are presented in §7 as corrections, not omitted implementation details.</li>
</ol>
<p>This report adds one more layer: the paper-evidence extractor
(<code>npm run aero:paper-data</code>) reads only the frozen sources, re-asserts the
identity and denominator invariants on every run, emits the figure manifest
and all ten generated figures deterministically, and byte-compares them in
<code>--verify</code> mode. The figures in §6 cannot silently drift from the artifacts
they cite.</p>
<hr>
<h2 id="5-program-narrative">5. Program narrative</h2>
<p>The program ran across fourteen coordinated agent tasks — implementers,
independent reviewers, a reporting/steering agent, a takeover agent, and an
integration agent — with the user intervening at every turning point. The
audited task index and full paginated transcript exports are in
<code>docs/rotor-paper-kit/transcript-index.md</code>
and <code>docs/rotor-paper-kit/transcripts/README.md</code>. Transcripts
supply rationale and ordering here; every number is from §6&rsquo;s frozen sources.
One audit caveat applies throughout: forked tasks inherit their parent&rsquo;s
history, so the same statement appearing in several transcripts is
duplication, not independent corroboration.</p>
<pre class="mermaid">flowchart TD
  subgraph product[&#34;Product &amp; geometry (Aug 1)&#34;]
    A[&#34;Original toroidal-product task\ngeometry, materials, structural surrogates&#34;]
  end
  subgraph validation[&#34;Validation build-out (Aug 1–2)&#34;]
    B[&#34;Early TR-05 implementation\nsigned low-Re kernel&#34;]
    C[&#34;Visual/topology stream&#34;]
    D[&#34;Independent TR-05 review&#34;]
  end
  subgraph coordination[&#34;Coordination &amp; review (Aug 2)&#34;]
    E[&#34;Branch/science coordination&#34;]
    F[&#34;Benchmark/provenance review&#34;]
    G[&#34;BEM/numerical review&#34;]
    H[&#34;Holdout/protocol review&#34;]
  end
  subgraph aero[&#34;Aerodynamics (Aug 2)&#34;]
    I[&#34;Original aerodynamic agent\nblind benchmark → sectional CFD →\nDUST integration → wake diagnosis&#34;]
    J[&#34;Reporting &amp; steering agent\n26-day cost estimate, performance bar,\ncommercial comparison&#34;]
  end
  subgraph takeover[&#34;Takeover &amp; improvement (Aug 2–3)&#34;]
    K[&#34;Takeover agent\nbroad/factorial batches, research spike,\nairfoil pass, TR-06I/J/K, stop rule&#34;]
    L[&#34;Studio integration task&#34;]
    M[&#34;Wake-convergence research task&#34;]
  end

  A --&gt;|&#34;user: &#39;does it generate lift?&#39;&#34;| B
  A --&gt; C
  A --&gt; D
  A --&gt; E
  E --&gt; F &amp; G &amp; H
  E --&gt; I
  I --&gt;|&#34;user: &#39;optimizing the prop is the whole point&#39;&#34;| J
  J --&gt;|&#34;user: &#39;kill it, or subsume it?&#39;&#34;| K
  K --&gt; L
  M -.context.-&gt; K</pre>
<p><em>Figure 2 — task and handoff structure. Arrows show contextual and handoff
relationships (with the user directive that drove each major transition), not
sole authorship of commits.</em></p>
<h3 id="51-a-compelling-object-before-credible-lift-turning-point-1">5.1 A compelling object before credible lift (turning point 1)</h3>
<p>The first task made the rotor a first-class product artifact: parametric
geometry coupled to airframe clearance, analytic mass and inertia, structural
surrogates, and material/process recommendations (commits <code>bee672d</code> through
<code>3dbb9c4</code>). The physical stakes were understood early — ~114 m/s tip speed,
~30,000 g tip acceleration — and the material advice (PAHT-CF as a
development candidate) was deliberately not a flight endorsement.</p>
<p>The geometry itself resisted. The first root cleanup reused a tip-oriented
ellipse whose perimeter indexing mismatched the neighboring NACA rings: the
loft joined a leading edge to a trailing edge, collapsed through an hourglass,
and reopened with reversed winding. The tip was worse — a forced −90° keyframe
and a keyframed point-loft folded the turnover through itself, with signed
section area collapsing from ~2.50 mm² to 0.059 mm² and changing sign. The
triangle generator faithfully rendered mathematically invalid surfaces, and
higher resolution just made the wrong shape look more detailed. The durable
correction was structural, not cosmetic: the turnover became a finite-radius
fair sweep with transported section frames, continuous chord/twist laws, and
explicit fairness/inversion gates (<code>13397c5</code>, <code>0b8dc42</code>). A separate incident
— an apparent regression that was actually a stale <code>next start</code> build serving
old code — taught the program that human visual review is only meaningful when
the rendered artifact&rsquo;s commit and build identity are known.</p>
<p>The uncomfortable summary of this phase: a beautiful, increasingly
well-engineered rotor existed, and none of it was lift evidence.</p>
<h3 id="52-the-user-resets-the-order-of-operations-turning-point-2-begins">5.2 The user resets the order of operations (turning point 2 begins)</h3>
<p>The pivotal user question was blunt: <em>is what you modeled actually supposed to
generate lift yet or not?</em> The honest answer was &ldquo;not defensibly.&rdquo; The
critical path flipped from cosmetic refinement to signed loading, conventional
controls, low-Re section coverage, uncertainty, and explicit failure states.</p>
<p>The early aerodynamic implementation made sound structural choices — signed
force integration rather than clamped negative loads, explicitly non-lifting
root blends, hard failure when a section query left its polar envelope, no
fictitious 2-D lift on unresolved curved transitions, XFOIL polar provenance,
and a conventional-propeller benchmark gate <em>before</em> any toroidal promotion.
The first benchmark result was severe (§6.2): the model could not support
performance claims, and no rotor-level correction could substitute for missing
low-Re section physics. Commit <code>29194ce</code> and the first immutable checkpoint
froze that failure as the starting line rather than hiding it. An independent
review task confirmed the gap list: missing held-out evaluation, powertrain,
uncertainty, and release gates.</p>
<h3 id="53-rigor-becomes-a-local-optimum-turning-points-23">5.3 Rigor becomes a local optimum (turning points 2–3)</h3>
<p>The response to the benchmark failure was a preregistered SU2 sectional-CFD
ladder — serious physics, frozen admission thresholds, and a planned grid of
3,600 qualification cells (§6.3). Its first full pilot diverged; its damped
successor ran its entire 20,000-iteration budget without converging; CI
exposed that mesh bytes differed between macOS and Linux. The responsible
agent responded by hardening protocol identity, numerical ladders, and
cross-platform contracts (<code>156e1b8</code>–<code>85986cf</code>) — careful, auditable, and
increasingly disconnected from the objective.</p>
<p>The independent reporting task computed the operational consequence: at the
measured pilot wall times, the serial campaign implied roughly two to four
weeks of computation <em>before</em> medium meshes, transition cases, or URANS — and
the first pilot had already concluded &ldquo;URANS required, not admitted.&rdquo; The user
supplied the governing correction: <strong>optimizing the prop is the whole point.</strong>
Sectional CFD was demoted from prerequisite atlas to targeted information
acquisition. This is a major methodological result in its own right: a
workflow can obey every local rule of rigor and still optimize the wrong
objective. Reproducibility and validation are constraints on useful
experimentation, not substitutes for it.</p>
<h3 id="54-making-progress-visible">5.4 Making progress visible</h3>
<p>The same reporting task answered a second user demand — <em>show me whether the
line is going up or down</em> — which began as a rebuke of caveat-walls and became
infrastructure: a two-layer scorecard pairing a highly visible performance bar
(hover, thrust-to-weight, commercial target) with the evidence class,
denominator, and gate status needed to interpret it. Its descendant is the
committed ledger and <code>sim/rotor-progress/PERFORMANCE.svg</code>.</p>
<p>The first 25-geometry DOE showed an internal signal (§6.4) — and the same
scorecard immediately deflated it: the best resolved toroidal thrust was
18–28% of the measured HQProp control. The user&rsquo;s framing — the bar is
<em>beating store-bought props</em>, not improving on a terrible toroidal baseline —
became the fixed 2.8613 N target that every later figure carries.</p>
<h3 id="55-the-seductive-wrong-answer-turning-points-45">5.5 The seductive wrong answer (turning points 4–5)</h3>
<p>Commit <code>dc467dd</code> mapped the exact toroidal geometry into DUST with
nanometer-scale mapping error and bit-for-bit deterministic reruns. The first
load history reported ~4.089 N — about 143% of the commercial bar. For a brief
period the line looked spectacular.</p>
<p>The program did not declare victory. It preregistered a wake-duration ladder,
and thrust decayed monotonically with simulated wake age: 3.728 N at a quarter
revolution, 2.988 N at half, 2.008 N at one, 1.178 N at two (§6.5).
Repeatability had proven only that the code repeated the same transient. The
apparent breakthrough was startup loading before the induced wake developed,
and the method rejected it (<code>b1e6194</code>). This episode is the program&rsquo;s
strongest illustration of adversarial evidence: the system was designed to
make exciting results work harder than ordinary ones, and it succeeded by
invalidating the team&rsquo;s most exciting number.</p>
<p>Diagnostics then turned the decay into design information. After discarding a
first, phase-misregistered probe set, phase-registered segment loads localized
the loss: the rear system — rear leg, rear-leg blend, and rear-root blend —
accounted for −0.494 N of the −0.719 N one-to-two-revolution thrust change,
68.7% of the loss (§6.6). A causal microbatch (incidence split and loop height
only) improved the rear system without abandoning the smooth tip, supplying a
mechanism, not a victory.</p>
<h3 id="56-subsumption-turning-point-6">5.6 Subsumption (turning point 6)</h3>
<p>By this point the original aerodynamic agent had again drifted toward
fine-grained diagnostic work while the user expected candidate throughput. The
user posed the collaboration question directly: <em>should we kill it, or subsume
it?</em> The answer executed at commit <code>cd4dc23</code> was subsumption: freeze the
original branch at a clean checkpoint, leave no solver running, preserve every
protocol, hash, failure record, and runner — and continue with a new operator
and an explicit throughput objective. The original agent&rsquo;s strict artifacts
made the takeover possible; its execution strategy made the takeover
necessary. Both halves of that sentence belong in the record.</p>
<h3 id="57-throughput-changes-the-search-turning-point-7">5.7 Throughput changes the search (turning point 7)</h3>
<p>The takeover ran 24 broad exact-DUST geometries with zero solver failures
(<code>1255fab</code>). The one-revolution leader hit 2.554 N — 89.3% of the control —
and immediately taught the next lesson: at two revolutions it fell to 1.59 N.
A local factorial&rsquo;s two-revolution leader (1.7302 N) likewise fell to 1.4346 N
at four. Short-wake ranking reverses (§6.7); promotion duration is part of the
optimizer. Batches then became mechanism-directed — wake diversity (TR-05J),
pitch×incidence crossover (TR-05K, <code>1142f1a</code>), load extension (TR-05L), and a
solidity/retention factorial (TR-05M) — producing the pre-airfoil mature-wake
baseline: 2.2952 N at revolution four, wake gate closed (§6.8).</p>
<h3 id="58-the-literature-challenges-the-leader-turning-point-8">5.8 The literature challenges the leader (turning point 8)</h3>
<p>The research spike (<code>e0299e2</code>) did not reopen the topology question — the user
had explicitly kept the smooth closed tips — but it audited the leader&rsquo;s
physics and found the optimizer exploiting the model: zero of 48 lifting
stations inside the attached-flow proxy domain, lifting thickness ratios of
27–54%, the curved tip transition carrying ~50% of reported load, and the rear
leg nearly unloaded. It also performed the MIT correction (§2.1) and
formalized the design-by-role model of §3.2. The high-pitch leader was
retained <em>as evidence</em> but demoted as a physical design center. Proposed
two-loop reseeds with wider sections improved plausibility on paper but were
not carried through the final ladder — they remain hypotheses (§10), and this
report does not claim them as results.</p>
<h3 id="59-bounded-airfoil-work-turning-point-9">5.9 Bounded airfoil work (turning point 9)</h3>
<p>At Re 20,000–40,000 the program froze a NACA-like control grid over camber,
camber position, and thickness; screened it (TR-06D); correlated a bounded
subset through pinned XFOIL (TR-06E, <code>045b263</code>); and kept manufacturability —
physical minimum thickness, trailing-edge printability, leading-edge radius —
inside the airfoil definition (TR-06G). SU2&rsquo;s independent viscous check
remained blocked (<code>eb414c9</code>), so XFOIL trends were never promoted to rotor
truth. A 6%-camber, 40%-position, 16%-thickness direction led; two local
camber batches (TR-06H v1/v2) returned the same leader with zero robust-score
improvement, firing the section stop rule (<code>e068fda</code>, <code>a71f4f8</code>). Only the
<em>direction</em> — more camber within the tested neighborhood — transferred to the
rotor.</p>
<h3 id="510-improvement-strikes-and-stop-turning-points-1011">5.10 Improvement, strikes, and stop (turning points 10–11)</h3>
<p>TR-06I froze a complete 2×2×2 factorial (camber direction × 7.00/7.25 in pitch
× −7/−8° incidence split), completed all eight screens, and promoted two
candidates under the preauthored rule. The short-wake order reversed at four
revolutions, and <code>factor-101-s3-pi7-risdm8</code> won: 2.4414 N, +6.37% over
TR-05M, with +14.92% resolved shaft power and the wake gate still closed
(§6.10, <code>cc69eba</code>). TR-06J (lower camber/pitch, more split) returned the
unchanged anchor as leader — 0% improvement, strike one (<code>8d0b1e8</code>). TR-06K
(bounded solidity reductions) completed six of eight screens, kept two
non-finite outcomes as explicit failures, promoted only the anchor, reproduced
2.441372 N exactly in a third independent batch directory — 0%, strike two —
and the preregistered rule fired (<code>97a15e2</code>, §6.11). Stopping was the planned
outcome of a frozen rule, not a judgment call made after seeing results.</p>
<h3 id="511-honest-integration-and-consolidation-turning-point-12">5.11 Honest integration and consolidation (turning point 12)</h3>
<p>Commit <code>41bc4e9</code> integrated the exact retained rotor into Studio showing its
2.4414 N result, 85.3% control fraction, and <strong>failed</strong> wake status — the
authoritative integration, superseding an earlier parallel-task integration
that had exposed pre-TR-06 candidates. Commit <code>b508f68</code> consolidated the
divergent rotor histories with a history-only merge, leaving the dirty
monorepo <code>main</code> untouched. A supplementary research task on wake spin-up
(6–8 + 2–3 revolutions as common practice for ordinary propellers) was
recorded as context strengthening the four-revolution limitation, not as a
retroactive rule.</p>
<p>After the handoff kit was frozen, three post-kit evidence events completed the
record at this branch state: a fail-closed manufacturing-qualification surface
(<code>149768e</code>, <code>1e7671f</code>); the TR-05 qualification disposition (<code>1f092aa</code>,
<code>c881754</code>) that consolidated the retained candidate&rsquo;s evidence gap into one
frozen report (§6.12); and a rejected steady-solver pilot on the disposition&rsquo;s
selected query (<code>58cae16</code>, <code>5a7e337</code>), which kept the independent viscous lane
explicitly closed. The first-print critical path
(<code>docs/rotor-first-print-critical-path.md</code>)
froze this candidate as the sole article entering TR-09/#64 — an inert,
inspected development print, with proof-spin, dynamometer, and flight
explicitly out of its scope and no further local geometry optimization on the
path.</p>
<h3 id="512-chronology-summary">5.12 Chronology summary</h3>
<table>
  <thead>
      <tr>
          <th>Phase</th>
          <th>Date (2026)</th>
          <th>Consequence</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Product and geometry foundation</td>
          <td>Aug 1</td>
          <td>exact feasible geometry carrier; no lift evidence</td>
      </tr>
      <tr>
          <td>Aerodynamic reality check</td>
          <td>Aug 1–2</td>
          <td>5/71 baseline coverage; claims impossible; failure frozen as baseline</td>
      </tr>
      <tr>
          <td>Sectional-CFD detour</td>
          <td>Aug 2</td>
          <td>0 admitted cells; 12.6–26.1 serial days implied; redirected by user</td>
      </tr>
      <tr>
          <td>Optimization pivot and toolchain</td>
          <td>Aug 2</td>
          <td>headless toolchain; DOE; commercial bar fixed at 2.8613 N</td>
      </tr>
      <tr>
          <td>Exact DUST and wake reversal</td>
          <td>Aug 2</td>
          <td>4.089 N rejected; rear-system loss localized (68.7%)</td>
      </tr>
      <tr>
          <td>Takeover and broad search</td>
          <td>Aug 2</td>
          <td>24/24 broad batch; short/long-wake reversals established</td>
      </tr>
      <tr>
          <td>TR-05J–M</td>
          <td>Aug 2</td>
          <td>mature-wake baseline 2.2952 N, gate closed</td>
      </tr>
      <tr>
          <td>Physics and airfoil reset</td>
          <td>Aug 2–3</td>
          <td>model-exploitation exposed; 6%-camber direction retained; section stop rule fired</td>
      </tr>
      <tr>
          <td>TR-06I improvement</td>
          <td>Aug 3</td>
          <td>2.4414 N (+6.37% thrust, +14.92% power), gate closed</td>
      </tr>
      <tr>
          <td>TR-06J/K stop</td>
          <td>Aug 3</td>
          <td>two 0% batches; two-strike rule fired</td>
      </tr>
      <tr>
          <td>Integration and consolidation</td>
          <td>Aug 3</td>
          <td>Studio shows result with wake failure; histories consolidated</td>
      </tr>
      <tr>
          <td>Post-kit qualification record</td>
          <td>Aug 2–3 (local)</td>
          <td>disposition frozen; steady pilot rejected; first-print path defined, print/flight locked</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="6-results">6. Results</h2>
<p>Results are presented in the order the evidence matured, not in
descending-thrust order. Every subsection names its frozen source; every
population states its denominator; every thrust number carries its wake window
and gate status. The whole-program checkpoint ledger is the connective tissue:</p>
<p><img src="PERFORMANCE.svg" alt="Whole-program rotor performance ledger"></p>
<p><em>Figure 3 — the generated performance ledger
(<code>sim/rotor-progress/PERFORMANCE.svg</code>),
from the 39-checkpoint immutable ledger. Points differ in fidelity and wake
duration; the figure encodes evidence level and status rather than implying
one homogeneous time series. The dashed line is the 2.8613 N measured HQProp
target.</em></p>
<h3 id="61-geometry-feasibility">6.1 Geometry feasibility</h3>
<p>The exact three-loop smooth-tip family is feasible and deterministic: positive
section area and consistent winding at every station, bounded frame rotation,
finite sweep Jacobian, hub burial without bore or face escape, and audited
minimum station thickness (1.284 mm for the retained design). Repeated
generation is bit-identical, and identity hashing is stable across the engine
and Studio serializations. This rung was earned through the failures of §5.1 —
the invalid root and tip lofts are cataloged in §7 (F-01, F-02).</p>
<h3 id="62-conventional-low-order-model-failure">6.2 Conventional low-order model failure</h3>
<p>The signed low-order model, judged against the frozen conventional held-out
corpus with preregistered acceptance budgets
(<code>sim/aero-validation/tr-05a-v2/protocol.json</code>):</p>
<table>
  <thead>
      <tr>
          <th>Population</th>
          <th style="text-align: right">Valid / eligible</th>
          <th style="text-align: right">Explicit failures</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Former diagnostic corpus — corrected baseline</td>
          <td style="text-align: right">5 / 71</td>
          <td style="text-align: right">66</td>
      </tr>
      <tr>
          <td>Former diagnostic corpus — bounded Snel/Liu candidate</td>
          <td style="text-align: right">6 / 71</td>
          <td style="text-align: right">65</td>
      </tr>
      <tr>
          <td>Former diagnostic static rows — all candidates</td>
          <td style="text-align: right">0 / 13</td>
          <td style="text-align: right">13</td>
      </tr>
  </tbody>
</table>
<p>On the rows that did resolve, error dwarfed every budget: CT median |relative
error| 43.7% against a 10% budget, CT p95 75.1% against 15%, CQ median 32.3%
against 15%, CQ p95 52.1% against 20%. <strong>No conventional model was ever
frozen</strong>, and the one-shot holdout remains unopened and unspent.</p>
<p><img src="fig-conventional-model.svg" alt="Conventional model vs frozen budgets"></p>
<p><em>Figure 4 — coverage and error versus frozen budgets. Source: ledger
checkpoint <code>tr05a-published-corrections</code> and the TR-05A-v2 protocol.</em></p>
<p>The earliest state resolved only 1 of 71 rows; the table above is the <em>best
corrected</em> coverage after QPROP/circulation fixes and bounded published
rotational corrections. The conclusion was structural: no rotor-level
correction could substitute for missing low-Re transition, separation, and
stall physics, which is what motivated both the sectional-CFD campaign (§6.3)
and, ultimately, the move to exact-geometry DUST (§6.5).</p>
<h3 id="63-sectional-cfd-cost-and-disposition">6.3 Sectional-CFD cost and disposition</h3>
<p>The preregistered SU2 sectional ladder
(<code>sim/aero-validation/tr-05a1-sectional-cfd/condition-plan.json</code>)
froze 3,600 qualification cells — 2 sections × 2 flow models × 9 Reynolds
numbers × 4 Mach numbers × 25 angles of attack; operating-condition
qualifications, not mesh elements. Executed: two pilots. Admitted
coefficients: zero.</p>
<ul>
<li>The first full steady pilot <strong>diverged</strong> at inner iteration 8,859
(303.5 s wall time).</li>
<li>An HLLC damped-ramp candidate ran its full 20,000-iteration budget
(626.3 s) and failed every residual and force-stationarity gate — recorded
as &ldquo;URANS required, not admitted.&rdquo;</li>
</ul>
<p>Multiplying the frozen cell count by the two measured wall times bounds the
serial campaign at <strong>12.6 to 26.1 days</strong> — before medium meshes, transition
models, or URANS. This derived bound, computed entirely from frozen data, is
what the steering intervention of §5.3 acted on.</p>
<p><img src="fig-sectional-cfd-cost.svg" alt="Sectional-CFD planned cost vs execution"></p>
<p><em>Figure 5 — the 3,600-cell plan, the two pilots actually run, and the derived
serial-cost bound.</em></p>
<h3 id="64-first-doe-internal-signal-dominated-by-uncertainty">6.4 First DOE: internal signal, dominated by uncertainty</h3>
<p>The first 25-geometry deterministic space-filling batch under the low-order
model showed a real internal signal: <code>lhs-01</code> raised resolved hover-high
thrust from the baseline&rsquo;s 0.114–0.177 N to roughly 0.521–0.811 N (~4.6× the
resolved baseline), and <code>lhs-16</code> improved the conservative bound from
−1.529 N to −0.615 N. But 23 of 24 valid candidates were non-dominated —
uncertainty and unresolved turnover/interference loads overwhelmed ranking —
and none was aerodynamically qualified. Against the measured control, even
<code>lhs-01</code> reached only 18–28% of 2.8613 N. The &ldquo;4.6× better than baseline&rdquo;
framing was retired in favor of the commercial bar (§5.4).</p>
<h3 id="65-the-cold-start-result-and-the-wake-ladder">6.5 The cold-start result and the wake ladder</h3>
<p>Exact-geometry DUST integration (nanometer mapping error, bit-identical
reruns) produced a first-instant load of <strong>4.089 N</strong> — ~143% of the control
bar, and bit-identical across two runs. The preregistered wake-duration ladder
then measured trailing-mean thrust as the wake developed:</p>
<table>
  <thead>
      <tr>
          <th>Wake duration</th>
          <th style="text-align: right">Trailing-mean thrust</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>first instant (t ≈ 0)</td>
          <td style="text-align: right">4.089 N</td>
      </tr>
      <tr>
          <td>0.24 revolution</td>
          <td style="text-align: right">3.728 N</td>
      </tr>
      <tr>
          <td>0.50 revolution</td>
          <td style="text-align: right">2.988 N</td>
      </tr>
      <tr>
          <td>1.00 revolution</td>
          <td style="text-align: right">2.008 N</td>
      </tr>
      <tr>
          <td>2.00 revolutions</td>
          <td style="text-align: right">1.178 N</td>
      </tr>
  </tbody>
</table>
<p>Every longer window is lower; the two-revolution stage is explicitly flagged
unstable; all five values were rejected as thrust evidence. The 4.089 N number
appears in this report only as a rejected cold-start transient.</p>
<p><img src="fig-wake-decay.svg" alt="Cold-start wake decay ladder"></p>
<p><em>Figure 6 — the wake ladder that killed the apparent breakthrough. Sources:
TR-05D repeatability report, TR-05E wake report.</em></p>
<h3 id="66-rear-system-diagnosis">6.6 Rear-system diagnosis</h3>
<p>Phase-registered segment loads (TR-05F v2 — a first, phase-misregistered probe
set was rejected; §7, F-09) decomposed the one-to-two-revolution thrust change
of −0.7187 N. The rear system — rear-root blend (−0.242 N), rear leg
(−0.157 N), and rear-leg-to-rear-root blend (−0.094 N) — contributed
<strong>−0.4936 N, 68.7% of the total loss</strong>. (A live chat figure of &ldquo;−0.399 N,
~56%&rdquo; was a partial two-segment sum; the frozen report&rsquo;s three-segment
definition is authoritative.) A causal microbatch varying only incidence split
and loop height around the retained control (best: ≈ −4°, 6 mm, 2.064 N vs
2.008 N at one revolution) confirmed the mechanism was steerable without
abandoning the closed tip.</p>
<p><img src="fig-segment-loads.svg" alt="Segment-load diagnosis"></p>
<p><em>Figure 7 — where the wake-development loss concentrates. All segments share
one signed-load definition; red marks the rear system. Source: TR-05F v2
diagnosis block.</em></p>
<h3 id="67-broad-search-and-the-reversal-lesson">6.7 Broad search and the reversal lesson</h3>
<p>The 24-geometry broad batch (TR-05H) completed 24/24 with zero failures. Its
one-revolution leader <code>directed-02-high-pitch</code> reached 2.554 N — and fell to
1.594 N at two revolutions. The subsequent local factorial&rsquo;s (TR-05I)
two-revolution leader 1.7302 N fell to 1.4346 N at four. These reversals are
why every later batch separates screening windows from frozen four-revolution
promotion, and why no screen number in this report is a performance claim.</p>
<h3 id="68-tr-05jm-the-mechanism-directed-ladder-to-the-pre-airfoil-baseline">6.8 TR-05J–M: the mechanism-directed ladder to the pre-airfoil baseline</h3>
<table>
  <thead>
      <tr>
          <th>Batch</th>
          <th>Screen window</th>
          <th>Population (completed / eligible, failures)</th>
          <th>Screen leader</th>
          <th style="text-align: right">Screen thrust</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>TR-05H broad</td>
          <td>1-rev trailing mean</td>
          <td>24/24, 0</td>
          <td><code>directed-02-high-pitch</code></td>
          <td style="text-align: right">2.554 N</td>
      </tr>
      <tr>
          <td>TR-05I local factorial</td>
          <td>1-rev trailing mean</td>
          <td>8/8, 0</td>
          <td><code>local-p4p0-split-neg7-h7</code></td>
          <td style="text-align: right">2.708 N</td>
      </tr>
      <tr>
          <td>TR-05J wake diversity</td>
          <td>2-rev mean</td>
          <td>8/8, 0</td>
          <td><code>space-10</code></td>
          <td style="text-align: right">1.684 N</td>
      </tr>
      <tr>
          <td>TR-05K crossover ladder</td>
          <td>2-rev mean</td>
          <td>8/8, 0</td>
          <td><code>crossover-p5p4-split-neg7</code></td>
          <td style="text-align: right">2.297 N</td>
      </tr>
      <tr>
          <td>TR-05L load extension</td>
          <td>2-rev mean</td>
          <td>8/8, 0</td>
          <td><code>load-p7p0-front135</code></td>
          <td style="text-align: right">2.660 N</td>
      </tr>
      <tr>
          <td>TR-05M retention factorial</td>
          <td>2-rev mean</td>
          <td>6/8, <strong>2 explicit failures</strong></td>
          <td><code>retain-rear80-root65-tip70</code></td>
          <td style="text-align: right">2.694 N</td>
      </tr>
  </tbody>
</table>
<p><img src="fig-batch-populations.svg" alt="Batch populations and explicit failures"></p>
<p><em>Figure 8 — screening populations per frozen batch protocol. Non-finite solver
outcomes stay in the denominator (TR-05M: 2, TR-06K: 2); no batch drops a
case.</em></p>
<p>TR-05M&rsquo;s frozen four-revolution promotion produced the pre-airfoil mature-wake
baseline: <strong>2.2952 N</strong> mean thrust, 81.827 W resolved shaft power, 85.19%
fourth/second retention, 80.22% of the control target — wake gate closed.</p>
<p><img src="fig-batch-best-thrust.svg" alt="Best-in-batch thrust by wake horizon"></p>
<p><em>Figure 9 — batch leaders at their own frozen windows. Panels are deliberately
disconnected: shorter horizons systematically overstate thrust, so no line
connects values across windows, and only the four-revolution panel is a
comparable series.</em></p>
<h3 id="69-airfoil-screen-and-the-blocked-independent-check">6.9 Airfoil screen and the blocked independent check</h3>
<p>Within the bounded manufacturable XFOIL lane (frozen NACA-like grid over
camber, camber position, thickness; pinned XFOIL; physical thickness and
trailing-edge bounds inside the objective), a 6%-camber, 40%-position,
16%-thickness direction led. Two local camber batches returned the same
full-coverage leader with zero robust-score improvement — the section stop
rule fired. SU2&rsquo;s independent viscous confirmation remained blocked by
numerical/mesh divergence, so <strong>no XFOIL trend was promoted to rotor truth</strong>;
only the camber direction transferred. Committed per-batch charts:
TR-06D (<code>sim/toroidal-research/tr-06d-naca-control-screen-v1/performance.svg</code>),
TR-06E (<code>sim/toroidal-research/tr-06e-xfoil-correlation-v2/performance.svg</code>),
TR-06F (<code>sim/toroidal-research/tr-06f-su2-directional-v2/performance.svg</code>)
(negative evidence),
TR-06G (<code>sim/toroidal-research/tr-06g-manufacturable-xfoil-v1/performance.svg</code>),
TR-06H v1 (<code>sim/toroidal-research/tr-06h-local-camber-xfoil-v1/performance.svg</code>)/<code>sim/toroidal-research/tr-06h-local-camber-xfoil-v2/performance.svg</code>.</p>
<h3 id="610-tr-06i-the-retained-improvement-and-its-cost">6.10 TR-06I: the retained improvement and its cost</h3>
<p>TR-06I crossed the camber direction with pitch (7.00/7.25 in) and incidence
split (−7/−8°) in a complete 2×2×2 factorial: 8/8 screens completed, two
promotions under the preauthored rule. The two-revolution screen leader was
<code>factor-011-s3-pi7p25-risdm7</code> (2.948 N); at four revolutions the order
reversed and <code>factor-101-s3-pi7-risdm8</code> won, 2.441 N to 2.428 N.</p>
<p><img src="fig-rank-reversal.svg" alt="Short-wake vs mature-wake rank reversal"></p>
<p><em>Figure 10 — the promotion-window reversal inside TR-06I. The screen leader
is not the mature-wake winner; promotion requires four revolutions.</em></p>
<p>Against the TR-05M baseline at the same frozen four-revolution window:</p>
<table>
  <thead>
      <tr>
          <th>Metric</th>
          <th style="text-align: right">TR-05M leader</th>
          <th style="text-align: right">Retained (TR-06I)</th>
          <th style="text-align: right">Change</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Fourth-revolution mean thrust</td>
          <td style="text-align: right">2.2952 N</td>
          <td style="text-align: right">2.4414 N</td>
          <td style="text-align: right"><strong>+6.37%</strong></td>
      </tr>
      <tr>
          <td>Resolved shaft power</td>
          <td style="text-align: right">81.83 W</td>
          <td style="text-align: right">94.03 W</td>
          <td style="text-align: right"><strong>+14.92%</strong></td>
      </tr>
      <tr>
          <td>Thrust per shaft power</td>
          <td style="text-align: right">0.02805 N/W</td>
          <td style="text-align: right">0.02596 N/W</td>
          <td style="text-align: right"><strong>−7.44%</strong></td>
      </tr>
      <tr>
          <td>Rev-4 / rev-2 retention</td>
          <td style="text-align: right">85.19%</td>
          <td style="text-align: right">84.66%</td>
          <td style="text-align: right">−0.53 pt</td>
      </tr>
      <tr>
          <td>Ratio to measured HQProp target</td>
          <td style="text-align: right">80.22%</td>
          <td style="text-align: right">85.32%</td>
          <td style="text-align: right">+5.10 pt</td>
      </tr>
      <tr>
          <td>Full wake gate</td>
          <td style="text-align: right">closed</td>
          <td style="text-align: right">closed</td>
          <td style="text-align: right">not fixed</td>
      </tr>
  </tbody>
</table>
<p><img src="fig-tradeoff.svg" alt="TR-05M to retained tradeoff"></p>
<p><em>Figure 11 — the whole tradeoff. A reproducible raw mature-wake thrust gain
bought with disproportionate resolved shaft power — not an efficiency,
commercial, acoustic, structural, or bench-qualified result.</em></p>
<h3 id="611-tr-06jk-diminishing-returns-and-the-stop">6.11 TR-06J/K: diminishing returns and the stop</h3>
<p>TR-06J (8/8 screens) and TR-06K (6/8 screens, 2 explicit non-finite failures)
each promoted only the unchanged anchor, which reproduced
<strong>2.441372086606152 N and 94.032 W exactly</strong> in the second and third
independent batch directories. Improvement: 0% and 0%. Constraint fixes: none.
The preregistered rule — two consecutive frozen batches under 2% mature-wake
improvement with no constraint fix — fired, ending local rotor tuning.</p>
<p><img src="fig-stop-rule.svg" alt="The preregistered stop rule firing"></p>
<p><em>Figure 12 — TR-06I&rsquo;s 6.37% gain followed by two 0% strikes. Stopping was the
planned outcome of the rule, not a judgment call made after seeing results.</em></p>
<p>One design, three aliases: the anchor appears as <code>factor-101-s3-pi7-risdm8</code>
(TR-06I), <code>factor-000-s3-pi7-risdm8</code> (TR-06J), and
<code>factor-000-tcs0p65-bcs0p7-cs0p8</code> (TR-06K). The identical geometry and mesh
hashes prove these are the same prop, not three winners; every figure and
count in this report deduplicates by geometry identity.</p>
<h3 id="612-the-retained-candidate-and-its-evidence-gap">6.12 The retained candidate and its evidence gap</h3>
<p>The retained rotor — <code>factor-101-s3-pi7-risdm8</code>, geometry
<code>558d516626af9df2391f2d898e7757d81d5844b91dde44ad31b064ebcbbc3e92</code>, mesh
<code>827864e4102912583727575a06cfeb2b0b8e084082c3976e4c8a18a0c7d7a5b3</code> — is a
7-inch-pitch, −8° incidence-split, 6%-camber closed-tip design (full variable
table in Appendix A). Its qualification standing, consolidated in the frozen
TR-05 disposition report
(<code>sim/toroidal-optimization/tr-05-qualification-disposition-v1/README.md</code>):</p>
<ul>
<li><strong>Mature-wake gate: failed</strong>, with a richer structure than a single number.
Thrust passes relative peak-to-peak (1.59% ≤ 3%) and slope (0.31%/rev ≤ 3%)
but fails mean-drift (4.93% &gt; 2%); shaft torque fails all three criteria
(3.23%, 3.19%/rev, 5.88%). The fourth-revolution window is locally flat and
still not mature — exactly the failure mode §4.5&rsquo;s policy was designed to
catch.</li>
<li><strong>Operating envelope: 1 of 22 authored cells executed.</strong> The envelope is 11
measured motor RPM coordinates × {static, 5 m/s axial}; only the exact
24,486 RPM static cell has run. The other 21 are explicit unresolved entries
with null loads — the report never interpolates or scales the one result.</li>
<li><strong>Aircraft coupling: central estimate only.</strong> The frozen Studio build is
184.62 g AUW, needing 0.4526 N per rotor to hover. The DUST central estimate
crosses hover and the 1.3/2.0 thrust-to-weight edges, but every conservative
bound is null because wake, viscous, surface, current, and thermal
uncertainty is unbounded.</li>
<li><strong>Independent viscous evidence: rejected.</strong> The disposition selected one
bounded, decision-relevant sectional query — the extreme rear-leg cell
(~51% thickness ratio, 35° incidence, Re ≈ 16k, outside the validated
sectional regime). Its pinned incompressible laminar steady pilot ran all
4,000 iterations with a clean process exit and failed <strong>every</strong> residual
(0/3) and force-stationarity (0/3) gate; no coefficient was admitted. The
bounded next numerical experiment is a transition-aware URANS configuration
— an experiment, not an authorization to tune the failed steady model.</li>
<li><strong>Powertrain and mount: open.</strong> Motor torque-speed equilibrium, current, and
thermal coupling are not established; the 5 mm mount-hole spacing is an
authored value with no measured counterpart.</li>
<li><strong>Print and flight: locked.</strong> <code>printOrFlightUnlockAllowed</code> is false; final
disposition <code>unresolved-do-not-close-tr05</code>.</li>
</ul>
<p><img src="fig-evidence-gap.svg" alt="Final evidence gap of the retained candidate"></p>
<p><em>Figure 13 — the qualification matrix. Nothing on this chart authorizes
printing, spinning, or flying the retained rotor.</em></p>
<p>The first-print critical path
(<code>docs/rotor-first-print-critical-path.md</code>)
freezes this candidate as the sole article entering TR-09/#64 — one sliced,
printed, conditioned, and <em>inspected inert development article</em>, explicitly
not balanced, proof-spun, dynamometer-qualified, or flight-cleared — and
places no further local geometry optimization on the path.</p>
<hr>
<h2 id="7-failures-and-course-corrections">7. Failures and course corrections</h2>
<p>This section has equal status with §6. Each entry records the observed
symptom, the root cause, the corrective action, and — the field most often
missing from engineering retrospectives — what evidence remained inadmissible
afterward.</p>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Observed symptom</th>
          <th>Root cause</th>
          <th>Corrective action</th>
          <th>What stayed inadmissible</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>F-01</td>
          <td>Root loft joined leading edge to trailing edge, collapsed through an hourglass, reversed winding</td>
          <td>tip-oriented ellipse perimeter indexing mismatched neighboring NACA rings; tests encoded the same wrong assumption</td>
          <td>correspondence-aware root blend; winding/area gates</td>
          <td>all pre-fix root geometry</td>
      </tr>
      <tr>
          <td>F-02</td>
          <td>Turnover folded through itself; signed section area fell 2.50 → 0.059 mm² and changed sign</td>
          <td>forced −90° keyframe and keyframed point-loft; renderer faithfully drew invalid surfaces</td>
          <td>finite-radius fair sweep with transported frames, continuous chord/twist laws, fairness/inversion gates (<code>13397c5</code>, <code>0b8dc42</code>)</td>
          <td>all keyframed-tip geometry and its renders</td>
      </tr>
      <tr>
          <td>F-03</td>
          <td>&ldquo;Fixed&rdquo; geometry appeared unfixed in review</td>
          <td>stale <code>next start</code> production build serving old code</td>
          <td>rebuilds, triangle counts, geometry contracts, exact URLs — build identity required for visual review</td>
          <td>any visual approval without a known build identity</td>
      </tr>
      <tr>
          <td>F-04</td>
          <td>Visual/structural polish accumulating with no lift evidence</td>
          <td>product momentum; plausible render mistaken for progress</td>
          <td>user reset (&ldquo;does it generate lift?&rdquo;); critical path flipped to validation (§5.2)</td>
          <td>every performance implication of the pre-validation artifact</td>
      </tr>
      <tr>
          <td>F-05</td>
          <td>Holdout data encrypted with no threat model</td>
          <td>over-engineered blindness protocol</td>
          <td>encryption removed after user objection (<code>19d1f0d</code>); one-shot output blindness retained</td>
          <td>none — the <em>protocol</em> survived, minus the theater</td>
      </tr>
      <tr>
          <td>F-06</td>
          <td>1/71 initial held-out rows resolved; best corrected 6/71, 0/13 static; CT median error 43.7% vs 10% budget</td>
          <td>missing low-Re transition/separation/stall section physics; no rotor-level correction can substitute</td>
          <td>failure frozen as the baseline checkpoint (<code>29194ce</code>); sectional evidence made the next objective</td>
          <td>every low-order toroidal performance claim, permanently</td>
      </tr>
      <tr>
          <td>F-07</td>
          <td>Mesh bytes differed between macOS and Linux CI</td>
          <td>non-deterministic cross-runtime serialization</td>
          <td>versioned canonical mesh-byte contract with dual-platform proof (<code>bc358ef</code>); reviewer BLOCK held until proven</td>
          <td>the numerical checkpoint, until the contract existed</td>
      </tr>
      <tr>
          <td>F-08</td>
          <td>Sectional-CFD pilots: divergence at iteration 8,859; nonstationarity through 20,000 iterations; 3,600-cell plan implying 12.6–26.1 serial days</td>
          <td>steady formulations inadequate for the regime; exhaustive-atlas strategy misaligned with the objective</td>
          <td>campaign stopped by user steering; CFD demoted to targeted acquisition (§5.3)</td>
          <td>all 3,600 planned coefficients — zero were ever admitted</td>
      </tr>
      <tr>
          <td>F-09</td>
          <td>First turnover flow probes told an incoherent story</td>
          <td>phase misregistration between compared runs</td>
          <td>probes explicitly rejected; phase-registered v2 rerun (§6.6)</td>
          <td>the v1 probe set</td>
      </tr>
      <tr>
          <td>F-10</td>
          <td>4.089 N — apparently 143% of the commercial bar — repeatable bit-for-bit</td>
          <td>cold-start impulsive transient; repeatability ≠ validity</td>
          <td>preregistered wake ladder (§6.5); result rejected (<code>b1e6194</code>)</td>
          <td>the 4.089 N figure and all sub-2-revolution thrust as evidence</td>
      </tr>
      <tr>
          <td>F-11</td>
          <td>Restart-equivalence ambiguity in wake continuation</td>
          <td>unclear history-window semantics across restarts</td>
          <td>uninterrupted four-revolution promotions; restart results quarantined</td>
          <td>mixed restart/continuous comparisons</td>
      </tr>
      <tr>
          <td>F-12</td>
          <td>Short-wake leaders reversing at longer windows (2.554 → 1.594 N; 1.730 → 1.435 N; TR-06I screen leader losing at rev 4)</td>
          <td>startup loading rewards high-cold-loading designs</td>
          <td>frozen screen/promotion split; four-revolution promotion mandatory (§6.7, Figure 10)</td>
          <td>every cross-window ranking</td>
      </tr>
      <tr>
          <td>F-13</td>
          <td>Optimizer&rsquo;s favorite geometry exploiting the model: 0/48 stations in the attached-flow proxy domain, bridge carrying ~50% of load</td>
          <td>inviscid panels reward curved-bridge loading no section evidence supports</td>
          <td>literature/physics reset; design-by-role model; camber work moved to bounded manufacturable lane (§5.8)</td>
          <td>the 7-inch bridge-loaded leader as a <em>physical</em> design center</td>
      </tr>
      <tr>
          <td>F-14</td>
          <td>SU2 independent section confirmation blocked; later steady pilot 0/3 residual, 0/3 force gates</td>
          <td>numerical/mesh divergence in the viscous lane at this regime</td>
          <td>negative results retained; bounded URANS named as next experiment — not run</td>
          <td>independent viscous validation, still absent</td>
      </tr>
      <tr>
          <td>F-15</td>
          <td>Two non-finite integral-load outcomes in TR-05M; two more in TR-06K</td>
          <td>solver non-finite outcomes on aggressive candidates</td>
          <td>retained as explicit failures in the denominator (Figure 8)</td>
          <td>those four candidates</td>
      </tr>
      <tr>
          <td>F-16</td>
          <td>Zero improvement in TR-06J and TR-06K</td>
          <td>local parameterization exhausted at current fidelity</td>
          <td>preregistered two-strike stop rule fired (§6.11)</td>
          <td>continuation of local tuning as a productive activity</td>
      </tr>
      <tr>
          <td>F-17</td>
          <td>No acoustic, structural, proof-spin, bench, or flight evidence of any kind</td>
          <td>never attempted — correctly sequenced behind qualification</td>
          <td>first-print critical path defined; print/flight locked</td>
          <td>every quietness, robustness, and flightworthiness claim</td>
      </tr>
  </tbody>
</table>
<p>Three of these failures — F-06, F-08, and F-10 — each redirected the program.
None was hidden, and every one left a frozen artifact. That is the practical
meaning of &ldquo;fail-closed&rdquo;: the failures are load-bearing parts of the record,
not exceptions to it.</p>
<hr>
<h2 id="8-discussion">8. Discussion</h2>
<h3 id="81-the-physical-signal-that-is-probably-real">8.1 The physical signal that is probably real</h3>
<p>Two findings survive every caveat in this report as <em>mechanisms</em> (within the
inviscid model). First, the rear system dominates wake-development loss —
68.7% of the one-to-two-revolution thrust change (§6.6) — which independently
echoes published joined-tip and front/rear-interference results (§2.1).
Second, that loss is steerable: incidence split, loop height, and the
transferred camber direction each moved it, and the retained design&rsquo;s gain
came with near-complete removal of negative rear-segment loading. Front/rear
interaction management, not tip closure per se, is where this geometry&rsquo;s
aerodynamic leverage lives.</p>
<h3 id="82-the-cost-stated-plainly">8.2 The cost, stated plainly</h3>
<p>The retained improvement is a raw thrust gain, not an efficiency gain: +6.37%
thrust for +14.92% resolved shaft power is −7.44% thrust per shaft watt inside
the same model. More pitch, camber, and loading bought thrust faster than the
wake could pay for it. Any future claim of <em>efficiency</em> must come from a
different design direction or a different fidelity — the current one moved the
wrong ratio.</p>
<h3 id="83-the-bridge-problem">8.3 The bridge problem</h3>
<p>The curved tip-bridge is the geometry&rsquo;s signature and its epistemic weak
point. DUST&rsquo;s mean-camber panels will happily load it; no section evidence
validates that loading; and §5.8 showed an optimizer left alone will migrate
load onto exactly the surface the evidence covers least. The design-by-role
discipline — treat the bridge as a structural/acoustic connector with modest
net load until three-dimensional viscous evidence says otherwise — is the
correct posture, and it is a <em>choice to forgo</em> apparent (possibly fictitious)
performance.</p>
<h3 id="84-against-the-mit-mechanisms-carefully">8.4 Against the MIT mechanisms, carefully</h3>
<p>MIT Lincoln Laboratory&rsquo;s materials hypothesize closed-tip stiffness, reduced
tip-vortex contribution, and favorable thrust-at-a-given-sound in selected
examples. This program neither reproduced nor refuted any of those claims: it
has no acoustic data, no structural test, and an inviscid wake model. What it
adds to the public conversation is narrower and still useful: at 88.9 mm and
Re ≈ 20–40k, an exact closed-tip geometry can be brought within 85% of a
measured commercial thrust bar <em>inside a free-wake model</em>, with the rear
system identified as the binding aerodynamic constraint. Whether the
hypothesized robustness and acoustic benefits justify the remaining thrust and
power gap is precisely the question the physical test program (§10) exists to
answer — and closed tips remain worth pursuing for those reasons even while
the current thrust result trails the control.</p>
<h3 id="85-the-methodology-is-the-transferable-result">8.5 The methodology is the transferable result</h3>
<p>The program&rsquo;s most reusable artifact is the evidence-controlled optimization
loop of §4.4–§4.6: freeze before looking; keep failures in denominators; give
everything an exact identity; separate screening from promotion; pair every
thrust with power and wake status; make stopping a preregistered rule; and
treat agents as replaceable operators whose authority is always narrower than
the ledger. Twice the program generated a result exciting enough to end less
disciplined projects in celebration — 4.089 N, then the 2.948 N screen leader
— and twice the machinery demoted it correctly. Once it generated a result
boring enough to end less disciplined projects in abandonment — two 0%
batches — and the machinery converted that into a reproducible, citable
stopping decision. &ldquo;Best tested toroidal hypothesis&rdquo; and &ldquo;best propeller&rdquo; are
different titles; the system never confused them.</p>
<h3 id="86-on-human-agent-collaboration">8.6 On human-agent collaboration</h3>
<p>Every turning point in §5 pairs an agent capability with a human judgment:
agents supplied throughput, auditability, and tireless bookkeeping; the user
supplied objective corrections that no amount of local rigor could generate
(&ldquo;does it generate lift?&rdquo;, &ldquo;optimizing the prop is the whole point&rdquo;, &ldquo;the bar
is store-bought props&rdquo;, &ldquo;kill it or subsume it?&rdquo;, &ldquo;keep the smooth tips&rdquo;,
&ldquo;continue until diminishing returns&rdquo;). The subsumption pattern (§5.6) is worth
naming as a practice: when an agent&rsquo;s strategy stalls, freeze its verified
assets at a clean checkpoint and change the operator and objective — punishing
the agent by discarding its work would have cost the program its foundations.</p>
<hr>
<h2 id="9-limitations-and-threats-to-validity">9. Limitations and threats to validity</h2>
<ol>
<li><strong>Inviscid model.</strong> DUST resolves no profile drag, separation, stall,
transition, or surface roughness. All thrust, torque, and power figures are
model quantities.</li>
<li><strong>The wake gate is closed.</strong> Four revolutions left thrust mean-drift and
all three torque criteria failing (§6.12); common practice for ordinary
propellers is 6–8 spin-up plus 2–3 averaging revolutions, and this rotor&rsquo;s
wake is not ordinary. The 2.4414 N figure is not a converged number.</li>
<li><strong>The control comparison is approximate.</strong> The 2.8613 N bar is a
manufacturer bench figure at matched diameter and RPM but different motor,
voltage, and measurement chain, with electrical-input (not shaft) power
provenance. It is a necessary-condition bar, never a same-conditions
experiment.</li>
<li><strong>No independent viscous evidence.</strong> SU2 never admitted a coefficient in
either the sectional campaign or the disposition pilot; XFOIL correlation
is bounded and 2-D. The camber direction transferred on trend evidence
alone.</li>
<li><strong>One executed envelope cell.</strong> 21 of 22 authored operating cells are
explicit unresolved nulls; nothing is known about off-design behavior.</li>
<li><strong>Unbounded uncertainty.</strong> Every conservative aircraft-coupling bound is
null; hover and thrust-to-weight crossings are central estimates only.</li>
<li><strong>No physical evidence.</strong> No printed-surface, deformation, balance, FSI,
thermal, dynamometer, acoustic, proof-spin, fatigue, or flight data exists.
Robustness and quietness remain hypotheses.</li>
<li><strong>Screen-window fragility.</strong> Short-wake rankings demonstrably reverse
(§6.7, §6.10); any batch&rsquo;s screen ordering could differ at longer horizons,
including the ones used to select promotions.</li>
<li><strong>Patent and freedom-to-operate questions</strong> around toroidal propellers are
outside this report&rsquo;s scope and unexamined.</li>
</ol>
<hr>
<h2 id="10-future-work">10. Future work</h2>
<p>Priority order follows a single principle from §6.11: change the evidence
fidelity, not the local geometry.</p>
<ol>
<li><strong>Stabilize an independent viscous lane.</strong> Execute the bounded
transition-aware URANS experiment on the disposition&rsquo;s selected rear-leg
query; reproduce low-Re control sections before touching toroidal ones.</li>
<li><strong>Manufacture the exact frozen geometry</strong> (TR-09/#64): record material,
conditioning, slicer, orientation, mass, runout, and balance against the
frozen identity; inspect before any rotation.</li>
<li><strong>Guarded proof-spin</strong> behind containment with high-speed imaging and
post-test inspection — before any thrust measurement.</li>
<li><strong>Matched-RPM dynamometer testing</strong> with replicates and uncertainty:
thrust, torque, electrical power, temperature, vibration, at matched
diameter against the same commercial control.</li>
<li><strong>Calibrated acoustics at equal thrust:</strong> narrowband spectra and
directivity, separating tonal, broadband, and motor content — the first
data that could ever support the quietness hypothesis.</li>
<li><strong>Close the loop:</strong> map measured pressure/deformation discrepancy back
into the structural and aerodynamic models.</li>
<li><strong>Only then resume optimization</strong> — multi-fidelity, with physical
discrepancy and uncertainty inside the objective. The considered-but-unused
stack (§4.3: BoTorch, pymoo, CST/Kulfan, two-loop reseeds) becomes relevant
here, not before.</li>
</ol>
<hr>
<h2 id="11-conclusion">11. Conclusion</h2>
<p>The program improved the credibility of the answer more than it improved the
headline. Poltergeist now has a substantially better toroidal DUST candidate
than it started with, exact geometry and mesh identities, frozen commercial
controls, explicit failure records, an immutable 39-checkpoint ledger, and a
bounded stopping rule that ended local tuning for stated, reproducible
reasons. It does not yet have a toroidal rotor that beats the measured
commercial control: the retained design increased mature-wake thrust 6.37%
while losing 7.44% thrust per resolved shaft watt inside the same inviscid
model, reached 85.32% of the measured bar, and left the full wake, viscous,
acoustic, structural, and physical-test gates open. The rotor the program
originally promised does not exist yet; what exists is prerequisite to it — an
exact prop, a repeatable result, a method that can say no, and a map of the
evidence that would change the answer. The next falsifiable test is already
scheduled by the critical path: print the exact frozen article, inspect it,
and — behind containment — spin it.</p>
<hr>
<h2 id="appendix-a--retained-candidate-identity-variables-reproduction">Appendix A — Retained candidate: identity, variables, reproduction</h2>
<table>
  <thead>
      <tr>
          <th>Field</th>
          <th>Frozen value</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Canonical ID</td>
          <td><code>factor-101-s3-pi7-risdm8</code></td>
      </tr>
      <tr>
          <td>Aliases (same geometry hash)</td>
          <td><code>factor-000-s3-pi7-risdm8</code> (TR-06J), <code>factor-000-tcs0p65-bcs0p7-cs0p8</code> (TR-06K)</td>
      </tr>
      <tr>
          <td>Geometry SHA-256</td>
          <td><code>558d516626af9df2391f2d898e7757d81d5844b91dde44ad31b064ebcbbc3e92</code></td>
      </tr>
      <tr>
          <td>DUST mesh SHA-256</td>
          <td><code>827864e4102912583727575a06cfeb2b0b8e084082c3976e4c8a18a0c7d7a5b3</code></td>
      </tr>
      <tr>
          <td>Diameter / loops</td>
          <td>88.9 mm (3.5 in) / 3</td>
      </tr>
      <tr>
          <td>Global pitch</td>
          <td>7 in</td>
      </tr>
      <tr>
          <td>Front/rear incidence split</td>
          <td>−8°</td>
      </tr>
      <tr>
          <td>Maximum lifting camber</td>
          <td>6% at the engine-native 40% position</td>
      </tr>
      <tr>
          <td>Front chord scale</td>
          <td>1.1240454412</td>
      </tr>
      <tr>
          <td>Rear chord scale</td>
          <td>0.8</td>
      </tr>
      <tr>
          <td>Root-transition chord scale</td>
          <td>0.65</td>
      </tr>
      <tr>
          <td>Smooth tip-bridge chord scale</td>
          <td>0.7</td>
      </tr>
      <tr>
          <td>Turnover-width scale</td>
          <td>1.0763493634</td>
      </tr>
      <tr>
          <td>Turnover-orientation bias</td>
          <td>−4.3571050297°</td>
      </tr>
      <tr>
          <td>Loop height</td>
          <td>6 mm</td>
      </tr>
      <tr>
          <td>Minimum audited station thickness</td>
          <td>1.284 mm</td>
      </tr>
      <tr>
          <td>Fourth-revolution DUST mean thrust</td>
          <td>2.441372086606152 N</td>
      </tr>
      <tr>
          <td>Fourth-revolution resolved shaft power</td>
          <td>94.0319819788829 W</td>
      </tr>
      <tr>
          <td>Rev-4 / rev-2 thrust retention</td>
          <td>84.66%</td>
      </tr>
      <tr>
          <td>Ratio to 2.8613 N measured HQProp target</td>
          <td>85.32%</td>
      </tr>
      <tr>
          <td>Full mature-wake gate</td>
          <td><strong>failed</strong></td>
      </tr>
      <tr>
          <td>Evidence standing</td>
          <td>exploratory, non-admissible diagnostic leader</td>
      </tr>
  </tbody>
</table>
<p>The exact variables and identities are frozen in
<code>sim/toroidal-optimization/tr-06i-camber-loading-factorial-v1/protocol.json</code>
and repeated in the TR-06J/K protocols; the four-revolution results are in the
respective <code>four-revolution-report.json</code> files, which reproduce the thrust and
power figures bit-identically across three independent batch directories.</p>
<p><strong>Wake-gate detail (final promotion window):</strong></p>
<table>
  <thead>
      <tr>
          <th>Quantity</th>
          <th>Criterion</th>
          <th style="text-align: right">Value</th>
          <th style="text-align: right">Limit</th>
          <th style="text-align: center">Pass</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Thrust</td>
          <td>relative peak-to-peak</td>
          <td style="text-align: right">1.59%</td>
          <td style="text-align: right">≤ 3%</td>
          <td style="text-align: center">✅</td>
      </tr>
      <tr>
          <td>Thrust</td>
          <td>|slope| per revolution</td>
          <td style="text-align: right">0.31%</td>
          <td style="text-align: right">≤ 3%</td>
          <td style="text-align: center">✅</td>
      </tr>
      <tr>
          <td>Thrust</td>
          <td>mean change vs prior revolution</td>
          <td style="text-align: right">4.93%</td>
          <td style="text-align: right">≤ 2%</td>
          <td style="text-align: center">❌</td>
      </tr>
      <tr>
          <td>Shaft torque</td>
          <td>relative peak-to-peak</td>
          <td style="text-align: right">3.23%</td>
          <td style="text-align: right">≤ 3%</td>
          <td style="text-align: center">❌</td>
      </tr>
      <tr>
          <td>Shaft torque</td>
          <td>|slope| per revolution</td>
          <td style="text-align: right">3.19%</td>
          <td style="text-align: right">≤ 3%</td>
          <td style="text-align: center">❌</td>
      </tr>
      <tr>
          <td>Shaft torque</td>
          <td>mean change vs prior revolution</td>
          <td style="text-align: right">5.88%</td>
          <td style="text-align: right">≤ 2%</td>
          <td style="text-align: center">❌</td>
      </tr>
  </tbody>
</table>
<p><strong>Reproduction commands</strong> (from the repository root):</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># Regenerate the paper-evidence manifest and all ten figures; fail on drift</span>
</span></span><span class="line"><span class="cl">npm run aero:paper-data
</span></span><span class="line"><span class="cl">npm run aero:paper-data -- --verify
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Validate the immutable ledger and the paper kit&#39;s artifact manifests</span>
</span></span><span class="line"><span class="cl">npm run gate:rotor-progress
</span></span><span class="line"><span class="cl">npm run aero:paper-kit
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Reproduce the qualification disposition and prepare the next bounded query</span>
</span></span><span class="line"><span class="cl">npm run aero:tr05-disposition
</span></span></code></pre></div><p>Per-batch reproduction commands are in each batch&rsquo;s <code>README.md</code> under
<code>sim/toroidal-optimization/</code>; read
<code>protocol.json</code> before <code>report.json</code>, and never infer long-wake standing from
a short-screen report.</p>
<h2 id="appendix-b--data-and-figure-provenance">Appendix B — Data and figure provenance</h2>
<p>Every figure numbered 4–13 above is generated by
<code>scripts/build-rotor-paper-data.mjs</code>
into <code>sim/toroidal-research/paper-v1/</code>,
alongside <code>data.json</code>, the machine-readable manifest whose <code>sources</code> block
lists all 24 frozen inputs with their SHA-256 hashes. The extractor asserts,
on every run: the pinned 39-checkpoint ledger count; the retained candidate&rsquo;s
geometry/mesh identities across TR-06I/J/K and the disposition; bit-equality
of the four-revolution thrust across the three batch directories; consistency
of the 2.8613 N control across the wake report, TR-05H, and the registry
(including the g→N conversion); every population denominator
(<code>valid + explicitFailures = eligible</code>); the 3,600-cell grid arithmetic; the
improvement-ratio arithmetic against the ledger checkpoint; the closed wake
gate; the rejected steady pilot; the locked print/flight state; and the
rank-reversal premise (screen leader ≠ mature winner). Any drift fails the
build rather than silently changing a figure. Figures 1–2 are Mermaid
diagrams whose content is narrative structure, not data; Figure 3 is the
independently generated ledger chart.</p>
<p>Evidence precedence, when sources could disagree: (1) immutable checkpoint
JSON, (2) frozen protocol/report JSON, (3) geometry/mesh manifests and
raw-output hashes, (4) generated ledger views, (5) git history, (6)
methodology Markdown, (7) task-history exports — rationale only, never
numbers.</p>
<h2 id="appendix-c--task-record-and-transcript-corrections">Appendix C — Task record and transcript corrections</h2>
<p>Fourteen agent tasks were audited page-by-page; the digest is
<code>docs/rotor-paper-kit/transcript-index.md</code> and the full
exports are in <code>docs/rotor-paper-kit/transcripts/README.md</code>
(user/assistant messages and turn metadata preserved; bulky outputs, diffs,
tool arguments, and internal reasoning omitted). Forked tasks inherit parent
history — repeated statements are not independent corroboration.</p>
<table>
  <thead>
      <tr>
          <th>Task</th>
          <th>Role</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>019fbe04…</code> toridial prop</td>
          <td>product concept, parametric geometry, materials, geometry repair, pivot to aerodynamic evidence</td>
      </tr>
      <tr>
          <td><code>019fbf0b-d64f…</code></td>
          <td>early signed low-Re kernel; preserved as partial work</td>
      </tr>
      <tr>
          <td><code>019fbf0b-f337…</code></td>
          <td>visual/topology stream; quarantined visual candidates</td>
      </tr>
      <tr>
          <td><code>019fbf0d…</code></td>
          <td>independent TR-05 review; documented the qualification gap list</td>
      </tr>
      <tr>
          <td><code>019fc24e…</code></td>
          <td>branch/worktree consolidation; scientific critical-path coordination</td>
      </tr>
      <tr>
          <td><code>019fc25e-ab29…</code></td>
          <td>benchmark/provenance review (provenance passed at <code>8e1b89f</code>)</td>
      </tr>
      <tr>
          <td><code>019fc25e-bda9…</code></td>
          <td>BEM/numerical review (BLOCK on cross-platform mesh identity)</td>
      </tr>
      <tr>
          <td><code>019fc25e-dab3…</code></td>
          <td>holdout/protocol review (fail-closed boundary verified)</td>
      </tr>
      <tr>
          <td><code>019fc2af…</code> prop aerodynamics</td>
          <td>blind benchmark, sectional CFD, DUST integration, wake diagnosis; subsumed at <code>cd4dc23</code></td>
      </tr>
      <tr>
          <td><code>019fc351…</code> reporting/steering</td>
          <td>26-day cost estimate, performance bar, commercial comparison, toolchain vetting</td>
      </tr>
      <tr>
          <td><code>019fc382…</code> takeover</td>
          <td>broad/factorial batches, research spike, airfoil pass, TR-06I/J/K, stop, integration, kit</td>
      </tr>
      <tr>
          <td><code>019fc439…</code> integration</td>
          <td>Studio candidate surfaces; superseded by <code>41bc4e9</code></td>
      </tr>
      <tr>
          <td><code>019fc528…</code> wake convergence</td>
          <td>6–8 + 2–3 revolution context for the four-revolution limitation</td>
      </tr>
      <tr>
          <td><code>019fbe6d…</code> seance</td>
          <td>unrelated migration monitor; branch-ownership context only</td>
      </tr>
  </tbody>
</table>
<p><strong>Live statements superseded by frozen evidence</strong> — preserved because the
corrections are part of the method:</p>
<table>
  <thead>
      <tr>
          <th>Live transcript statement</th>
          <th>Frozen evidence</th>
          <th>Treatment in this report</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>4.089 N is 143% of the commercial bar</td>
          <td>wake ladder decays to 1.178 N at 2 rev</td>
          <td>rejected cold-start transient (§6.5)</td>
      </tr>
      <tr>
          <td>2.554 N broad leader at 89.3% of control</td>
          <td>1.594 N at two revolutions</td>
          <td>short-wake screen only (§6.7)</td>
      </tr>
      <tr>
          <td>1.7302 N local leader improved the result</td>
          <td>1.4346 N at four revolutions</td>
          <td>rank-reversal evidence (§6.7)</td>
      </tr>
      <tr>
          <td>rear system lost &ldquo;−0.399 N, ~56%&rdquo;</td>
          <td>−0.4936 N, 68.7% (three-segment frozen definition)</td>
          <td>frozen figure used; chat figure noted as partial sum (§6.6)</td>
      </tr>
      <tr>
          <td>TR-05M 2.295 N called &ldquo;mature-wake leader&rdquo;</td>
          <td>wake gate closed</td>
          <td>longer-window diagnostic baseline (§6.8)</td>
      </tr>
      <tr>
          <td>TR-06I &ldquo;accepted&rdquo; in checkpoint decision</td>
          <td>acoustic/structural/viscous/bench/wake absent</td>
          <td>accepted <em>stopping decision</em>, not accepted product (§6.11)</td>
      </tr>
      <tr>
          <td>genetic/Bayesian methods recommended</td>
          <td>leader from deterministic factorials</td>
          <td>considered-but-unused (§4.3)</td>
      </tr>
  </tbody>
</table>
<h2 id="appendix-d--claims-matrix">Appendix D — Claims matrix</h2>
<table>
  <thead>
      <tr>
          <th>Claim</th>
          <th>Status</th>
          <th>What would change it</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>The exact closed-tip geometry is feasible, deterministic, printable-in-principle</td>
          <td><strong>Supported</strong> (geometry gates, identities)</td>
          <td>—</td>
      </tr>
      <tr>
          <td>The retained rotor produces 2.4414 N at 24,486 RPM static in the frozen four-revolution DUST lane</td>
          <td><strong>Supported as a model result</strong>, wake gate failed</td>
          <td>longer-horizon runs; independent viscous model</td>
      </tr>
      <tr>
          <td>The retained rotor improved mature-wake thrust 6.37% over TR-05M</td>
          <td><strong>Supported within the model</strong>, at +14.92% power</td>
          <td>—</td>
      </tr>
      <tr>
          <td>The retained rotor beats the commercial control</td>
          <td><strong>Unsupported</strong> — 85.32% of the bar</td>
          <td>matched-RPM dynamometer measurement</td>
      </tr>
      <tr>
          <td>The retained rotor is more efficient</td>
          <td><strong>Unsupported and contradicted</strong> — −7.44% N/W in-model</td>
          <td>a design/fidelity change that moves the ratio</td>
      </tr>
      <tr>
          <td>The wake is mature / the gate passed</td>
          <td><strong>False</strong> — Appendix A table</td>
          <td>more revolutions and a passing gate</td>
      </tr>
      <tr>
          <td>The rotor is quieter</td>
          <td><strong>Hypothesis</strong> — no acoustic data</td>
          <td>calibrated spectra at equal thrust</td>
      </tr>
      <tr>
          <td>The rotor is structurally robust / flightworthy</td>
          <td><strong>Hypothesis</strong> — no physical article exists</td>
          <td>print, inspection, proof-spin, endurance</td>
      </tr>
      <tr>
          <td>Independent viscous validation exists</td>
          <td><strong>False</strong> — 0 admitted coefficients, steady pilot rejected</td>
          <td>a converged, gate-passing URANS/section result</td>
      </tr>
      <tr>
          <td>MIT published peer-reviewed proof of a universal toroidal advantage</td>
          <td><strong>False</strong> — patent + technology summary only</td>
          <td>—</td>
      </tr>
      <tr>
          <td>Genetic/Bayesian optimization produced the candidate</td>
          <td><strong>False</strong> — deterministic factorials did</td>
          <td>—</td>
      </tr>
  </tbody>
</table>
<h2 id="appendix-e--key-commits">Appendix E — Key commits</h2>
<table>
  <thead>
      <tr>
          <th>Commit</th>
          <th>Role</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>bee672d</code></td>
          <td>preserve partial low-Re screening work without performance claims</td>
      </tr>
      <tr>
          <td><code>3dbb9c4</code></td>
          <td>approved rounded root geometry; aerodynamic evidence becomes critical path</td>
      </tr>
      <tr>
          <td><code>13397c5</code>, <code>0b8dc42</code></td>
          <td>replace broken tip loft with finite-radius fair turnover</td>
      </tr>
      <tr>
          <td><code>292e9ae</code></td>
          <td>preregister blind aerodynamic validation</td>
      </tr>
      <tr>
          <td><code>19d1f0d</code></td>
          <td>remove unnecessary holdout encryption</td>
      </tr>
      <tr>
          <td><code>29194ce</code></td>
          <td>freeze corrected-but-inadequate conventional baseline</td>
      </tr>
      <tr>
          <td><code>2f62eae</code></td>
          <td>add the immutable rotor-progress ledger</td>
      </tr>
      <tr>
          <td><code>156e1b8</code></td>
          <td>preregister the sectional-CFD harness</td>
      </tr>
      <tr>
          <td><code>8e1b89f</code></td>
          <td>record the 20,000-iteration nonstationary candidate</td>
      </tr>
      <tr>
          <td><code>bc358ef</code></td>
          <td>stabilize mesh identities after cross-runtime mismatch</td>
      </tr>
      <tr>
          <td><code>3ea111b</code></td>
          <td>seed the first deterministic toroidal optimization loop</td>
      </tr>
      <tr>
          <td><code>1515e12</code></td>
          <td>add the headless aerodynamic toolchain</td>
      </tr>
      <tr>
          <td><code>dc467dd</code></td>
          <td>integrate exact geometry with DUST</td>
      </tr>
      <tr>
          <td><code>b1e6194</code></td>
          <td>reject the first wake ladder rather than accept the cold-start number</td>
      </tr>
      <tr>
          <td><code>4749b0f</code></td>
          <td>diagnose rear-system wake loss with phase-registered probes</td>
      </tr>
      <tr>
          <td><code>66848dc</code>, <code>cd4dc23</code></td>
          <td>causal microbatch; original-agent handoff checkpoint</td>
      </tr>
      <tr>
          <td><code>1255fab</code></td>
          <td>24-geometry takeover broad search</td>
      </tr>
      <tr>
          <td><code>1142f1a</code></td>
          <td>crossover mechanism result</td>
      </tr>
      <tr>
          <td><code>37a130f</code>, <code>7d79b79</code></td>
          <td>establish and checkpoint the TR-05M retention leader</td>
      </tr>
      <tr>
          <td><code>a6a22e1</code></td>
          <td>record the reusable optimization methodology</td>
      </tr>
      <tr>
          <td><code>e0299e2</code></td>
          <td>physics/literature reset for low-Re toroidal design</td>
      </tr>
      <tr>
          <td><code>045b263</code></td>
          <td>pinned XFOIL section correlation</td>
      </tr>
      <tr>
          <td><code>eb414c9</code></td>
          <td>retain the blocked independent SU2 result</td>
      </tr>
      <tr>
          <td><code>e068fda</code>, <code>a71f4f8</code></td>
          <td>section diminishing-return stop</td>
      </tr>
      <tr>
          <td><code>cc69eba</code>, <code>6c235e4</code></td>
          <td>record and freeze the TR-06I mature-wake improvement</td>
      </tr>
      <tr>
          <td><code>8d0b1e8</code>, <code>8e90aea</code>, <code>97a15e2</code></td>
          <td>strikes, final reproduction, rotor stop</td>
      </tr>
      <tr>
          <td><code>41bc4e9</code></td>
          <td>integrate the exact retained leader into Studio</td>
      </tr>
      <tr>
          <td><code>b508f68</code></td>
          <td>consolidate rotor research histories</td>
      </tr>
      <tr>
          <td><code>68ddbaf</code>, <code>0146888</code>, <code>04e4151</code></td>
          <td>paper plan, handoff kit, transcript exports</td>
      </tr>
      <tr>
          <td><code>c80f382</code></td>
          <td>reconcile the first-print critical path (TR-09/#64)</td>
      </tr>
      <tr>
          <td><code>149768e</code>, <code>1e7671f</code></td>
          <td>fail-closed manufacturing qualification (engine + Studio)</td>
      </tr>
      <tr>
          <td><code>1f092aa</code>, <code>c881754</code></td>
          <td>TR-05 qualification disposition and final checkpoint</td>
      </tr>
      <tr>
          <td><code>58cae16</code>, <code>5a7e337</code></td>
          <td>record and checkpoint the rejected steady pilot</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item></channel></rss>