feat: add pod scenarios discovery command - #8127
Conversation
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsFINDING -- src/kiro_crew/pod/cli.py:925 -- function-local False positive or not applicable? A repository writer can comment: |
Design Review (Fable 5) — ✅ PASSDesign-level review of All context gathered. The verb is per-verb gated (works cross-platform, correct for a read-only listing), the helper sits in the right layer ( Design-Verdict: PASS A real discovery gap, closed with a proportionate additive verb; layering, cross-platform behavior, and degradation story are all right. Suggestions
[DESIGN-REVIEWED] fc53bb5 |
First Principles Review (Fable 5) — 🟡 CONCERNSPremise-level review of I have everything I need: the contract, the intent, the patch, First-Principles-Verdict: CONCERNS
What this change shipsIntent: let an operator or agent list the seed scenario names
Watch
Subtractions
[FIRST-PRINCIPLES-REVIEWED] fc53bb5 |
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: |
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. |
Add the pod scenarios discovery command
Slice 2 of the verification-controller plan:
pod up --seed <scenario>(merged in #7841) accepts packaged scenario names, but nothing lists what those names are — an agent or operator had to read the fixtures tree. This adds the discovery verb and nothing else.Behavior
SCENARIO DESCRIPTIONtable ending with a copy-pasteablepod up --seedhint;--jsonemits a stable[{"name", "description"}]array.description:scalar via a narrow dependency-free parser (plain scalars and|/>blocks). PyYAML stays out of the runtime dependency set — the recorded feat: seed pod homes from named scenarios #7841 decision — and a test pins this by nullingsys.modules["yaml"]. A missing or malformed description degrades to an empty field, never a command failure.[]in JSON mode, a one-line diagnostic in human mode, exit 0 either way. Unknown flags exit 2 via argparse.Scope
Command + focused tests + command docs only (
docs/system-specs/modules/cli.mdrow, pod README section). No fixture additions, no lifecycle changes, no auth or HTTP code, no recipes.pod/runtime.pyis untouched;seed.pygains only the read-onlyfixture_summaryhelper. 6 files, +188/−3.Verification
HOME/KIROCREW_HOMEand pinned encoding.Next in the plan (sequential lane):
pod apiopens after this merges, per the one-pod-capability-PR-at-a-time rule.