Repository navigation
v1.91.267.0 docs(captain): observable questions are not the person's to answer (GSTA-124 follow-up) - #3503
Merged
Conversation
Captain-side reading of the rule shipped in plan-tune/SKILL.md.tmpl and docs/proactive.md (#3493, pstack item 4): a question a command, render or measurement can settle is settled by the thread; a Captain that receives one sends it back with the check that answers it. gstack holds the how; the Drive copy of captain.md syncs from main. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
😎 This pull request was merged. |
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
….267.0 FILES: CHANGELOG.md VERSION agents-digest/gstack-AGENTS.md package.json MERGE_CONDITION: sha=6e7b3c298f84358b474c90ba32bc3ef45b4e5792 next: NEW_VERSION=1.91.267.0; commit and push only the stamp diff above (FILES), with no edit of your own: the train's verify accepts the CHANGELOG only as the base's plus this PR's entry re-headed; merge with the expected head 6e7b3c2 and recompute on a stale queue. GSTACK_RESULT: skill=restamp status=complete run=/workspace/gstack/.gstack/tmp/restamp-journal.json Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
6 tasks done
4 tasks done
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.
What changed
One bullet in
capy/skill/gstack/captain.mdsection 1 ("How approvals work, per thread"), after "Always a fresh ask":Before: captain.md listed what always needs a fresh ask but said nothing about questions a thread can answer itself, so "is it faster?" could be relayed up as an ask. After: the thread runs the check and reports it; a Captain bounces an observable question back with the check that answers it. Plus the CHANGELOG entry under
## [Unreleased]. Docs only: no template, no generated output, no code.Why
Follow-up to #3493 (pstack absorb item 4, GSTA-124), which carries the same rule in
plan-tune/SKILL.md.tmplanddocs/proactive.md. This is the Captain-side reading. gstack holds the how; the Drive copy of captain.md needs the owner's recopy after this lands rather than a hand edit.Approvals
Summary
Test Coverage
Docs only; no test added, none expected. Tests ran: tests 34 (
test/capy-skill-wrapper.test.ts,test/captain-skill.test.ts,test/changelog-merge-damage.test.ts). Tests ran: typecheck count unavailable.Pre-Landing Review
Small diff (12 lines): specialists skipped, core checklist read. Pass 1 found one INFORMATIONAL item (the bullet lacked the local/read-only/free qualifier its sibling rule in #3493 carries, and the endpoint example read as a live call), fixed in a2e53c7. Pass 2 (range eb9e25c..a2e53c7) clean. Pass 3 (range a2e53c7..6e7b3c2, one CHANGELOG sentence from the documentation audit) clean. Pre-Landing Review: 1 issue — 1 auto-fixed, 0 asked, 0 deferred, 0 noted
REVIEW_LOOP: passes=3 blocking_found=0 deferred=0 noted=0 fixed=1 scope=frozen
Gate edits: none detected (0 listed, 0 read; patterns: RH-1,RH-3,RH-4,RH-12,RH-13,RH-14,RH-15,RH-16; unlisted idioms: none)
Outside review: Codex unavailable (CLI not installed on this machine); missing outside coverage. Native adversarial passes completed on the pass-2 range (4 INFORMATIONAL notes below) and the pass-3 range (NO FINDINGS).
Review notes
Below the blocking floor (advisory, informational, test-gap or wording items); recorded here and not fixed in this PR.
capy/skill/gstack/captain.md:30"reaches a live system" where v1.91.265.0 docs: absorb four pstack principles into ETHOS.md, the observable-questions rule and candidate-side eval blinding (GSTA-124) #3493's sibling rule says "live or third-party system"; the "test endpoint takes this payload" example is a submission rather than a read.capy/skill/gstack/captain.md:32"Only a product or preference call goes up" reads literally against the "Always a fresh ask" list above it and docs/captain.md's new-scope/conflict/access escalations; the sibling rule defines the phrase with a parenthetical.capy/skill/gstack/captain.md:32"spends money is still an ask" can be read as overriding a cited standing approval (SPEND).CHANGELOG.md:9the "syncs from main" claim; corrected by the documentation audit in 6e7b3c2.Exploratory QA
No executable surface changed (one Markdown bullet and a CHANGELOG line); the smoke probes were the three test files above at the final tree (34 pass) and a read of the rendered bullet in place. No findings.
Design Review
No frontend files changed — design review skipped.
Eval Results
No prompt-related files changed — evals skipped (captain.md is a Capy-side guide, not a SKILL.md template; no paid case reads it). The PR's E2E Evals lane planned nothing paid.
Greptile Review
No Greptile comments.
Plan Completion
Captain's brief (GSTA-36, 2026-10-26): add the bullet after "Always a fresh ask", trimmed to its neighbours' length, keeping the "sends it back with the check that answers it" sentence; trial-merge against #3487 and #3496; capy-skill tests. 1 of 1 DONE. Trial merges: #3487 and #3496 conflict in CHANGELOG.md only (additive at the stamp); captain.md merges cleanly with #3496's pin 413bce8.
Verification Results
No Step 8.1 obligations; required probes: 3 test files PASS at 6e7b3c2.
Issues
Refs #3493
TODOS
No TODO items completed in this PR.
Documentation
Status: current. No documentation edits were needed; the Step 6 consistency pass found items for the parent, all recorded as decisions (nothing blocks).
Scope. Spawned ship-owned audit (gsta124b-docs-20261026T233307Z), mode edit, Steps 1, 1.5, 2–4 and 6. Base 7dc2f23, head a2e53c7 at audit time; the one later commit (6e7b3c2) changes a CHANGELOG sentence the audit itself asked for. Read in full: CHANGELOG.md (entry), capy/skill/gstack/captain.md, docs/captain.md, docs/proactive.md, capy/skill/gstack/SKILL.md, the "Working under a Captain" section of docs/capy-install.md and the
capy-askstext in bin/gstack-skill-start.Result. The new section 1 bullet is consistent with docs/captain.md (the controller already decides what needs no access, credentials, spend or cited approval; the bullet keeps spend and live-system calls as asks). It agrees with the observable-questions text in docs/proactive.md and plan-tune/SKILL.md.tmpl, which exist only on open PR #3493; this PR adds no link to them and does not depend on #3493 landing first. The bullet is deliberately stricter (local, read-only, free). The audit's one decision for the parent, that "The Drive copy of captain.md syncs from main" is unsupported (capy/skill/gstack/SKILL.md and docs/capy-install.md describe the owner recopying the folder), was applied in 6e7b3c2.
Documentation health:
CHANGELOG.md Current (entry matches the diff; wording corrected per the audit)
capy/skill/gstack/captain.md Current (the new bullet matches the described behavior)
docs/captain.md Current (no contradiction; no edit)
docs/proactive.md Current at this base (the sibling rule lives on #3493)
capy/skill/gstack/SKILL.md Current; does not repeat the new rule (debt)
docs/capy-install.md Current
Coverage debt (reported, not filled): the rule is documented only in captain.md; the lane-side "Working under a Captain" section of capy/skill/gstack/SKILL.md, the
capy-asksshort form in bin/gstack-skill-start and docs/captain.md (Lane discipline) do not repeat it. No diagrams touched.Test plan
bun test test/capy-skill-wrapper.test.ts test/captain-skill.test.ts test/changelog-merge-damage.test.ts: 34 pass, 0 fail (gstack-evidence labeltests, 6e7b3c2).bun run typecheck: clean (gstack-evidence labeltypecheck, 6e7b3c2).gstack-pregate --stage tests --remote --spend-cap 2 --timeout 2700 --allow-repo-commands, standard-8): PREGATE_REMOTE tree=007198c400f6 tests=9265 failed=0 spent=$0.03; macOS (run 40420942438) and Windows (run 40420942408) lanes cleared from PR CI at 6e7b3c2;gstack-pregate verify: ok.🤖 Generated with Claude Code