Skip to content

structure-lint roster: decisions is a kind-only plane key (vanished door row is PLANE-ROOT-MISSING) - #939

Merged
MattJackson merged 1 commit into
predevfrom
lane-decisions-roster
Oct 15, 2026
Merged

MattJackson merged 1 commit into
predevfrom
lane-decisions-roster

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

A small fix from the streaming lane's finding. Not $, and independent of #894.

The decisions plane (#48) is located only by its door row (plane-decisions on the plane-door axis). It was on neither roster list, so if that row lost its axis, the plane dropped off structure-lint's plane roster with no finding.

What

  • xtask/src/planes.rs: PLANE_KEYS_KIND_ONLY = ["mcp", "decisions"], plus its shell twin scripts/plane-keys.sh PLANE_KEYS_KIND_ONLY="mcp decisions". The two are pinned equal by xtask/tests/infra.rs.
  • RED: a new structure-lint selftest case replaces plane-decisions = "plane-door" with plane-decisions = "" and requires PLANE-ROOT-MISSING naming decisions. With decisions off the list, the plane silently leaves the roster and the case fails.

Overlap: #787 and #503 edit the same two lists. The final state is PLANE_KEYS = ["llm"] and PLANE_KEYS_KIND_ONLY = ["mcp", "a2a", "streaming", "decisions"]; whoever lands second resolves.

The shell list also feeds the report-only meters plane-grep-gate.sh and plane-noun-gate.sh. No CI step or xtask gate runs them.

…ished door row is PLANE-ROOT-MISSING

The fifth plane (#48) is located only by its door row (`plane-decisions` on the plane-door axis) and
was on neither roster list. So taking that axis off its row dropped the plane from structure-lint's
plane roster with no finding, the silent-off-roster case the roster exists to refuse.

- xtask/src/planes.rs PLANE_KEYS_KIND_ONLY = ["mcp", "decisions"], and its shell twin
  scripts/plane-keys.sh PLANE_KEYS_KIND_ONLY="mcp decisions" (pinned equal by xtask/tests/infra.rs).
- RED: structure_lint selftest plants `plane-decisions = ""` in place of its plane-door axis and
  requires PLANE-ROOT-MISSING naming `decisions`. With decisions off the list the plane leaves the
  roster and the case fails.

The shell list also feeds the report-only meters plane-grep-gate.sh and plane-noun-gate.sh. No CI step
or xtask gate runs them.
@MattJackson
MattJackson merged commit bd093f7 into predev Oct 15, 2026
1 check was pending
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