@gobing-ai/spur 0.3.93 → 0.3.94
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/rules/boundary/test-subpath-boundary.yaml +48 -0
- package/config/rules/strict/runtime-boundaries.yaml +2 -1
- package/config/rules/structure/protected-files.yaml +4 -0
- package/config/workflows/task-pipeline.yaml +17 -26
- package/package.json +9 -9
- package/plugins/sp/README.md +1 -1
- package/plugins/sp/commands/dev-review-session.md +4 -4
- package/plugins/sp/commands/dev-review.md +16 -5
- package/plugins/sp/hooks/pi/guard-extension.ts +17 -36
- package/plugins/sp/lib/idea-handoff.generated.mjs +1 -1
- package/plugins/sp/lib/inline-run.generated.d.mts +2 -0
- package/plugins/sp/lib/inline-run.generated.mjs +29 -8
- package/plugins/sp/plugin.json +1 -1
- package/plugins/sp/scripts/inline-run-setup.mjs +42 -4
- package/plugins/sp/scripts/inline-run-setup.ts +78 -4
- package/plugins/sp/scripts/quality-gate.mjs +11 -4
- package/plugins/sp/scripts/quality-gate.ts +22 -7
- package/plugins/sp/scripts/residual-scan.mjs +1 -1
- package/plugins/sp/scripts/residual-scan.ts +2 -1
- package/plugins/sp/skills/session-review/SKILL.md +11 -9
- package/plugins/sp/skills/spur-dev/references/dev-operations.md +8 -2
- package/plugins/sp/skills/spur-dev/references/execution-batch.md +45 -17
- package/plugins/sp/skills/spur-dev/references/flag-glossary.md +16 -3
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +16 -2
- package/spur.js +19288 -20178
- package/web/_astro/BoardApp.C02hAHPO.js +1 -0
- package/web/_astro/{BoardApp.CerSBgis.js → BoardApp.FTEs3-N8.js} +107 -105
- package/web/_astro/{TaskDetail.DCqiC-OZ.js → TaskDetail.C-GdsS-t.js} +1 -1
- package/web/_astro/arc.uuAf51IT.js +1 -0
- package/web/_astro/{architectureDiagram-3BPJPVTR.DM_vp_hO.js → architectureDiagram-3BPJPVTR.CGe629A1.js} +1 -1
- package/web/_astro/{blockDiagram-GPEHLZMM.DXVIiv0p.js → blockDiagram-GPEHLZMM.D1mGCq3p.js} +1 -1
- package/web/_astro/{c4Diagram-AAUBKEIU.BbF_zCxW.js → c4Diagram-AAUBKEIU.CMsolcde.js} +1 -1
- package/web/_astro/channel.fsgl7o5j.js +1 -0
- package/web/_astro/{chunk-2J33WTMH.CAgQHpPC.js → chunk-2J33WTMH.CrGA3fik.js} +1 -1
- package/web/_astro/{chunk-4BX2VUAB.BN-5tpw4.js → chunk-4BX2VUAB.DsLVVla0.js} +1 -1
- package/web/_astro/{chunk-55IACEB6.CnPkEEr0.js → chunk-55IACEB6.Dxc59Tfi.js} +1 -1
- package/web/_astro/{chunk-727SXJPM.BQzQeMVm.js → chunk-727SXJPM.CaEVE2Wy.js} +4 -4
- package/web/_astro/{chunk-AQP2D5EJ.B6xNyDnL.js → chunk-AQP2D5EJ.BiJ4HXeI.js} +1 -1
- package/web/_astro/{chunk-FMBD7UC4.C7f9Ih78.js → chunk-FMBD7UC4.Mxf1fru5.js} +1 -1
- package/web/_astro/{chunk-ND2GUHAM.CNV1dFXT.js → chunk-ND2GUHAM.pyOWQixH.js} +1 -1
- package/web/_astro/{chunk-QZHKN3VN.Cudn2TkJ.js → chunk-QZHKN3VN.BmEsg4vr.js} +1 -1
- package/web/_astro/{classDiagram-4FO5ZUOK.D1NwP50q.js → classDiagram-4FO5ZUOK.BHhhMFTO.js} +1 -1
- package/web/_astro/{classDiagram-v2-Q7XG4LA2.D1NwP50q.js → classDiagram-v2-Q7XG4LA2.BHhhMFTO.js} +1 -1
- package/web/_astro/{cose-bilkent-S5V4N54A.B1wSL-Xb.js → cose-bilkent-S5V4N54A.2fH4YOlp.js} +1 -1
- package/web/_astro/{cynefin-OW5HDTMX.BmK52w8G.js → cynefin-OW5HDTMX.C2j1_lKL.js} +1 -1
- package/web/_astro/{dagre-BM42HDAG.Bfy5CTDT.js → dagre-BM42HDAG.hZ2NCTdT.js} +2 -2
- package/web/_astro/diagram-2AECGRRQ.Bfw5_EzK.js +43 -0
- package/web/_astro/diagram-5GNKFQAL.Bt1V_Tmk.js +10 -0
- package/web/_astro/{diagram-KO2AKTUF.CW_vMJ4z.js → diagram-KO2AKTUF.DEk-YFwp.js} +3 -3
- package/web/_astro/{diagram-LMA3HP47.B_8ZGF67.js → diagram-LMA3HP47.CDjndtQm.js} +1 -1
- package/web/_astro/{diagram-OG6HWLK6.BppnHsdS.js → diagram-OG6HWLK6.cFnUHScG.js} +1 -1
- package/web/_astro/{erDiagram-TEJ5UH35.BEuHXcjJ.js → erDiagram-TEJ5UH35.DlhYp7NV.js} +5 -5
- package/web/_astro/{flowDiagram-I6XJVG4X.CH-UlnGr.js → flowDiagram-I6XJVG4X.DNTpsxfx.js} +4 -4
- package/web/_astro/{ganttDiagram-6RSMTGT7.BO81S85v.js → ganttDiagram-6RSMTGT7.DC_p36PI.js} +1 -1
- package/web/_astro/{gitGraphDiagram-PVQCEYII.XnPxPPZN.js → gitGraphDiagram-PVQCEYII.DkEqNI0P.js} +1 -1
- package/web/_astro/{infoDiagram-5YYISTIA.JyjYRu_T.js → infoDiagram-5YYISTIA.CrjioCTG.js} +1 -1
- package/web/_astro/{ishikawaDiagram-YF4QCWOH.BBRBF-Fo.js → ishikawaDiagram-YF4QCWOH.BcK0CN8n.js} +5 -5
- package/web/_astro/{journeyDiagram-JHISSGLW.C_iymSyp.js → journeyDiagram-JHISSGLW.p0CbBDX1.js} +1 -1
- package/web/_astro/{kanban-definition-UN3LZRKU.DdfW-Oqt.js → kanban-definition-UN3LZRKU.puHIFt6J.js} +7 -7
- package/web/_astro/{linear.C2_IkbZT.js → linear.Bb-3a1d7.js} +1 -1
- package/web/_astro/mermaid.core.CJDgXOJs.js +301 -0
- package/web/_astro/{mindmap-definition-RKZ34NQL.DAZIxQSK.js → mindmap-definition-RKZ34NQL.BoAZEI9t.js} +2 -2
- package/web/_astro/{pieDiagram-4H26LBE5.CN8sIhKM.js → pieDiagram-4H26LBE5.CJNSdqY7.js} +3 -3
- package/web/_astro/{quadrantDiagram-W4KKPZXB.3dGcX5GP.js → quadrantDiagram-W4KKPZXB.DtTy7_0Z.js} +1 -1
- package/web/_astro/{requirementDiagram-4Y6WPE33.BV2y4dd6.js → requirementDiagram-4Y6WPE33.BNYV98Xg.js} +3 -3
- package/web/_astro/{sankeyDiagram-5OEKKPKP.Cqo15Tvo.js → sankeyDiagram-5OEKKPKP.DRq9DGHp.js} +4 -4
- package/web/_astro/{sequenceDiagram-3UESZ5HK.CROCPMJB.js → sequenceDiagram-3UESZ5HK.B7KdBFCm.js} +1 -1
- package/web/_astro/{stateDiagram-AJRCARHV.RfXZrkFE.js → stateDiagram-AJRCARHV.CD62ZJ2H.js} +1 -1
- package/web/_astro/{stateDiagram-v2-BHNVJYJU.CPXmbBs9.js → stateDiagram-v2-BHNVJYJU.CeVk1TAj.js} +1 -1
- package/web/_astro/{timeline-definition-PNZ67QCA.DdgKTiO8.js → timeline-definition-PNZ67QCA.C_ZPA5tT.js} +3 -3
- package/web/_astro/{vennDiagram-CIIHVFJN.CPNVSHF1.js → vennDiagram-CIIHVFJN.CrThO_FQ.js} +5 -5
- package/web/_astro/{wardleyDiagram-YWT4CUSO.CQhA0Jyr.js → wardleyDiagram-YWT4CUSO.DSZCA5nl.js} +3 -3
- package/web/_astro/{xychartDiagram-2RQKCTM6.n61BWyy4.js → xychartDiagram-2RQKCTM6.KI7baTuk.js} +1 -1
- package/web/index.html +1 -1
- package/web/_astro/BoardApp.eoTz0pZs.js +0 -1
- package/web/_astro/arc.CPwg6Rw0.js +0 -1
- package/web/_astro/channel.MYZLKNwy.js +0 -1
- package/web/_astro/diagram-2AECGRRQ.DhNnvUvX.js +0 -43
- package/web/_astro/diagram-5GNKFQAL.lTX5KwnS.js +0 -10
- package/web/_astro/mermaid.core.GAOYeSR0.js +0 -303
|
@@ -410,6 +410,17 @@ Full checklist: [dev-operations.md](dev-operations.md) § refine (depth ready).
|
|
|
410
410
|
Use the task's Gherkin scenarios as the verification lens on verify-family commands (`dev-verify`,
|
|
411
411
|
`dev-verifyall`).
|
|
412
412
|
|
|
413
|
+
### `--triage` — fix small findings, file the rest as tasks
|
|
414
|
+
|
|
415
|
+
**Anchor:** `#flag-triage`.
|
|
416
|
+
|
|
417
|
+
Review commands (`dev-review`, `dev-review-session`): after the report, bucket every finding once
|
|
418
|
+
(direct fix / task / note), apply the direct fixes inline with a targeted check each, and file the
|
|
419
|
+
remainder through `spur task` — never fix straight from the raw findings list. Off by default
|
|
420
|
+
(report-only). Both file one or more implement-ready tasks sized per cohesive unit, under existing
|
|
421
|
+
features ([dev-operations.md § 2. review](dev-operations.md#2-review)); `dev-review-session` keeps
|
|
422
|
+
the stricter direct-fix bar (pure docs / one-to-two-line fixes).
|
|
423
|
+
|
|
413
424
|
### `--approve-taste` — pre-clear all taste gates this run
|
|
414
425
|
|
|
415
426
|
**Anchor:** `#flag-approve-taste`.
|
|
@@ -422,9 +433,11 @@ flag sets both.
|
|
|
422
433
|
|
|
423
434
|
**Anchor:** `#flag-worktree`.
|
|
424
435
|
|
|
425
|
-
Batch commands plus single-task `dev-run` (`dev-refineall`, `dev-runall`,
|
|
426
|
-
`dev-run`): run the entire driver loop inside an isolated git
|
|
427
|
-
working directory.
|
|
436
|
+
Batch commands plus single-task `dev-run` and review triage (`dev-refineall`, `dev-runall`,
|
|
437
|
+
`dev-verifyall`, `dev-run`, `dev-review`): run the entire driver loop inside an isolated git
|
|
438
|
+
worktree instead of the operator's working directory. On `dev-review` the flag requires `--triage`
|
|
439
|
+
and wraps the review-plus-triage pass
|
|
440
|
+
([dev-operations.md § 2. review](dev-operations.md#2-review)). One flag, two modes:
|
|
428
441
|
|
|
429
442
|
- **Create mode** — bare `--worktree` (no value). Cut a fresh branch from the current HEAD's ref,
|
|
430
443
|
create a sibling worktree with a derived name, run the batch there. On a fully successful batch
|
|
@@ -511,7 +511,10 @@ The driver reaches it through the existing run delegate (`$SETUP_SCRIPT`,
|
|
|
511
511
|
against the project workdir. The decision never pauses and never fails the run for model
|
|
512
512
|
problems: a degraded outcome (feature switch off, no backend, error, timeout, low confidence)
|
|
513
513
|
prints `ok:true` with `degraded:true`, the declared `reason`, and `value = default`, and exits
|
|
514
|
-
`0` — route on the resultFile's `.value` with the declared file guards.
|
|
514
|
+
`0` — route on the resultFile's `.value` with the declared file guards. Every row carries
|
|
515
|
+
`source: model|default` (0976 R2), and the delegate appends
|
|
516
|
+
`decide node=<id> value=<v> source=<s> reason=<r>` to the run log, so a declared-default
|
|
517
|
+
fallback is never read as a model decision. Only an invalid options
|
|
515
518
|
schema exits `1` (fail closed), and usage errors exit `2`. The `action_runs` trace row is
|
|
516
519
|
best-effort exactly like `--action`.
|
|
517
520
|
|
|
@@ -524,7 +527,18 @@ The driver reaches it through the existing run delegate (`$SETUP_SCRIPT`,
|
|
|
524
527
|
```
|
|
525
528
|
|
|
526
529
|
`--status` is the declared terminal state's verdict, not a guess: a run that reached a terminal
|
|
527
|
-
state is `done`; a run halted by a failing action under its error policy is `failed`.
|
|
530
|
+
state is `done`; a run halted by a failing action under its error policy is `failed`. On success
|
|
531
|
+
the close reports the recorded evidence: `{"ok":true,"runId":…,"actionRows":<n>}`.
|
|
532
|
+
|
|
533
|
+
**Zero-row done closes are a named failure (task 0975 R2).** A run closed `done` with **zero**
|
|
534
|
+
`action_runs` rows (`actionRows:0`) finalizes the row but exits `1` with
|
|
535
|
+
`{"ok":false,"code":"NO_ACTION_ROWS","actionRows":0}` — a run that claims success without a
|
|
536
|
+
single recorded action is exactly the untraced-runs gap ADR-117 closes, so the driver must
|
|
537
|
+
surface the code in its final report instead of reporting a clean close. The failure must NOT
|
|
538
|
+
be repaired by backfilling rows: the run row is already terminal, and hand-written rows are
|
|
539
|
+
forbidden (ADR-117) — record the finding and let the task's evidence show the gap. A `failed`
|
|
540
|
+
close with zero rows stays a clean `0` (a halt before the first boundary legitimately records
|
|
541
|
+
nothing), and any `done` close with `actionRows ≥ 1` exits `0`.
|
|
528
542
|
|
|
529
543
|
**Best-effort at the action boundary only (ADR-117).** An `--action` persistence failure is
|
|
530
544
|
recorded — the delegate appends a `trace-emission-failed` line to `.spur/run/<run-id>.md` and
|