Skip to content

record: relay's v0.8 sensor-frame would cross the Canonical ABI flattening limit (AFD-119) - #265

Merged
avrabe merged 1 commit into
mainfrom
docs/abi-slot-budget
Sep 10, 2026
Merged

record: relay's v0.8 sensor-frame would cross the Canonical ABI flattening limit (AFD-119)#265
avrabe merged 1 commit into
mainfrom
docs/abi-slot-budget

Conversation

@avrabe

@avrabe avrabe commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Records the measurements behind jess's answers on #264. The counting method is validated against the shipped cascade's own core signatures before being used to predict; the prediction is that v0.8 pushes ekf#estimate from flattened to pointer-based, silently.

Also records the two scoped answers: jess has no driver-layer seam for rung 2, and no RT1176 tick rate — with the measurement showing why the 1 kHz assumption has not yet corrupted anything jess lowered (the lowered cascade imports nothing, so it cannot ask the host the time).

…ening limit (AFD-119)

Answers relay's three questions on jess#264 with measurements.

The counting method was validated against ground truth before being used to
predict: record field counts reproduce all three core signatures the shipped
v0.7.0 cascade actually emits (6 -> flattened, 4 -> flattened, 18 -> pointer),
bracketing the limit at (6, 18] against a spec value of 16.

Applied to relay#382's v0.8 sensor-frame: 6 + dt-s + three options = 17 slots.
ekf#estimate has 10 of headroom and the change consumes 11, so it flips from
flattened to pointer-based with nothing erroring. Field widths assumed; relay was
asked to check rather than trust the arithmetic.

option<> itself lowers fine under synth. The hazard is the boundary, and jess has
already paid for it once — assuming pointer-in for rate and mixer, where the
Canonical ABI passes garbage rather than erroring.

Also recorded, both scoped honestly: jess has no driver-layer seam for rung 2
(gust:hal is read32/write32 and nothing above them), and no RT1176 tick rate
because nothing has executed there. The lowered cascade has ZERO undefined
symbols, so it cannot ask a host the time — relay's 1 kHz concern is true of the
code but has not produced a wrong number in any jess measurement, because no jess
measurement has involved elapsed time.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe
avrabe merged commit 7b5a946 into main Sep 10, 2026
9 checks passed
@avrabe
avrabe deleted the docs/abi-slot-budget branch September 10, 2026 20:58
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