docs: add worktree verification recipes - #8223
Conversation
Design Review (Fable 5) — 🟡 CONCERNSDesign-level review of Design-Verdict: CONCERNS Solid, honest verification guide — but it bakes an unmerged PR's interface and number into main and a shipped skill, held in sync only by prose. Watch
Suggestions
[DESIGN-REVIEWED] 9414480 |
Opus 4.8 Review — ✅ no blocking findingsReviewed Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
First Principles Review (Fable 5) — 🟡 CONCERNSPremise-level review of All references verified: the feature map, fixtures, and pod-e2e skill exist; First-Principles-Verdict: CONCERNS A guide of "copy-pasteable proof traces" ships one trace documented as failing and pins an unmerged PR's interface, with merge choreography baked into permanent docs. What this change shipsIntent: let an agent prove a code change against an isolated running gateway by following documented traces. ADDITION.
Watch
Subtractions
[FIRST-PRINCIPLES-REVIEWED] 9414480 |
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
e35a355 to
c856969
Compare
|
|
|
|
|
|
c856969 to
9414480
Compare
Open PR relationship auditThis is a consolidated, point-in-time code-level audit note. It compares complete merge-base diffs and current/merged code; it does not treat a shared topic as duplication or partial coverage as completion. Relationship findings
No PR, Issue, label, branch, or review state was changed by the relationship-note portion of this audit. |
bolichen97
left a comment
There was a problem hiding this comment.
Docs + packaged-skill only (0 deletions, no code), and the factual claims hold up against the source rather than just reading plausibly: the minimal fixture's job names are exactly "daily minimal fixture ping" and "paused weekly recap", the five session-control routes and their methods match handlers/session_control.py, and the recorded 403 code: internal_secret_required is that module's real denial. The part I'd normally push back on is instead the best thing here — Recipe 3 is documented as NOT executable through #8218 and kept as an acceptance trace, rather than shipped as a green recipe that returns 403. Non-blocking: the guide is explicitly sequenced after #8218 and its pod api recipes preflight on the verb's presence, so landing this first degrades to a self-describing failure rather than a silently wrong instruction — but it should still merge after #8218 as the doc asks.
Add worktree verification recipes and discoverability wiring
Slice 5 — the final slice — of the verification-controller plan. An agent that changed Kiro Crew code can now follow a documented, copy-pasteable trace to prove the change against a real running Kiro Crew instead of rediscovering the command sequence. No new verbs, no new CLI code, no new fixtures: documentation and discoverability only.
The doc
docs/guides/worktree-verification-recipes.md— four end-to-end traces, each stating what it asserts, not just what it runs:pod scenarios→pod up --seed minimal --json→pod api GET <endpoint>with ajqassertion against the seeded state →pod down. Shows how the feature map turns a user-facing feature into the handler and endpoint to hit, with the Schedule →/api/cronsrow as the worked example.rich, then the pod-e2e harness (real invocation, including--no-suppress-first-runfrom fix: forward --no-suppress-first-run through the pod-e2e harness #8087), verdict-file and screenshot-evidence assertions, and thePLAYWRIGHT_SPEChook for feature-specific assertions./api/session-control/{create,send,read,stop,close}routes with payload shapes verified against the dashboard server source.pod ls/status/logs/prune.Discoverability: a root
AGENTS.md"Read before you touch" row, thedocs/guides/README.mdindex entry, and a section in the packagedkirocrew-worktree-devskill (undersrc/kiro_crew/builtin_skills/, the path that reaches installed users).Honest finding recorded in the doc
Recipe 3 is not executable through #8218 as implemented: the session-control routes require a validated
X-Internal-Secretand take the caller fromX-Session-Key, whilepod apisends only the dashboard query token. A live probe returned HTTP 403internal_secret_required. The doc says so plainly and keeps the trace as the acceptance criteria for closing that gap, rather than presenting it as working. Whether to extendpod apifor it is a scope decision deliberately not made here.Accuracy discipline
Every command was verified against CLI source; the lifecycle and diagnostic traces were additionally executed live: scenario listing, seeded
minimalboot,/api/cronsreturning 200 with both fixture jobs, health 200, zero-residue teardown.pod apisyntax was verified against PR #8218's implementation; because this doc may merge first, it states which commands are on main today and which arrive with #8218, and its recipes preflight for the verb's presence. Only the three packaged scenarios (empty,minimal,rich) are used; the ten specialized payloads stay deferred until a recipe demonstrates need.Verification
Docs lint (259 files), brand, and harness-parity gates green; all seven bash blocks pass
bash -n; the 33 skill-wiring tests pass. 4 files, +273/−0, docs and skill only.