feature: ALL FIVE falcon cascade stages export and the fused image EXECUTES on the RT1176 M7 - #187
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
mainfrom 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:The per-stage result reproduces at the fused level — genuinely open beforehand, since
--pack-rebasemerges 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:0x16C, 213,439 instructions retiredWhat 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#tickandekf#estimatecompute 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:
rateandmixerstill export; the image still initialises and runs.rivet validate→ PASS · oracle 2/2 OK on the new image.🤖 Generated with Claude Code