pi-gauntlet 7.8.1 → 7.8.2
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 +6 -0
- package/README.md +1 -1
- package/agents/spec-council-member.md +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v7.8.2 - 2026-10-11
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Spec council `over-spec` review covers unrelated extras and sufficient in-scope simplifications, while protecting human-selected mechanisms and indispensable coverage.
|
|
8
|
+
|
|
3
9
|
## v7.8.1 - 2026-10-11
|
|
4
10
|
|
|
5
11
|
### Changed
|
package/README.md
CHANGED
|
@@ -100,7 +100,7 @@ Run by a human against pi-cohort >= 7.1.0, before a pi-gauntlet release claims t
|
|
|
100
100
|
| Term | Meaning |
|
|
101
101
|
| --- | --- |
|
|
102
102
|
| Gate | A machine-enforced checkpoint between phases (e.g. within a brainstorming-entered flow, `complete verify` is blocked until conformance review has run). Not a suggestion. |
|
|
103
|
-
| Spec council | Multi-model critique of the spec before you see it (`roasting-the-spec`); members also
|
|
103
|
+
| Spec council | Multi-model critique of the spec before you see it (`roasting-the-spec`); members also flag unrelated extras or sufficient in-scope simplifications (`over-spec`) for cuts or replacements before planning, every member closes with a `lean:` line - "nothing to cut" is a first-class answer - and the chair tallies them (`lean: <k> of <n> members found nothing to cut`). Falls back to a single-model critique if no council is configured. |
|
|
104
104
|
| Conformance gate | The closing check: does the delivered code + docs match your *original prompt*, not the derived plan? Compatible executable recommendations auto-fix first; anything still open renders as a dense one-line-per-decision list with each recommended choice inline. Reply `1` to accept all recommendations or `2:` with per-item overrides; a current `CONFORMS` / no-concerns handoff goes straight to branch options with no extra sign-off. |
|
|
105
105
|
| Wave | A batch of plan tasks that don't touch the same files, dispatched to implementers in parallel. |
|
|
106
106
|
| Overrides file | `.pi/gauntlet-overrides.md` - where you put project-specific detail the generic skills don't know (CI command, worktree wrapper, routing rules). |
|
|
@@ -63,9 +63,9 @@ lean: nothing to cut | <N> over-spec findings above
|
|
|
63
63
|
|
|
64
64
|
**`over-spec`.** Flag a clause only when all three are true:
|
|
65
65
|
|
|
66
|
-
1.
|
|
67
|
-
2.
|
|
68
|
-
3.
|
|
66
|
+
1. Identify an unrelated extra or name a simpler implementation or proof alternative and show why it preserves the requirements. Cost or style alone does not establish sufficiency.
|
|
67
|
+
2. Match the proposed removal or replacement against the supplied `Human input`: protect explicitly required mechanisms and proof techniques, not an agent's choice of mechanism for a requested outcome.
|
|
68
|
+
3. Show that the proposed cut or replacement preserves required behavior, coverage, and safety. Retain a needed clause without an adequate smaller replacement.
|
|
69
69
|
|
|
70
70
|
Any test fails -> not a finding. Unsure on 2 -> not a finding. `Human input` block missing or empty -> no over-spec findings, `lean: nothing to cut`. One line per finding:
|
|
71
71
|
|
|
@@ -73,7 +73,7 @@ Any test fails -> not a finding. Unsure on 2 -> not a finding. `Human input` blo
|
|
|
73
73
|
- [major|minor] over-spec @ "<quoted spec clause>" — no human input requires this (closest human input: "<quote>" | none); adds: <M> files / <N> tests / <K> ACs; if cut, unprotected: <failure | nothing> → cut | shrink to <replacement>
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
`major` = buys >= 1 new file or >= 3 tests; else `minor`; never `blocker`. `adds:` = your estimate of the surface the clause forces. `unprotected:` = the
|
|
76
|
+
`major` = buys >= 1 new file or >= 3 tests; else `minor`; never `blocker`. `adds:` = your estimate of the surface the clause forces. `unprotected:` = the remaining uncovered failure after the proposed cut or replacement; `nothing` is a valid answer. `closest human input:` quotes the `Human input` block, never the spec.
|
|
77
77
|
|
|
78
78
|
Finding: spec says "S6: compute a `checksum` over child names, expose `meta.checksum`, add a reconciliation job flagging mismatches"; the human input said "return the folder tree as JSON like the HTML view"; nothing else in the spec depends on S6 -> `- [major] over-spec @ "S6 ... reconciliation job" — no human input requires this (closest human input: "return the folder tree as JSON like the HTML view"); adds: 2 files / 6 tests / 1 AC; if cut, unprotected: nothing → cut`. Non-finding: spec adds `format: false` on three compliance route mounts; nobody asked, but without it `.json` suffixes 404 on those mounts, so the JSON view cannot be delivered - leg 3 fails, not over-spec.
|
|
79
79
|
|
package/package.json
CHANGED