@gobing-ai/spur 0.4.4 → 0.4.5

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.
@@ -1,68 +0,0 @@
1
- $schema: "@gobing-ai/spur/schemas/rule-file.schema.json"
2
- # Verdict-confidence rules (report corpus) — a committed verification record that states
3
- # a machine `Verdict:` line must also state the verifier's confidence, so a reader can
4
- # tell a PASS the verifier stands behind from one it would not.
5
- #
6
- # Contract owners: `Confidence: HIGH|MEDIUM|LOW` is specified for verify answers by
7
- # plugins/sp/skills/code-verification/SKILL.md (one `Verdict: PASS|PARTIAL|FAIL` line, one
8
- # `Confidence:` line, then the traceability tables) and for review reports by
9
- # plugins/sp/agents/super-reviewer.md. Both are already enforced for pipeline answers —
10
- # packages/app/src/services/verify-answer-lint.ts (`confidence-missing`,
11
- # `confidence-value`, and the coherence pair `confidence-unwarranted` /
12
- # `confidence-understated`) plus the verify stamp in config/workflows/task-pipeline.yaml —
13
- # but no rule read the standalone report documents agents commit under `docs/`. This file
14
- # is that backstop: the same three-level vocabulary, checked at the document level.
15
- #
16
- # Shape: one file-spanning forbidden match (`multiline: true` hands the evaluator the whole
17
- # document and the negative lookahead spans the newline) instead of line counting. The
18
- # lookahead demands a valid level, so a hedge (`Confidence: mostly`) reads as missing too.
19
- # The verdict prefix requires the closed `PASS|PARTIAL|FAIL` value on its own line, which is
20
- # what separates a record from prose: docs/reports/i31/0912-workflow-baseline.md:84 and
21
- # i31/1107-runall-p1-pilot.md:9 both open a bolded *conclusion* sentence
22
- # ("**Verdict: `partial — INSUFFICIENT_EVIDENCE retained`.**") and are not this contract.
23
- #
24
- # Severity `info`, and deliberately not in a preset — the same calibration choice the `docs`
25
- # category makes for sourced claims: findings surface for review without reddening gates
26
- # (`recommended-pre-check` runs `--fail-on warning`). To promote it, add `- docs` to that
27
- # preset's `extends` once the residual is triaged.
28
- #
29
- # Calibration (2026-10-13, `spur rule run --file config/rules/docs/verdict-confidence.yaml
30
- # --json`, unsuppressed): 3 findings over the 91 documents the include globs matched at that
31
- # timestamp (29 under docs/reports/, 62 under docs/plans/), all three the hole this closes —
32
- # docs/reports/2026-09-12-i21-verifyall.md:3,
33
- # docs/reports/2026-10-01-E71-force-verification.md:3 and
34
- # docs/reports/g61-verifyall-2026-09-12.md:3 each open `Verdict: PASS` and state no
35
- # confidence level anywhere in the document. They stay visible rather than suppressed:
36
- # retro-fitting a level into a historical record would invent the verifier's own claim.
37
- # Both directions were controlled in the same run: a scratch report holding
38
- # `Verdict: PASS` + `Confidence: HIGH` is not flagged, and the same file with
39
- # `Confidence: mostly` is.
40
- #
41
- # Include is deliberately the report corpus. `docs/plans/*brainstorm*.md` states confidence
42
- # as prose with its rationale (`**Confidence: HIGH.** All primitives … are verified present`,
43
- # 61 such lines across 18 plans) — a different, human-facing contract that a
44
- # level-only vocabulary check would drown in false positives, and those plans carry no
45
- # machine verdict line to anchor on.
46
- include:
47
- - "docs/reports/**/*.md"
48
- - "docs/plans/**/*.md"
49
- exclude:
50
- - "docs/tasks*/**"
51
- rules:
52
- - id: verdict-line-confidence-missing
53
- description: >
54
- A committed verification record that asserts a machine verdict line
55
- (`Verdict: PASS|PARTIAL|FAIL`) must follow it with the verifier's confidence level —
56
- `Confidence: HIGH|MEDIUM|LOW` — so a reader can tell a verdict the verifier stands
57
- behind from one it would not. Contract in sp-code-verification (verify answers) and
58
- sp-super-reviewer (review reports); a missing level is a lint failure for pipeline
59
- answers (`confidence-missing`), and this rule is the backstop for the reports those
60
- surfaces do not read.
61
- severity: info
62
- evaluator:
63
- type: regex
64
- config:
65
- mode: forbid
66
- multiline: true
67
- flags: "i"
68
- pattern: "^[ \\t]*\\**Verdict\\**:\\**[ \\t]*(?:PASS|PARTIAL|FAIL)\\**[ \\t]*\\n(?:[ \\t]*\\n)*(?![ \\t]*\\**Confidence\\**:\\**[ \\t]*\\**(?:HIGH|MEDIUM|LOW)\\**[ \\t]*\\.?[ \\t]*$)"