Repository navigation
row 84: memory-ABI connection shapes move out of abi/hot into abi/shared.rs (hot 6224 -> 5965) - #898
Closed
MattJackson wants to merge 4 commits into
Closed
MattJackson wants to merge 4 commits into
MattJackson wants to merge 4 commits into
Conversation
…ut of the condemned HOT lane into abi/shared.rs (row 84) Status row 84 (old plugin interface gone; THE DESIGN §11: the plugin ABI is the memory ABI alone). DeclStr, WireConnFacts, WireField and the closed-vocabulary byte codes (code) are the shapes abi/host/conn (the memory ABI's connection table) carries; they were defined in abi/hot/decl.rs and abi/hot/transport.rs. They move whole, unchanged, to their one home under abi/ (abi/shared.rs); the HOT lane names them through re-exports until it is deleted, so every user (the connection table, the HOT transport load path, the layout golden) resolves the same types at the same paths and no layout moves. abi/hot: 6224 -> 5965 lines (qa/abi-freeze.toml lowered in this commit, the freeze is exact); non-test 5177 -> 4918. abi/shared.rs is outside the C header's sources, so the header is unchanged.
…he stubs moved to (#898, row 84) #898 moved DeclStr out of hot/decl.rs into abi/shared.rs, so every marker below it moved up 36 lines. The gate's own lists name the move: 8 unwaived (427, 439, 446, 450, 454, 472, 481, 497) and 8 stale (475, 482, 486, 499, 508, 517, 526, 533). The other two markers (admin_routes, admission) landed on 463 and 490, lines that two older rows already named, so those rows matched by accident. Each row moves by the same 36 lines and keeps its own reason: 463->427 (the STUB doc label), 475->439, 482->446, 486->450, 490->454, 499->463, 508->472, 517->481, 526->490, 533->497. Every new line was read against the file: it holds the marker its row names.
This was referenced Oct 14, 2026
Merged
Collaborator
Author
…ber (#898, row 84) feature_invariance::the_doc_comments_cite_the_design_in_words refused shared.rs:7, which pointed at the plugin-ABI section of THE DESIGN by its number. It now names it in words: "THE DESIGN, the plugin ABI", the spelling abi/mod.rs and mechanism/observe.rs use.
qa/abi-freeze.toml conflicted on the abi/hot row: base 6224, predev 6100 (-124, its own hot drains: services.rs, host.rs and their tests), this branch 5965 (-259, the shapes moved to abi/shared.rs). The two drains touch different files, so both deltas apply: 6100 + 5965 - 6224 = 5841. The merged tree measures that exactly (every line of every file under abi/hot, counted by hand, since xtask is not run on the laptop). The cold row is unchanged at 272: neither side touched it. The decl.rs stub waivers stay as #898 re-keyed them: predev did not touch decl.rs, so those lines did not move.
MattJackson
added a commit
that referenced
this pull request
Oct 14, 2026
…rides with it This head carries #904's fixes for its own reds: - the #898 no-deferral waiver re-key and its in-words design citation; - kind-isolation busbar-contract x instance:secret lowered 133 -> 131 (the drain the gate measured); - the contract-stateless strike of the four drained SDK statics. qa/abi-freeze.toml conflicted on the abi/hot row. Base 6224; predev 6100 (its own hot drains in services.rs and host.rs); this branch 5965 (#898's move to abi/shared.rs). The two drains touch different files, so both apply: 6100 + 5965 - 6224 = 5841, the same settle #898 took. The merged tree measures that exactly, every line of every file under abi/hot counted by hand (no xtask on the laptop). The cold row stays at this branch's 43, also counted on the merged tree; predev did not touch abi/cold.
MattJackson
added a commit
that referenced
this pull request
Oct 14, 2026
…ev) into lane-abi-hot-plane qa/abi-freeze.toml: abi/hot takes the merged tree's 5841 (predev's and #898's drains, counted by hand); the cold row stays struck, abi/cold is deleted here.
Collaborator
Author
|
Closed: every commit of this PR is patch-identical to content that landed on predev in the wave-1 integration (predev 179abf2, lane-integration-w1b). Nothing remains to merge. |
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.
Status row 84 ("old plugin interface gone"): the shapes the memory ABI's connection table carries move out of the condemned HOT lane.
What
DeclStr,WireConnFacts,WireFieldand the closed-vocabulary byte codes (code) are the shapes thatabi/host/conn(the memory ABI's connection table) carries. They were defined inabi/hot/decl.rsandabi/hot/transport.rs.abi/, the newcrates/busbar-contract/src/abi/shared.rs(the one-place rule).pub usere-exports until it is deleted. Every user resolves the same types at the same paths: the connection table, the HOT transport load path,layout_golden.rsand the kernel. No layout moves.abi/shared.rsis not one of the C header generator's sources, sobusbar_plugin.his unchanged.Why
abi-locationrule: every ABI shape lives inbusbar-contract/src/abi/.Measured, every line under each directory (the freeze measure)
abi/hot: 6224 → 5965.qa/abi-freeze.tomlis lowered in this commit, as the exact freeze requires.abi/hot5177 → 4918;abi/coldunchanged at 233.Test
The move is a pure relocation. It is proved by the existing consumers compiling against the re-exports and by
layout_golden(sizes and offsets unchanged).abi-freezegoes RED if the row is not lowered or the lane grows.Files
None of these files are held by an open PR:
abi/hot/{decl,transport}.rs,abi/mod.rs, the newabi/shared.rsandqa/abi-freeze.toml.