Skip to content

door cells: plane doors state their root cells under links; no-cells RED; N/A held to the ledger (stacked on #787) - #1006

Merged
MattJackson merged 2 commits into
predevfrom
lane-law0-door-cells
Oct 15, 2026
Merged

MattJackson merged 2 commits into
predevfrom
lane-law0-door-cells

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Stacked on #787 (rule 19: stays DRAFT until #787 lands; then retarget to predev). Coordinator ruling (Law 0 root lane, option (b)): door-cells is the one root-leg mechanism; this replaces #1003.

THE CELLS CONTRACT — what a plane door crate provides:

  1. links = "busbar-door-cells-<crate>" in its [package] (links no native library), and a build.rs printing cargo::metadata=cells=<CARGO_MANIFEST_DIR>/tests/root/mod.rs. The root reads DEP_BUSBAR_DOOR_CELLS_<CRATE>_CELLS, the same for a path or a pinned (git) dependency.
  2. tests/root/mod.rs, compiled as a child of the root's serve module (test builds; super:: is root::serve), exporting:
    • pub(crate) const COLUMNS: &[&str] — its qa/capability-equality.json columns;
    • pub(crate) const NOT_APPLICABLE: &[(&str, &str, &str)] — (capability, column, reason), EXACTLY the ledger's root-leg not-applicable cells on those columns, reason word for word;
    • pub(crate) fn secret_source_driven() -> Vec<String> — the Statement names its cells drive through the root's secret-source scan;
    • its #[test] root cells (the ledger's root test paths point at them).

Root side:

  • build.rs: iterates the enabled linked plane-door rows (no separate table) and emits #[path] modules, door_cells_secret_driven(), DOOR_CELLS, DOOR_CELLS_MISSING.
  • root/tests/door_cells.rs:
    • no-cells RED: a door whose crate states none fails, naming it.
    • N/A equality RED: missing, extra and wrong-reason cells are each refused.
    • roster checks over the real build.

Expected red until the P5 lane lands the plane-side cells: every_linked_plane_door_states_its_root_cells names the linked plane doors without cells. That is the decisions, mcp and llm door crates.

busbar-plane-a2a (in-tree) now states its cells and its COLUMNS / NOT_APPLICABLE.

…links` name; no-cells RED; N/A held to the ledger

Coordinator ruling (Law 0 root lane, (b)): the door-cells mechanism (ARCHITECT ruling on #464)
is the one root-leg mechanism. Stacked on #787.

- A plane door crate states where its root cells are under `links = "busbar-door-cells-<crate>"`;
  its build.rs prints `cargo::metadata=cells=<CARGO_MANIFEST_DIR>/tests/root/mod.rs`. The root's
  build.rs reads `DEP_BUSBAR_DOOR_CELLS_<CRATE>_CELLS` for every enabled linked plane-door row, the
  same for a path dependency and a pinned one: no checkout is resolved by hand. The
  `[package.metadata.busbar.door-cells]` table goes: the list is the linked table's.
- `$OUT_DIR/door_cells.rs` adds `DOOR_CELLS` (each module's COLUMNS and NOT_APPLICABLE) and
  `DOOR_CELLS_MISSING` (each enabled plane door whose crate states no cells).
- root/tests/door_cells.rs: a linked plane door stating no cells fails, naming its crate (RED); a
  door's not-applicable (capability, column, reason) set must EQUAL the root-leg cells
  qa/capability-equality.json marks not applicable on its columns (RED each way).
- busbar-plane-a2a states its cells (links + build.rs) and its COLUMNS / NOT_APPLICABLE.
- tests/capability_equality.rs finds the door planes' cells files from the linked plane-door rows.
…through the build's one resolver

tests/capability_equality.rs no longer reads a door's `path` dependency row: build.rs emits
`$OUT_DIR/door_cells_files.rs` (DOOR_CELLS_FILES: each enabled plane door's cells as the ledger
cites them, `crates/<crate>/tests/root/mod.rs`, beside the file its crate states under its
`links` name), from the same DEP_BUSBAR_DOOR_CELLS_<CRATE>_CELLS the root compiles the cells
from, so a pinned door's cells verify exactly as a path dependency's. DOOR_CELLS carries the
resolved file too.

RED: a root leg citing a pinned door's cells (a file outside the repo) is refused while no door
states them, and verifies once the resolver maps the citation to that file.
Base automatically changed from lane-p3-flip-a2a to predev October 15, 2026 05:33
MattJackson added a commit that referenced this pull request Oct 15, 2026
… from the gates log of 80d5f03

- hooks parity (#989): the v1.5.5 hook corpus moves out of the kernel's source into
  testing/hook-parity/v1.5.5-hook-corpus.tsv, read by the count test; its origins are `proxy`/`core`
  and the constants PROXY_ORIGIN/CORE_ORIGIN (gate hook-parity-count reads them). The listing named
  plane, hook and export instances in a neutral crate: kernel x plane +84, x hooks +18, and the
  instance-noun-neutrality llm census.
- config-schema: a section a plane owns beside its declaring one is the endpoint DOOR only for the
  plane the kernel names its owner (EndpointSection::OWNER); any other is RAW, carried by
  DeployCfg::plane_raw, as the pre-pass lifts it since #966 (a2a's agent_push, #1001). Selftest: two
  doors under the owner stay RED; a non-owner's beside section is carried.
- reachability: serve_datagram.rs is the module `serve_datagram`, named for its file like serve_framed.
- teller-steps / libtest_path: door cells are read off the linked rows on the plane-door axis, the
  rows build.rs mounts since #1006 deleted [package.metadata.busbar.door-cells].
- plane-purity dialect / neutral-no-dialect: LegacyLaneKeys flattens ProviderLaneCaps rather than
  spelling its fields (#957).
- structure-lint: stand_in.rs's inline tests move to tests/stand_in_tests.rs (#1010).
- config-scope: auth/mod.rs's test-idp-module arm is braced like its sibling, so the scanner sees
  the `new` construction in the arm after it.
- instance-noun-neutrality mcp: the a2a client cell's rationale (and its capability-equality row)
  names no other plane.
- hold-escapes: host_disk.rs::start (#864's disk lane job loop) is a reviewed known site.
- hook-parity-count: the TODO's M4 row reads 181.
- design-bindings: PB-50's config.migrate family is 158 cells (#1026 added two).
- kind-isolation law0: busbar auth 24, instance:auth 10, instance:export 25, plane 525, transport 97
  are the merged tree's measure (#1038's figures were T+O-B over a virtual base carrying #993, #1017,
  #1020, which w2 does not carry); busbar-contract export 1 -> 0 and transport 226 -> 225 (slack).
MattJackson added a commit that referenced this pull request Oct 15, 2026
…eld; clippy; the six Law 0 cells the merge grew; config-schema snapshot

- busbar-core-connector dialled.rs (#837 over #893's Piece): the datagram leg's body piece states
  `fault: None` and `declared_len: None` (E0063).
- busbar-kernel appbuild: build_app_from_config takes the root's rules as an eighth input (#1001);
  allowed too_many_arguments with that reason. plugin-loader secret_disk_tests: let-else for the
  refused declare (clippy err_expect).
- Law 0 growth over the merge-base (gates log of 3598829 and the group measures):
  kernel x plane: the failover predicate's docs and test say verdict, not decision (#890);
  kernel x instance:secret: the two new SecretRef literals key on SECRET_MODULE_ENV (#863/#864);
  kernel x auth: the resolved provider's and the token endpoint's docs name the client-credentials
  style without spelling the module (#957, #876);
  connector x transport: spawn_env's doc says program members (#865);
  contract x plane: section.rs's trust_from doc names a plane's push trust (#1001);
  busbar x vendor: the health-probe cell's catalog entry is testing/root-fixtures data (#1039);
  busbar x instance:secret: the pinned-cells selftest builds its fixture citing the pinned file
  rather than re-keying it (#1006).
- config-schema: the RAW carrier records each section as the map's value type; the snapshot gains
  DeployCfg.agent_push (serde_yaml::Value, #1001), ProviderLaneCaps (its Deserialize, round 2) and
  the `type ProviderTable` alias (#957).
- qa/scripts-allowlist.toml: the three twilio conformance legs (#998), oracle-driver like their
  siblings.
@MattJackson
MattJackson merged commit f1bc41b into predev Oct 15, 2026
1 check was pending
@MattJackson
MattJackson deleted the lane-law0-door-cells branch October 15, 2026 13:54
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