docs(changelog): ask-don't-guess doctrine
This commit is contained in:
@@ -11,19 +11,19 @@ rule changes for all work, hotfix included; classes VISIBLE / PUBLIC NAME /
|
||||
SCOPE ask, internal technical choices never. Spec:
|
||||
`docs/superpowers/specs/2026-09-16-ask-dont-guess-design.md`; plan:
|
||||
`docs/superpowers/plans/2026-09-16-ask-dont-guess.md` (9 tasks, lock-first).
|
||||
- [ ] P1 `lib/contract-interview.md` — STEP 2 CLARIFY (pass A gaps, pass B
|
||||
- [x] P1 `lib/contract-interview.md` — STEP 2 CLARIFY (pass A gaps, pass B
|
||||
open choices), MID-RUN CLARIFICATION, HOW TO ASK; 9 locks in
|
||||
`contract-verifier.test.sh`
|
||||
- [ ] P2 `CLAUDE.global.md:51-55` — "Ask rather than guess" replaces the
|
||||
- [x] P2 `CLAUDE.global.md:51-55` — "Ask rather than guess" replaces the
|
||||
one-question rule; bug line reconciled
|
||||
- [ ] P3 `skills/feat/SKILL.md` — pass B at STEP 1, NEED-DECISION routed on class
|
||||
- [ ] P4 `skills/bugfix/SKILL.md` — pass B at STEP 3, NEED-DECISION routed on class
|
||||
- [ ] P5 `skills/hotfix/SKILL.md` — pass B at LOCATE, tagged BLOCKED relayed;
|
||||
- [x] P3 `skills/feat/SKILL.md` — pass B at STEP 1, NEED-DECISION routed on class
|
||||
- [x] P4 `skills/bugfix/SKILL.md` — pass B at STEP 3, NEED-DECISION routed on class
|
||||
- [x] P5 `skills/hotfix/SKILL.md` — pass B at LOCATE, tagged BLOCKED relayed;
|
||||
lock `loops-light.test.sh:84`
|
||||
- [ ] P6 `skills/ship-feature` STEP 2 + `skills/init-project` contract §/STEP 3
|
||||
- [ ] P7 `agents/interviewer.md` — visible/public/scope item never `(assumed)`
|
||||
- [ ] P8 `agents/{feater,bugfixer,hotfixer}.md` — CLASS tag; 3 locks in `gates.test.sh`
|
||||
- [ ] P9 `make test`, CHANGELOG, TODO tick; manual behavioral check before merge
|
||||
- [x] P6 `skills/ship-feature` STEP 2 + `skills/init-project` contract §/STEP 3
|
||||
- [x] P7 `agents/interviewer.md` — visible/public/scope item never `(assumed)`
|
||||
- [x] P8 `agents/{feater,bugfixer,hotfixer}.md` — CLASS tag; 3 locks in `gates.test.sh`
|
||||
- [x] P9 `make test` green (2026-09-16), CHANGELOG, TODO tick; manual behavioral check still OPEN before merge
|
||||
- [ ] P10 registries at capitalize: BDR (supersedes the one-question rule),
|
||||
LRN (taste is invisible to a gap-only trigger; fresh re-dispatch cost
|
||||
favors plan-time questions)
|
||||
|
||||
@@ -28,6 +28,25 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
|
||||
destructive command under auto mode.
|
||||
|
||||
### Changed
|
||||
- **Ask, don't guess: the orchestrators ask about open choices instead of
|
||||
settling them.** `CLAUDE.global.md` replaces "one question upfront, never
|
||||
mid-task" with: a choice visible in the result, a name that becomes
|
||||
public, or a scope the request does not settle → ask, even mid-task;
|
||||
internal technical choices stay Claude's. `lib/contract-interview.md`
|
||||
STEP 2 becomes CLARIFY: pass A (the three gap checks, at contract time)
|
||||
and pass B (the open-choice sweep in three classes, run once at each
|
||||
flow's PLAN step, no question cap, over-5 guard, "you decide" recorded as
|
||||
delegated). New MID-RUN CLARIFICATION section: an executor's
|
||||
`NEED-DECISION` carries a `CLASS:` tag; visible / public-name / scope go
|
||||
to the user verbatim, internal is decided in the loop; answers land in
|
||||
the contract `[gated]`. New HOW TO ASK section (LRN-102). `/feat`,
|
||||
`/bugfix`, `/hotfix`, `/ship-feature`, `/init-project` wire pass B at
|
||||
their plan step; `/feat` and `/bugfix` stop deciding `NEED-DECISION`
|
||||
themselves; `/hotfix` drops "zero questions ever" and allows one
|
||||
re-dispatch for a class-tagged BLOCKED; the interviewer never ships a
|
||||
visible / public-name / scope item as `(assumed)`; feater, bugfixer and
|
||||
hotfixer report the class. Locks updated in the `contract-verifier`,
|
||||
`loops-light` and `gates` tests.
|
||||
- **The classifier, not `permissions.ask`, now guards destructive shell
|
||||
work** (BDR-090). Ten rules left the static tiers: `rsync`, `kill -9`,
|
||||
`killall`, `pkill` out of `deny`, and `python3 -c`, `python -c`,
|
||||
|
||||
Reference in New Issue
Block a user