Skip to content

feature: ALL FIVE falcon cascade stages export and the fused image EXECUTES on the RT1176 M7 - #187

Merged
avrabe merged 1 commit into
mainfrom
feature/cascade-5of5-executes
Aug 27, 2026
Merged

feature: ALL FIVE falcon cascade stages export and the fused image EXECUTES on the RT1176 M7#187
avrabe merged 1 commit into
mainfrom
feature/cascade-5of5-executes

Conversation

@avrabe

@avrabe avrabe commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

synth's increment 2 (PR#1075, "frame-homed overflow VFP locals") removes the 13→14 homed-local wall that jess's fixture isolated. jess built synth main from source, confirmed increment 2 was present via the discriminating fixture (14-live locals clears, 80-deep stack 0 hits), then closed the gap synth named explicitly and asked jess to close before cutting v0.60.

The configuration synth could not test

Their local meld predates fuse --pack-rebase, so they verified per-stage only. jess ran the fused path:

meld 0.52 fuse --memory shared --pack-rebase  (five 1.134.1 components)
  → loom 1.4.1 → synth main

exit=0   skips=0   5/5 exports:
  T pulseengine:falcon-cascade/attitude@0.7.0#tick
  T pulseengine:falcon-cascade/ekf@0.7.0#estimate
  T pulseengine:falcon-cascade/mixer@0.7.0#mix
  T pulseengine:falcon-cascade/position@0.7.0#tick
  T pulseengine:falcon-cascade/rate@0.7.0#tick

The per-stage result reproduces at the fused level — genuinely open beforehand, since --pack-rebase merges all five into one 64 KB linear memory and could plausibly have changed the pressure.

And it executes

Self-contained EXEC, 94,907 B (was 65,452 with 2 exports, +45%). Both TEST-PIX-031 assertions pass:

  • linear-memory init byte-exact at the same four non-zero probes — values unchanged, because the fused linear memory is identical and only relocated in flash
  • execution progress — PC 0x16C, 213,439 instructions retired

What this does not prove

Stated plainly upstream and here: this is "the fused image loads, initialises its linear memory correctly, and executes without stalling or faulting." It is not "attitude#tick and ekf#estimate compute correct values." That needs canonical-ABI argument marshalling — the next rung, and where relay's SIL reference (0.193 s, |err| 0.0059 rad/s) becomes the baseline.

No regression: rate and mixer still export; the image still initialises and runs.

rivet validate → PASS · oracle 2/2 OK on the new image.

🤖 Generated with Claude Code

…ECUTES on the RT1176 M7

synth's increment 2 (PR#1075, "frame-homed overflow VFP locals") removes the 13->14 homed-local wall
that jess's fixture isolated. jess built synth main from source, confirmed increment 2 was present via
the discriminating fixture (14-live locals CLEARS, 80-deep stack 0 hits), then closed the gap synth
named explicitly and asked jess to close before v0.60.

THE CONFIGURATION SYNTH COULD NOT TEST — meld 0.52 fuse --memory shared --pack-rebase over the five
published 1.134.1 components -> loom 1.4.1 -> synth main:

  exit=0  skips=0   5/5 exports:
    T pulseengine:falcon-cascade/attitude@0.7.0#tick
    T pulseengine:falcon-cascade/ekf@0.7.0#estimate
    T pulseengine:falcon-cascade/mixer@0.7.0#mix
    T pulseengine:falcon-cascade/position@0.7.0#tick
    T pulseengine:falcon-cascade/rate@0.7.0#tick

Their per-stage result reproduces at the FUSED level — the open question, since --pack-rebase merges
all five into one 64 KB linear memory and could plausibly have changed the pressure.

AND IT EXECUTES: self-contained EXEC, 94,907 B (was 65,452 with 2 exports, +45%), both TEST-PIX-031
assertions pass — linear-memory init byte-exact at the same four non-zero probes (values unchanged;
the fused linear memory is identical, only relocated in flash), PC 0x16C, 213,439 instructions retired.

WHAT THIS DOES NOT PROVE, stated plainly upstream and here: this is "the fused image loads, initialises
its linear memory correctly, and executes without stalling or faulting". It is NOT "attitude#tick and
ekf#estimate compute correct values" — that needs canonical-ABI argument marshalling, which is the next
rung and where relay's SIL reference (0.193 s, |err| 0.0059 rad/s) becomes the baseline.

No regression: rate and mixer still export; the image still initialises and runs.

Verified: oracle 2/2 OK on the new image; rivet validate PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe
avrabe merged commit 81f1baf into main Aug 27, 2026
5 checks passed
@avrabe
avrabe deleted the feature/cascade-5of5-executes branch August 27, 2026 10:43
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