pi-gauntlet 5.6.0 → 5.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v5.6.1 - 2026-09-17
4
+
5
+ - `brainstorming`: the questionary looks up questions the code, docs, or issue tracker already answer instead of asking; every question it does ask ends with `Recommendation: <answer> - <why>` (including the ask to accept a corrected fact); before approaches, a plain-prose premise note in chat names which design-dependent claims the sources support, disprove (with the corrected fact and where), or leave unverified - a contradicted claim stops the flow until the user accepts the correction or explicitly overrides, with the outcome recorded in the draft. One checklist pointer, one Red Flags entry. (#32)
6
+ - AGENTS core v4: exactness via the example, no inline SHAs, no spiderweb replies.
7
+
3
8
  ## v5.6.0 - 2026-09-16
4
9
 
5
10
  - `plan-tracker`: pending-suffix rule enforced at runtime - an `update` that would leave a `pending` task ahead of a started or finished one is rejected with a message naming every offending task, the legal fixes, and the current snapshot; state is unchanged and widget replay / `phase_tracker` ignore the rejection. `update` never sets `pending`. New terminal status `skipped` (`⊘`, not applicable in this run, counted done). `init` accepts `{ name, status }` elements (mixable with strings) to recreate a list with known statuses. Registered with sequential execution. Counts are labelled `done` (`complete + skipped`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-gauntlet",
3
- "version": "5.6.0",
3
+ "version": "5.6.1",
4
4
  "description": "Opinionated, gated workflow skills, subagent personas, and runtime extensions for the pi coding agent.",
5
5
  "author": "Jacek Juraszek",
6
6
  "type": "module",
@@ -61,7 +61,8 @@ Work through the items below **in order**. This is your own checklist to follow,
61
61
  substep. Unconditional, foreground, no user interaction — the next thing the user
62
62
  sees is a questionary question. This produces the draft; the step below consumes it.
63
63
  4. **Understand the idea against the draft** — `Read` the draft, verify load-bearing
64
- claims against real code, ask questions one at a time, append citable findings
64
+ claims against real code, ask questions one at a time, append citable findings;
65
+ then state the chat premise note (section 3) before approaches
65
66
  5. **Propose 2-3 approaches** — with trade-offs and a recommendation
66
67
  6. **Present the design** — in two rounds, one approval each
67
68
  7. **Write the spec** — to `doc/specs/` (see [Filename Convention](#filename-convention)); then mark any known superseded predecessor(s) per [Marking superseded specs](#marking-superseded-specs), at the exact-order position defined in [Spec Self-Review](#spec-self-review-before-user-review-gate)
@@ -143,13 +144,30 @@ path.
143
144
  section starts that answer; confirm it before designing from scratch.
144
145
  - Ask questions **one at a time** to refine the idea. Prefer multiple-choice; one
145
146
  question per message. Focus on: purpose, constraints, success criteria, who/what
146
- it touches.
147
+ it touches. Before asking, check whether the code, the docs, or the issue tracker
148
+ already answer it - if so, look it up instead of asking (dispatch a subagent when
149
+ the lookup is costly), and ask only what no source can answer. Every question you
150
+ ask, including asking the user to accept a corrected fact, ends with the line
151
+ `Recommendation: <answer> - <why>` - the answer, then " - ", then the reason.
147
152
  - **Append bar:** append to the draft's `## Appended during questionary` only
148
153
  findings the spec will cite — schema shapes, hard constraints, ticket-vs-code
149
154
  contradictions, user answers that changed scope. Not a log of every grep.
150
155
  (Appending uses `edit`; the `edit` prohibition in the spec-writing step applies
151
156
  only there.)
152
157
 
158
+ Before proposing approaches, state the premise note in chat: what the design depends
159
+ on, which of those claims the sources support and where you saw it (a file and line,
160
+ a doc, a ticket), which they disprove - give the corrected fact and where you found
161
+ it - and which remain unverified, naming the lookup you tried. Write it as a note a
162
+ person can act on: full sentences, no status-keyword lists, no template; when the
163
+ design depends on no claims at all, one sentence saying so is enough. An unverified claim is not a stop - it enters the
164
+ spec as an Open Question or a stated assumption. If a claim the design depends on was
165
+ contradicted, the note is your next message and it ends by asking the user to accept
166
+ the corrected fact or explicitly override it; nothing else continues - no other
167
+ questions, no approaches - until they answer, and the outcome is recorded in the draft's
168
+ `## Appended during questionary` so spec-writing carries it into `## Problem` or the relevant `## Design`
169
+ decision.
170
+
153
171
  ### 4. Explore approaches
154
172
 
155
173
  - Propose 2-3 different approaches with trade-offs.
@@ -382,6 +400,7 @@ Redraw: keep the worktree and the approved spec file. `plan_tracker({ action: "c
382
400
  - Running, deploying, or validating the proposed change before approval.
383
401
  - Proceeding to `/skill:writing-plans` before the user approves the spec, or invoking `/skill:brainstorming` to amend an approved spec.
384
402
  - Writing a replacement spec without the known predecessor's banner, or offering a multi-spec split that fails `../shape-ticket/reference/split-axes.md`.
403
+ - Proposing approaches while a contradicted claim is unresolved.
385
404
 
386
405
  ## Project overrides
387
406