Repository navigation
Require Trusted accounts for Ready issues and Spec Tickets - #743
Merged
Merged
Conversation
…. Please try a different model.) 2026-10-12T13:52:01Z, host stephens. Uncommitted work at the time of failure is included in this commit.
Resolve conflicts with main's ready-for-agent hand-back: - CONTEXT.md: the Ready issue definition requires Trusted accounts and accepts a hand-back after the last Claim ended. - src/ready.rs: check trust first, then started work unless handed back. - tests/pickup_run.rs: keep both sides' new scenarios. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188vcTRJjLc8H58zimabKgb
A Ticket needs no ready-for-agent labelling of its own (an unlabelled Ticket is taken), so the Spec run's full trust check stopped Day-shift Specs whose Tickets were never labelled. The Spec's own labelling is the one that counts, checked when a Pickup run takes it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188vcTRJjLc8H58zimabKgb
This was referenced Oct 20, 2026
Merged
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.
Summary
Define the fixed rule in
CONTEXT.mdand share it across Pickup, Architect, Security and Spec runs. Preserve full Ticket identities through the trust gate and child dispatch. Read all event pages; public read access alone does not establish collaborator membership.Closes #667
Evidence
The following CLI regressions failed before their fixes and passed afterward:
ready-for-agentFinal validation passed:
cargo test --no-fail-fast -- --test-threads=8: 1779 passed, 2 ignored across 41 test targets.cargo fmt --checkcargo check --all-targetscargo clippy --all-targets -- -D warningsThe continuation regression now checks one PR-history request with
--state all, allowing the required trust reads. After mergingmain, both Ticket trust tests and all 20 foreign-identity tests passed before the full suite.Test seam: the thirdshift CLI with real Git repositories and fake GitHub/Harness executables, covering Ready issue selection, Spec Ticket dispatch, fresh/continuation direct-run warnings and factory-created fix dispatch.
Review against
main(final fixed pointa9e2d535): Standards found one duplicated fake membership response, now extracted and confirmed addressed; Spec found none. Fresh final reviews found no additional findings. Both axes read all 13 changed files. Changed files left unread: none.Merge Danger
Door: two-way
Reverting restores the prior selection rule; no persisted data migration.
Blast Radius: dispatch
Unattended selection and Spec Ticket starts now require trust evidence. Failed GitHub lookups stop unattended work; direct Issue URL runs warn and continue.
Unaddressed findings
Standards
None. The sole finding was addressed.
Spec
None.
Security
No introduced Security finding was confirmed by source inspection of
a9e2d5353812ec3a6d6caefaa0c72838d79cfeb2...HEADat05bf60277e4399cfab59294f9d49cd93e1865b78, including all 13 changed files and supporting trust, identity, GitHub API and dispatch code.Review incomplete: the test selection included Security-run fixtures that execute audit validators, contrary to this session's explicit no-validator restriction. No source fixes were made.
Validation: Architect, continuation, fresh Run, Pickup and Security-run fixture targets passed (276 tests total). The Spec target finished with 63 passed and 8 failed. Those test failures have not been diagnosed or established as Security findings; validation remains incomplete.
Built with codex · gpt-6.1-sol · high
Security review outcome
Follow-up after review (c3678f2)
A Spec Ticket's start now checks only its author. A Ticket with no triage label is taken (CONTEXT.md, Unready Ticket), so requiring a ready-for-agent labelling on each Ticket stopped Day-shift Specs whose Tickets were never labelled. The Spec's own labelling still passes the full check when a Pickup run takes it.
a_ticket_needs_only_a_trusted_author_not_a_ready_label_of_its_ownreplaces the Ticket label-actor test; CONTEXT.md's Trusted account entry now states the Ticket rule.A fresh source-level Security review of the merged head found the gate fails closed (missing data, null or deleted actors, bots, unexpected membership responses) and no entry point that starts unattended work around it.