Skip to content

New-host grid: show all open gaps; guard the release pin against missing new-machine paths - #115

Merged
seathatflowsinourveins merged 2 commits into
mainfrom
claude/new-host-list-gap-counts
Sep 23, 2026
Merged

seathatflowsinourveins merged 2 commits into
mainfrom
claude/new-host-list-gap-counts

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Two fixes from the cross-session readiness audit (agent-lab-e9):

  1. Grid gap count. docs/new-host-grand-list.md counted only executable_now gaps. Execution-broker, whose one open gap is the login-gated IBKR adapter, therefore read as 0.
    • scripts/component_matrix.py now also records open_gaps (status open, any category).
    • scripts/new_host_grand_list.py renders Open gaps (executable now / all), e.g. 0 / 1.
    • A regression test covers it.
  2. Release-pin guard. tests/test_release_pin_contents.py requires every repository path referenced by the new-machine documents to exist at adoption/manifest.json source.release_commit, and the tag to resolve to that commit.
    • The documents covered: README Start here, adoption/bootstrap.md, adoption/README.md, adoption/platforms/*.md, docs/next-host-stages.md and docs/contributing-evidence.md.
    • Checked both ways: it rejects the old v2026.09.22.1 pin, listing hardware_profile.py, component_matrix.py, hardware-profiles.json and more, and passes for the current v2026.09.23.
    • It runs in CI, where validate.yml checks out full history.
    • When it fails, cut a new release tag and re-pin.

Checks: full suite 2,743 OK. The validators pass, including component_matrix.py --check and new_host_grand_list.py --check. Guarded gitleaks finds no leaks.

🤖 Generated with Claude Code

…inst missing new-machine paths

The grid's Open gaps column counted only executable_now gaps, so execution-broker (one needs_user_login gap) read as 0; component_matrix.py now also records open_gaps (any category) and the grid shows 'executable now / all'. tests/test_release_pin_contents.py requires every repository path referenced by the new-machine documents (README Start here, adoption/bootstrap.md, adoption/README.md, adoption/platforms/*.md, docs/next-host-stages.md, docs/contributing-evidence.md) to exist at adoption/manifest.json source.release_commit; it rejects the old v2026.09.22.1 pin and passes for v2026.09.23. Both from the cross-session readiness audit.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
…e-due report strict only on a re-pin

Review by agent-lab-e9: requiring main's documented paths to exist at the pinned release made any PR that documents a new script unmergeable (a tag can only follow its merge; #94 would have gone red). Now: tests/test_release_pin_contents.py hard-checks that the tag resolves to source.release_commit and that the pinned release's own new-machine documents only reference paths it contains (fails instead of skipping under GITHUB_ACTIONS); scripts/release_due.py reports main-documented paths absent at the pin, exit 0 normally, --strict before a release, --strict-if-repinned BASE_REF in validate.yml so a PR that changes source.release_commit must pin a release with what main documents. Path pattern extended (.yml/.yaml, .plist, .template, .txt; .github/ and tests/), docs/new-host-grand-list.md added, step 0 notes that main may describe unreleased steps. Simulated on #94's branch: hard tests pass, 18 paths reported due, strict exits 1.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins merged commit 38847e5 into main Sep 23, 2026
18 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/new-host-list-gap-counts branch September 23, 2026 12: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