@gobing-ai/spur 0.3.17 → 0.3.19

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.
Files changed (57) hide show
  1. package/config/rules/typescript/no-biome-suppressions.yaml +3 -0
  2. package/config/workflows/wayfinder-resolution.yaml +22 -2
  3. package/package.json +9 -9
  4. package/spur.js +1905 -392
  5. package/web/_astro/BoardApp.Bwxdbc0J.js +1 -0
  6. package/web/_astro/{BoardApp.oOZMY52P.js → BoardApp.DfUXxULJ.js} +44 -44
  7. package/web/_astro/TaskDetail.CWHJA-V_.js +1 -0
  8. package/web/_astro/{arc.CmzWyu5T.js → arc.B64JH2Yw.js} +1 -1
  9. package/web/_astro/{architectureDiagram-3BPJPVTR.DEvXeSWP.js → architectureDiagram-3BPJPVTR.CNsf8RqK.js} +1 -1
  10. package/web/_astro/{blockDiagram-GPEHLZMM.DULgqAsN.js → blockDiagram-GPEHLZMM.B5L6Sdtp.js} +1 -1
  11. package/web/_astro/{c4Diagram-AAUBKEIU.CtwqGUxK.js → c4Diagram-AAUBKEIU.D2LUWzto.js} +1 -1
  12. package/web/_astro/channel.DTWaHQwD.js +1 -0
  13. package/web/_astro/{chunk-2J33WTMH.lyKyWJjV.js → chunk-2J33WTMH.BDCK4a2A.js} +1 -1
  14. package/web/_astro/{chunk-4BX2VUAB.COAavIDd.js → chunk-4BX2VUAB.DRG-P5ln.js} +1 -1
  15. package/web/_astro/{chunk-55IACEB6.EoRbsXM1.js → chunk-55IACEB6.BF6dAaDw.js} +1 -1
  16. package/web/_astro/{chunk-727SXJPM.DhjfPs_B.js → chunk-727SXJPM.GT8NEsK6.js} +1 -1
  17. package/web/_astro/{chunk-AQP2D5EJ.BgSRWTUm.js → chunk-AQP2D5EJ.C6g9Ixyp.js} +1 -1
  18. package/web/_astro/{chunk-FMBD7UC4.Dj0MuLrK.js → chunk-FMBD7UC4.37t3ZahP.js} +1 -1
  19. package/web/_astro/{chunk-ND2GUHAM.B2_roVTb.js → chunk-ND2GUHAM.CIMe94Tp.js} +1 -1
  20. package/web/_astro/{chunk-QZHKN3VN.Cr3PSROo.js → chunk-QZHKN3VN.BDk4vBSo.js} +1 -1
  21. package/web/_astro/{classDiagram-4FO5ZUOK.CXEuLRp6.js → classDiagram-4FO5ZUOK.BkZHAH5J.js} +1 -1
  22. package/web/_astro/{classDiagram-v2-Q7XG4LA2.CXEuLRp6.js → classDiagram-v2-Q7XG4LA2.BkZHAH5J.js} +1 -1
  23. package/web/_astro/{cose-bilkent-S5V4N54A._ulIkUyI.js → cose-bilkent-S5V4N54A.-vmutMeo.js} +1 -1
  24. package/web/_astro/{dagre-BM42HDAG.D5SRsv4S.js → dagre-BM42HDAG.YTN__ph-.js} +1 -1
  25. package/web/_astro/{diagram-2AECGRRQ.rMwI7OR9.js → diagram-2AECGRRQ.CpwYXr6h.js} +1 -1
  26. package/web/_astro/{diagram-5GNKFQAL.DWZ2ui2V.js → diagram-5GNKFQAL.BLW_nNiA.js} +1 -1
  27. package/web/_astro/{diagram-KO2AKTUF.DuqJ_D0B.js → diagram-KO2AKTUF.BTFC9CYM.js} +1 -1
  28. package/web/_astro/{diagram-LMA3HP47.BDxKBl9B.js → diagram-LMA3HP47.CWXHZTYF.js} +1 -1
  29. package/web/_astro/{diagram-OG6HWLK6.D6IMfAPf.js → diagram-OG6HWLK6.4DO1knJK.js} +1 -1
  30. package/web/_astro/{erDiagram-TEJ5UH35.DSsh9EFG.js → erDiagram-TEJ5UH35.eWFFCa1s.js} +1 -1
  31. package/web/_astro/{flowDiagram-I6XJVG4X.DwjNzc4e.js → flowDiagram-I6XJVG4X.Qnt78_UD.js} +1 -1
  32. package/web/_astro/{ganttDiagram-6RSMTGT7.DbYs_nXA.js → ganttDiagram-6RSMTGT7.CMqioE2G.js} +1 -1
  33. package/web/_astro/{gitGraphDiagram-PVQCEYII.DX5-xqVb.js → gitGraphDiagram-PVQCEYII.DIHrO_gc.js} +1 -1
  34. package/web/_astro/{index.BOgTYz24.css → index.Bg28MlvM.css} +1 -1
  35. package/web/_astro/{infoDiagram-5YYISTIA.jP6EGbwr.js → infoDiagram-5YYISTIA.DbzNXZsX.js} +1 -1
  36. package/web/_astro/{ishikawaDiagram-YF4QCWOH.Cn89YzBJ.js → ishikawaDiagram-YF4QCWOH.C34rBvEh.js} +1 -1
  37. package/web/_astro/{journeyDiagram-JHISSGLW.CNT2WvMT.js → journeyDiagram-JHISSGLW.B4Y56hm8.js} +1 -1
  38. package/web/_astro/{kanban-definition-UN3LZRKU.CLEZjEjD.js → kanban-definition-UN3LZRKU.CbkLbGD-.js} +1 -1
  39. package/web/_astro/{linear.Cn4ewR2z.js → linear.CJu-zQ8Y.js} +1 -1
  40. package/web/_astro/{mermaid.core.BEACwKCZ.js → mermaid.core.Cg8FpcnS.js} +4 -4
  41. package/web/_astro/{mindmap-definition-RKZ34NQL.BE9cnWaH.js → mindmap-definition-RKZ34NQL.CUS8uIx4.js} +1 -1
  42. package/web/_astro/{pieDiagram-4H26LBE5.CLcCK_JM.js → pieDiagram-4H26LBE5.DLoKfxBO.js} +1 -1
  43. package/web/_astro/{quadrantDiagram-W4KKPZXB.qw8LmkgG.js → quadrantDiagram-W4KKPZXB.C4gJNQom.js} +1 -1
  44. package/web/_astro/{requirementDiagram-4Y6WPE33.D02534qk.js → requirementDiagram-4Y6WPE33.BsiW5Ob5.js} +1 -1
  45. package/web/_astro/{sankeyDiagram-5OEKKPKP.I6nOztAU.js → sankeyDiagram-5OEKKPKP.k6qljwMr.js} +1 -1
  46. package/web/_astro/{sequenceDiagram-3UESZ5HK.CXTuiAV8.js → sequenceDiagram-3UESZ5HK.Bx0G-FfT.js} +1 -1
  47. package/web/_astro/{stateDiagram-AJRCARHV.BV-mNJRM.js → stateDiagram-AJRCARHV.CRbr10-B.js} +1 -1
  48. package/web/_astro/{stateDiagram-v2-BHNVJYJU.kF2_t5fy.js → stateDiagram-v2-BHNVJYJU.iDwcqAkR.js} +1 -1
  49. package/web/_astro/{timeline-definition-PNZ67QCA.BiIzvhe5.js → timeline-definition-PNZ67QCA.p4S9tDNI.js} +1 -1
  50. package/web/_astro/{vennDiagram-CIIHVFJN.9cR-p_zq.js → vennDiagram-CIIHVFJN.DgzRFt8Y.js} +1 -1
  51. package/web/_astro/{wardley-L42UT6IY.CwwpzGfz.js → wardley-L42UT6IY.DUFfR4J1.js} +1 -1
  52. package/web/_astro/{wardleyDiagram-YWT4CUSO.Q3hswh_f.js → wardleyDiagram-YWT4CUSO.BgE4haqE.js} +1 -1
  53. package/web/_astro/{xychartDiagram-2RQKCTM6.Co-1OW2E.js → xychartDiagram-2RQKCTM6.BnitKCz8.js} +1 -1
  54. package/web/index.html +2 -2
  55. package/web/_astro/BoardApp.BdyUxAQU.js +0 -1
  56. package/web/_astro/TaskDetail.DZVfe6fy.js +0 -1
  57. package/web/_astro/channel.C6f9ncOV.js +0 -1
@@ -14,6 +14,9 @@ include:
14
14
  - "apps/**/src/**/*.ts"
15
15
  - "packages/**/src/**/*.ts"
16
16
  - "scripts/**/*.ts"
17
+ - "apps/**/src/**/*.tsx"
18
+ - "packages/**/src/**/*.tsx"
19
+ - "scripts/**/*.tsx"
17
20
  exclude:
18
21
  - "**/node_modules/**"
19
22
  - "**/dist/**"
@@ -63,6 +63,17 @@ states:
63
63
  existing Design/Plan/References, then author concise Solution, Testing, and Review
64
64
  sections through `spur task update --section --from-file`. Preserve the research
65
65
  boundary. Finish with a short summary and stop. Evidence policy: ${vars.evidencePolicy}.
66
+
67
+ Evidence-anchor and content contract (mandatory — 0300 R1/R2): when the task's evidence
68
+ lives in a shared evidence file (e.g. `.spur/run/wayfinder-O/implementation-evidence.md`),
69
+ the `## <wbs>` section you author MUST (a) be substantive — more than 5 lines AND more
70
+ than 60 words, covering the task's own requirements, not a generic 2–3 sentence
71
+ placeholder; and (b) be anchored truthfully — after writing the section, resolve its
72
+ real start line with `grep -n "^## <wbs> " <evidence-file>` and use that exact line
73
+ number in every Solution/Testing `file:line` citation. NEVER copy a line number from
74
+ another ticket's example (e.g. `:5` from an earlier WBS); each WBS anchors to its own
75
+ section. Before finishing, re-read each cited line and confirm it names the
76
+ requirement's subject (0299 R1 line-anchor rule).
66
77
  timeoutMs: ${vars.stepTimeoutMs}
67
78
 
68
79
  - id: verify
@@ -147,9 +158,18 @@ transitions:
147
158
  command: "! test -s .spur/run/wayfinder/${vars.wbs}-input.json || ! test -s .spur/run/wayfinder/${vars.wbs}-precheck.txt"
148
159
  - from: investigate
149
160
  to: verify
150
- description: "Research resolution authored — verify evidence and traceability."
161
+ description: "Research resolution authored — verify evidence and traceability. Guard enforces the evidence content floor (0300 R2): the task's Testing section must be non-placeholder (>5 lines, >60 words) before independent verification may begin."
151
162
  guard:
152
- kind: always
163
+ kind: shell
164
+ options:
165
+ command: 'test "$(${vars.spurBin} task show ${vars.wbs} --json | jq -r ".content" | awk "/^### Testing/{f=1;next} /^### /{f=0} f" | wc -l)" -gt 5 && test "$(${vars.spurBin} task show ${vars.wbs} --json | jq -r ".content" | awk "/^### Testing/{f=1;next} /^### /{f=0} f" | wc -w)" -gt 60'
166
+ - from: investigate
167
+ to: failed
168
+ description: "Evidence content floor not met (0300 R2) — investigate authored a placeholder Testing section; stop before verification rather than certify hollow evidence."
169
+ guard:
170
+ kind: shell
171
+ options:
172
+ command: 'test "$(${vars.spurBin} task show ${vars.wbs} --json | jq -r ".content" | awk "/^### Testing/{f=1;next} /^### /{f=0} f" | wc -l)" -le 5 || test "$(${vars.spurBin} task show ${vars.wbs} --json | jq -r ".content" | awk "/^### Testing/{f=1;next} /^### /{f=0} f" | wc -w)" -le 60'
153
173
  - from: verify
154
174
  to: record
155
175
  description: "Auto profile — record only on a machine-readable PASS verdict (fail-closed to the approve gate otherwise)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobing-ai/spur",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
4
4
  "description": "Spur CLI — local-first harness for mainstream coding agents: constraint checking, workflow orchestration, agent health, and history analytics. Bun-native; exposes the `spur` command.",
5
5
  "keywords": [
6
6
  "spur",
@@ -50,14 +50,14 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@commander-js/extra-typings": "^14.0.0",
53
- "@gobing-ai/ts-db": "^0.4.10",
54
- "@gobing-ai/ts-ai-runner": "^0.4.10",
55
- "@gobing-ai/ts-dual-workflow-engine": "^0.4.10",
56
- "@gobing-ai/ts-infra": "^0.4.10",
57
- "@gobing-ai/ts-llm-jsonl-importer": "^0.4.10",
58
- "@gobing-ai/ts-rule-engine": "^0.4.10",
59
- "@gobing-ai/ts-runtime": "^0.4.10",
60
- "@gobing-ai/ts-utils": "^0.4.10",
53
+ "@gobing-ai/ts-db": "^0.4.11",
54
+ "@gobing-ai/ts-ai-runner": "^0.4.11",
55
+ "@gobing-ai/ts-dual-workflow-engine": "^0.4.11",
56
+ "@gobing-ai/ts-infra": "^0.4.11",
57
+ "@gobing-ai/ts-llm-jsonl-importer": "^0.4.11",
58
+ "@gobing-ai/ts-rule-engine": "^0.4.11",
59
+ "@gobing-ai/ts-runtime": "^0.4.11",
60
+ "@gobing-ai/ts-utils": "^0.4.11",
61
61
  "@types/bun": "1.3.14",
62
62
  "@types/figlet": "^1.7.0",
63
63
  "@types/node-notifier": "8.0.5",