Repository navigation
Hand every child Run one set of child asks, built once after the Harness check - #879
Merged
Merged
Conversation
…ess check A Run now builds its ChildAsks (the Command's checked Harness, Model and Effort, its Security fix ask and its Security review ask) once, after its Harness check, and hands them unchanged to the Delivery, its Base fix and the Spec run's Tickets. ChildAsks also answers whether a Run of a given child kind runs its own Security review, replacing the Run's Ticket mask. The Base fix no longer keeps a Harness copy to re-sync, and the Delivery no longer carries a Security fix ask it never read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… in tests The Base fix's LaunchAndGitHub now takes the launch, issue and child asks straight from the Delivery, in place of a StartedFrom copy of the same fields. ChildAsks derives Default, so test fixtures need not spell it out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
A Run builds one
ChildAsksvalue after its Harness check: the Command's checked Harness, Model and Effort, its Security fix ask and its Security review ask. Every child Run is handed that same value unchanged.security::Optionsis deleted.Givencarriesasks: ChildAsks, and its hidden arguments are the same as before. The Security review entry inGLOSSARY.mdnow says a Base fix gets one when its Command asked for one, whichever Run started it.docs/code-navigation.mdpoints toChildAsks.Seams under test
ChildAsks::runs_security_review: whether a Run runs its own Security review, for each child kind.Given::to_args/Reader: the round trip of what a child Run is given.ghand Harness: a Run's Base fix, and a Spec run whose Ticket starts a Base fix.Evidence
only_a_ticket_s_run_skips_the_security_review_the_command_asked_forchecks none, Ticket and Base fix, with the Command's Security review ask on and off.what_a_child_run_is_given_reads_back_as_written_around_its_issue_url_and_a_flagnow crosses all four Security fix and Security review pairs with every Base fix ask, on both child kinds.base_fixes_inherit_the_security_review_choice(tests/security_review.rs) now asserts that Base fix Keeping the PR mergeable: merge the Base branch and conflict Repair #8's fourth session is a guidance Security review ofissue-8againstmain.a_base_fix_a_tickets_run_starts_runs_the_security_review_its_ticket_skips(tests/spec_run.rs) runs withbase-fix security-review. Sessions by issue are21, 22, 22, 20, 20: the Ticket has no review, its Base fix has one onissue-22againstissue-20, and the Spec PR has one.security_review_runs_once_after_spec_review_over_the_whole_spec_branchstill sees exactly one review, on the Spec PR.cargo fmt --check,cargo clippy --all-targets -- -D warningsandcargo test: all pass (cargo test: 0 failed across every target; the unit suite is 1115 passed, 2 ignored).Merge Danger
Door: two-way
An in-process re-plumbing that keeps behaviour. A parent and child Run are always the same binary, so the unchanged hidden arguments carry no cross-version risk.
Blast Radius: child-Runs
A mistake would show up as a child Run on the wrong Harness, or a Security review run or skipped wrongly. The tests above pin each of those rules.
Review
Both axes read every changed file. No changed file was left unread, and no generated output was excluded.
Fixed from the review:
StartedFromcopy of the Base fix'sLaunchAndGitHubfields is deleted.BaseFix::fixtakes itsLaunchAndGitHubdirectly.ChildAsksderivesDefaultfor test fixtures.StartedFromscope note is resolved by the same deletion.Unaddressed findings
Standards
Asksstill holdsharness,security_fixandsecurity_reviewas loose fields, a half-bundled clump. Refuted by the issue's plan decision "Asks keeps its flat fields… The child asks are derived from Asks once, and a child's Asks are rebuilt from them in the one existing place" (src/asks.rsAsks::of_child_run;src/child_run/asks.rsChildAsks::of).security_review: boolsits besidechild_asks.security_reviewin the Delivery and the Run'sLaunchAndGitHub. Refuted by the acceptance criterion "Its own Security review ask stays a separate fact". Each field's doc names it as the Run's own:src/delivery.rsDelivery::security_review("Whether the opening session is followed by a guidance Security review") andsrc/run.rsLaunchAndGitHub::security_review("Whether the Run runs its own Security review").child_asks.harnessis also the Run's own Harness (naming). Refuted by the plan decision "The Delivery's own sessions run on the child asks' Harness. One Harness per Command is already a glossary rule, so a separate Harness field on the Delivery would only duplicate it."runs_security_reviewmight belong onKind(Feature Envy). Refuted by the acceptance criterion "The child asks module answers whether a Run started as a given child kind (none, Ticket or Base fix) runs its own Security review."Spec
docs/code-navigation.mdgained aChildAsksrow (minor scope note). Kept. AGENTS.md has issue terms located through the domain-to-code index, and that row is where "which Runs run a Security review" is now found.Closes #876
🤖 Generated with Claude Code
Built with claude · claude-opus-5-5 · medium
Security review outcome
No unaddressed introduced findings.