@gobing-ai/spur 0.3.78 → 0.3.80
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/.claude-plugin/marketplace.json +1 -1
- package/config/templates/AGENTS.md +26 -23
- package/config/templates/docs/00_ADR.md +13 -23
- package/config/templates/docs/01_PRD.md +5 -2
- package/config/templates/docs/02_ROADMAP.md +9 -13
- package/config/templates/docs/03_ARCHITECTURE.md +2 -2
- package/config/templates/docs/04_DESIGN.md +12 -31
- package/config/templates/docs/05_FEATURES.md +6 -18
- package/config/templates/docs/99_PROJECT_CONSTITUTION.md +162 -394
- package/package.json +9 -9
- package/plugins/sp/README.md +12 -7
- package/plugins/sp/agents/super-reviewer.md +43 -8
- package/plugins/sp/plugin.json +1 -1
- package/plugins/sp/scripts/verify-answer-lint.ts +21 -3
- package/plugins/sp/skills/conflict-finding/SKILL.md +6 -0
- package/plugins/sp/skills/daily-summary/SKILL.md +1 -1
- package/plugins/sp/skills/doc-evolve/SKILL.md +26 -40
- package/plugins/sp/skills/doc-evolve/references/operations.md +17 -30
- package/plugins/sp/skills/spur-cli/references/tasks/verbs.md +17 -1
- package/plugins/sp/skills/spur-cli/references/tasks.md +31 -1
- package/plugins/sp/skills/spur-dev/references/ac-style-guide.md +14 -0
- package/plugins/sp/skills/spur-dev/references/cross-cutting.md +3 -3
- package/plugins/sp/skills/spur-dev/references/done-housekeeping.md +12 -0
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +46 -4
- package/spur.js +363 -258
|
@@ -128,6 +128,18 @@ silently incomplete (H6 shipped at 23/48 that way, with one verdict carrying an
|
|
|
128
128
|
`acceptanceCriteria` array and still reading PASS). See `ac-style-guide.md` §
|
|
129
129
|
"Verdict AC ↔ feature scenario linkage" for the id forms and evidence vocabulary.
|
|
130
130
|
|
|
131
|
+
**Parser contract (verify-answer-lint + `task verdict`, 0817 re-verify findings):**
|
|
132
|
+
|
|
133
|
+
1. The requirement id cell must be the **bare** id — `| R1 | MET | … |`. Suffixes (`R1 (AC1)`) or
|
|
134
|
+
decoration (`**R1**`) fail the exact-match completeness check (`missing requirement row`).
|
|
135
|
+
2. The AC table only opens when the header's **third** cell contains the word "evidence" — use
|
|
136
|
+
`| AC | Status | Evidence Type | Evidence |`. `| AC | Status | Type | Evidence |` silently
|
|
137
|
+
parses zero AC rows while lint still reports PASS.
|
|
138
|
+
3. A behavioral AC marked `MET` with a non-executable evidence type (`static-ref`,
|
|
139
|
+
`manual-review`, `llm-judge`) is **downgraded to PARTIAL** by `task verdict`, making the whole
|
|
140
|
+
verdict PARTIAL. Use `test`/`command` (grep-based verification counts as `command`), or tag the
|
|
141
|
+
AC id `[non-behavior]`/`[advisory]` when executable evidence genuinely doesn't apply.
|
|
142
|
+
|
|
131
143
|
**Invariant:** a force-done task has a non-empty `done_reason` naming the timeout, a verdict
|
|
132
144
|
artifact whose AC rows cover every declared scenario, and a green lint/test run recorded in
|
|
133
145
|
`## Testing`.
|
|
@@ -244,10 +244,52 @@ No token estimate, stage-size threshold, model heuristic, or configuration switc
|
|
|
244
244
|
resolved absolute path, not the YAML's relative string, is what the dispatched agent is instructed
|
|
245
245
|
to write and what post-join validation reads. Resolving once at the dispatch boundary fixes every
|
|
246
246
|
surface at once; a relative path would resolve against whatever cwd the writer process happens to
|
|
247
|
-
have.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
247
|
+
have.
|
|
248
|
+
|
|
249
|
+
**Dispatch payload (task 0818 R2).** Send exactly these five fields. The earlier "send only the
|
|
250
|
+
stage id, the slash command, and the no-recursion notice" restriction is **deliberately replaced**:
|
|
251
|
+
the execution-tree cwd, the Spur invocation, and the output path are all already resolved at this
|
|
252
|
+
boundary, and a delegate left to re-derive them re-derives them against its own cwd and PATH.
|
|
253
|
+
|
|
254
|
+
1. The stage id.
|
|
255
|
+
2. The YAML's **exact** pure slash command — unchanged, never reformulated.
|
|
256
|
+
3. `execution surface already resolved: native subagent; do not dispatch this stage again`.
|
|
257
|
+
4. The **confirmed execution-tree cwd** (absolute) and the **resolved absolute Spur invocation** —
|
|
258
|
+
`vars.spurBin`, i.e. `resolveSpurBin()`'s `<runtime> <mainModule>` form
|
|
259
|
+
(`apps/cli/src/workflow/resolve-spur-bin.ts`). The delegate MUST run every Spur command through
|
|
260
|
+
that invocation and MUST NOT rely on a bare `spur`: a competing `spur` earlier on the delegate's
|
|
261
|
+
PATH otherwise wins. Setting `SPUR_BIN` alone does **not** change bare-command resolution — only
|
|
262
|
+
using the supplied invocation does. Spur-owned scripted calls take it through the existing
|
|
263
|
+
`--spur-bin` flag rather than a new mechanism.
|
|
264
|
+
5. The **resolved absolute output path** (`answerFile`/`expectFile`, resolved as above) and the
|
|
265
|
+
**owning stage's artifact contract** — for a verify stage, the compact contract below.
|
|
266
|
+
|
|
267
|
+
Nothing else: no task/session transcripts, no machine-specific session paths. The WBS/path already
|
|
268
|
+
carried by the slash command remains the task handoff.
|
|
269
|
+
|
|
270
|
+
**Verify-stage artifact contract.** A verify handoff names
|
|
271
|
+
[`code-verification/references/verdict-schema.md`](../../code-verification/references/verdict-schema.md)
|
|
272
|
+
as the canonical answer schema and carries this compact form verbatim:
|
|
273
|
+
|
|
274
|
+
```text
|
|
275
|
+
Verdict: PASS|PARTIAL|FAIL top-level, one line
|
|
276
|
+
| Req | Status | Evidence | Status = MET | PARTIAL | UNMET
|
|
277
|
+
(N/A and PASS are NOT valid requirement statuses)
|
|
278
|
+
| AC | Status | Evidence Type | Evidence | Status = MET | PARTIAL | UNMET | N/A (justified)
|
|
279
|
+
Evidence Type = test | command | static-ref | manual-review | llm-judge | n/a
|
|
280
|
+
AC rows use the task's exact AC identities (verbatim `Scenario:` titles / checklist text).
|
|
281
|
+
A behavioral AC marked MET requires executable evidence (test | command);
|
|
282
|
+
static-ref or llm-judge alone cannot carry it.
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Review-stage artifact contract.** A review handoff carries the Review output contract owned by
|
|
286
|
+
`plugins/sp/agents/super-reviewer.md` — native `P1 (blocker)` / `P2 (major)` / `P3 (minor)` /
|
|
287
|
+
`P4 (advisory)` priority cells and section-relative headings — **not** the verify answer schema.
|
|
288
|
+
|
|
289
|
+
This is an invocation and handoff fix, not a runtime PATH-injection subsystem: it makes no guarantee
|
|
290
|
+
about arbitrary bare commands in host shells or agent-generated shells.
|
|
291
|
+
|
|
292
|
+
Dispatch exactly one native subagent and wait for it; the inline FSM
|
|
251
293
|
must not advance actions or guards concurrently (one writer at a time). After join, validate
|
|
252
294
|
`answerFile`, `expectFile`, `requireDiff`, task scope, and the action's error policy from the shared
|
|
253
295
|
filesystem — a subagent success message is not evidence. On success append exactly:
|