Skip to content

plan(roadmap): cut v1.135 around PERF-P01 alone; TRACE-P02 → v1.136 - #363

Merged
avrabe merged 1 commit into
mainfrom
plan/v1135-scope-perf-only
Aug 26, 2026
Merged

plan(roadmap): cut v1.135 around PERF-P01 alone; TRACE-P02 → v1.136#363
avrabe merged 1 commit into
mainfrom
plan/v1135-scope-perf-only

Conversation

@avrabe

@avrabe avrabe commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Verify-Filter: (has-tag "performance")

v1.135 ships the cascade timing baseline and nothing else.

Why minimal

Performance was the one axis on which this project could make no claim at all. engine-throughput has guarded the cFS engines since v1.56; the control path that actually flies had no timing baseline of any kind, and the Lean WCET proof had never been confronted with a measurement. PERF-P01 (#361) closes it:

full_cascade_tick   1.2413 us    <- all five stages, one tick
  iekf_propagate    1.1256 us       91 % of the cascade
  the other four                    ~108 ns combined

Deferred, with reasons in the artifacts

requirement to why
TRACE-P02 v1.136 next, and now precisely sized
MATHF32-P06 v1.139 not blocked — lower value than the four ahead
OCI-P03 v1.139 parked pending rewrite — do not implement as written

TRACE-P02 is no longer one undifferentiated sweep

Measured 2026-08-25:

population count cost
≥1 CI-runnable step 155 mechanical — promote from the gate result
bench-only only 36 judgement — named waiver or a real step
no steps at all 45 cannot be evidence; write steps or demote

And zero implemented requirements lack a verifier — the 22/247 figure is entirely unpromoted verifiers, not missing evidence. That makes the bulk far cheaper than it looked and isolates the 45 as the real work.

OCI-P03’s warning, restated because release order makes it easy to pick up

Upstream wit-bindgen 0.60 already generates [u8; 8], so the fixed-length-list case for the fork is gone. The fork is three minors stale (0.58 vs upstream 0.61.1) and nothing in relay depends on it.

The drift that actually matters is in the flight path: components pin wit-bindgen-rt 0.41.0 while the workspace is on 0.60.0 — a 19-minor spread, and 0.41 generates the bindings baked into every published artifact. Rewrite the requirement around that migration; it needs no fork.

One criterion deliberately left open

PERF-P01’s (d) — the PX4 head-to-head — is not discharged, and is now filed as #362 rather than left as an unmet criterion nobody re-reads. We can say what our cascade costs; we cannot yet say it costs less.

rivet validate PASS, exit 0.

🤖 Generated with Claude Code

v1.135 ships the cascade timing baseline and nothing else.

WHY: performance was the ONE axis on which this project could make no claim at
all. `engine-throughput` guarded the cFS engines since v1.56; the control path
that actually flies had no timing baseline of any kind, and the WCET proof in
Lean had never been confronted with a measurement. That was the highest-value
gap in the standing assessment, and PERF-P01 (#361) closes it:

  full_cascade_tick   1.2413 us    <- all five stages, one tick
    iekf_propagate    1.1256 us       91 % of the cascade
    the other four                    ~108 ns combined

Deferred out, each with the reason recorded in the artifact rather than moved
silently:

  TRACE-P02     -> v1.136   next, and now precisely sized
  MATHF32-P06   -> v1.139   not blocked, just lower value than the four ahead
  OCI-P03       -> v1.139   parked pending REWRITE, do not implement as written

TRACE-P02 is no longer one undifferentiated sweep. Measured 2026-08-25:

  155 of 236 verification artifacts have >=1 CI-runnable step
      -> promotable MECHANICALLY from the gate's own per-artifact result
   36 are bench-only        -> named waiver or a real step (judgement)
   45 have NO steps at all  -> cannot be evidence; write steps or demote

And ZERO `implemented` requirements lack a verifier — the 22/247 verified
figure is entirely UNPROMOTED verifiers, not missing evidence. That makes the
bulk of it far cheaper than it looked, and isolates the 45 as the real work.

OCI-P03's restated warning matters because it is easy to pick up by release
order: upstream wit-bindgen 0.60 already generates `[u8; 8]`, so the
fixed-length-list case for the fork is gone; the fork is three minors stale
(0.58 vs upstream 0.61.1) and NOTHING in relay depends on it. The drift that
actually matters is in the flight path — components pin wit-bindgen-rt 0.41
while the workspace is on 0.60, a 19-minor spread, and 0.41 generates the
bindings in every published artifact. Rewrite around that migration; it needs
no fork.

PERF-P01's criterion (d) — the PX4 head-to-head — is NOT discharged and is now
filed as #362 rather than left as an unmet criterion nobody re-reads. We can
say what our cascade costs; we cannot yet say it costs less.

rivet validate: PASS, exit 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG
@avrabe
avrabe enabled auto-merge (squash) August 26, 2026 00:41
@avrabe
avrabe merged commit 6b76189 into main Aug 26, 2026
11 checks passed
@avrabe
avrabe deleted the plan/v1135-scope-perf-only branch August 26, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant