@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/config/rules/docs/sourced-api-claims.yaml +3 -2
- package/config/rules/recommended-pre-check.yaml +11 -9
- package/config/workflows/task-pipeline.yaml +31 -71
- package/package.json +1 -1
- package/plugins/sp/agents/super-reviewer.md +11 -27
- package/plugins/sp/commands/dev-review.md +1 -1
- package/plugins/sp/lib/inline-run.generated.mjs +2 -2
- package/plugins/sp/lib/residual-scan.generated.d.mts +0 -13
- package/plugins/sp/lib/residual-scan.generated.mjs +3 -47
- package/plugins/sp/plugin.json +1 -1
- package/plugins/sp/scripts/residual-scan.mjs +5 -50
- package/plugins/sp/scripts/residual-scan.ts +4 -6
- package/plugins/sp/skills/code-verification/SKILL.md +1 -2
- package/plugins/sp/skills/code-verification/references/verdict-schema.md +11 -32
- package/plugins/sp/skills/spur-dev/references/execution-workflow.md +7 -11
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +7 -6
- package/spur.js +289 -405
- package/config/rules/docs/verdict-confidence.yaml +0 -68
|
@@ -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]*$)"
|