Skip to content

Require a reviewed use-stage pass for an accepted platform status - #164

Merged
seathatflowsinourveins merged 5 commits into
mainfrom
claude/platform-status-use-stage-20260924
Sep 24, 2026
Merged

seathatflowsinourveins merged 5 commits into
mainfrom
claude/platform-status-use-stage-20260924

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

What

scripts/platform_status.py: only an independently reviewed native_proven use-stage pass (current pin, second machine, platform identity) can make a winner accepted on a platform. A reviewed install-stage pass, for example a version call, now supports conditional at most, with the reason "independently reviewed install-stage pass; accepted needs a reviewed use-stage pass". A native_proven fail at either stage still blocks.

Why

With QUALIFYING_STAGES = {install, use}, an honest version-only install receipt from a second machine could move a winner from conditional to accepted, for example gitleaks once #160's receipts merge. The question was raised by agent-lab-e9 and routed by the #145 independent reviewer. It must land before #160 merges.

Evidence

  • tests/test_platform_status.py::test_a_reviewed_install_pass_alone_is_conditional_on_either_platform fails on the previous rule (both platforms accepted) and passes on this one.
  • The gate fixture's qualifying receipt now uses stage use; its pin-binding tests are unchanged in intent.
  • scripts/landscape.py --root . passed, and scripts/component_matrix.py --check reported checked on all 32 rows: no recorded row claims more than the new rule derives.
  • The full suite passes on Python 3.12.3 and 3.13.15 (3659 tests), and scripts/validate.py exits 0.

Decision record

docs/decisions/2026-09-24-accepted-needs-use-stage.md names the alternatives (install counts; use only, chosen; both required) and the comparison that would overturn it: a component whose use stage cannot be exercised headlessly. It also notes the limit that the Linux winner-level route does not read receipt stages.

Trust-path change, separate from verdict data.

🤖 Generated with Claude Code

A reviewed native_proven install pass (a version call proves the binary
resolves, not that the component works) now supports conditional at most;
accepted needs a reviewed use-stage pass at the current pin. A native_proven
fail at install or use still blocks. Dated decision record with the
alternatives and the overturning comparison:
docs/decisions/2026-09-24-accepted-needs-use-stage.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T06:45:49.191462Z 276101e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 276101e677

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/platform_status.py Resolved
Comment thread docs/contributing-evidence.md Resolved
Comment thread scripts/platform_status.py Resolved
…ison and fix stale guidance

Review of #164 (github-automation, reproduced by agent-lab-e9; Codex
cross-family lane): the install-only early return ran before the Linux
winner-level route, so a reviewed version receipt demoted a native_proven or
measured_comparison winner accepted on registered evidence. The cap now sits
inside the macOS receipt route and after the Linux winner-level routes; added
evidence never lowers a status. Regression test for both native classes. The
platform_status docstring and the generated component-matrix guidance no longer
say an install pass qualifies.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
…g stages, add the missing status tests

#164 review items 1-5:
- use means the component doing its job: host_receipts.py record refuses --stage use when every command is a
  help or version call, validate rejects such a receipt, and the receipt summary counts one as install (its
  pass supports conditional at most, its fail still blocks). contributing-evidence.md defines install and use
  and its recording examples pass a functional --cmd.
- component_matrix.build_alternative is host_verified only on a reviewed use pass (ACCEPTING_STAGES).
- Tests: an install-stage fail blocks; install plus an unreviewed or dissented use pass is conditional;
  install-only plus a blocking fail is conditional on both platforms; a help-only use receipt counts as install.
- QUALIFYING_STAGES is renamed BLOCKING_STAGES; verdict_flip_candidates reports supporting_receipts.
- The decision record's overturn is a measurable comparison.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
… a narrow lint

Codex re-check of be09a5e (P1-a, P1-b): the help/version classifier passed wrapped calls
(sh -c 'rtk --version', rtk help gain), refused functional ones (du -h /dev/null), and its summary
reclassification let a use fail stop blocking after an install pass on the same host (conditional to
accepted in 44 of 82,944 synthetic comparisons).
- The summary reclassification and the validate rule are removed; a recorded use receipt stays use.
- record refuses --stage use only when every command is exactly a program and one of --help, --version,
  -V, help or version; documented as a knowingly incomplete convenience (-h left out: df -h, du -h).
- contributing-evidence.md step 8 makes the reviewer record needs_changes on a use receipt that only
  calls help or version, however wrapped; the dissent rule then withholds accepted.
- Tests: a use fail followed by an install pass still blocks (three command forms, both platforms); a
  help-only use pass is withheld by a needs_changes review, not by its text; the lint's exact matches.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
…otion reproduced separately

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins merged commit 6afb664 into main Sep 24, 2026
22 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/platform-status-use-stage-20260924 branch September 24, 2026 08:19
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