@specship/specship-win32-arm64 0.23.0 → 0.25.0
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/lib/dist/activation/steering.d.ts +4 -4
- package/lib/dist/activation/steering.d.ts.map +1 -1
- package/lib/dist/activation/steering.js +6 -6
- package/lib/dist/activation/steering.js.map +1 -1
- package/lib/dist/bin/specship.js +277 -40
- package/lib/dist/bin/specship.js.map +1 -1
- package/lib/dist/commands/specship/learn.md +5 -3
- package/lib/dist/commands/specship/spec.md +73 -15
- package/lib/dist/db/spec-queries.d.ts +73 -3
- package/lib/dist/db/spec-queries.d.ts.map +1 -1
- package/lib/dist/db/spec-queries.js +139 -5
- package/lib/dist/db/spec-queries.js.map +1 -1
- package/lib/dist/diagram/flow-diagram.d.ts +86 -0
- package/lib/dist/diagram/flow-diagram.d.ts.map +1 -0
- package/lib/dist/diagram/flow-diagram.js +0 -0
- package/lib/dist/diagram/flow-diagram.js.map +1 -0
- package/lib/dist/enforce/changed-files.d.ts +28 -0
- package/lib/dist/enforce/changed-files.d.ts.map +1 -0
- package/lib/dist/enforce/changed-files.js +72 -0
- package/lib/dist/enforce/changed-files.js.map +1 -0
- package/lib/dist/enforce/enforce.d.ts +28 -1
- package/lib/dist/enforce/enforce.d.ts.map +1 -1
- package/lib/dist/enforce/enforce.js +37 -5
- package/lib/dist/enforce/enforce.js.map +1 -1
- package/lib/dist/extraction/grammars.d.ts +10 -0
- package/lib/dist/extraction/grammars.d.ts.map +1 -1
- package/lib/dist/extraction/grammars.js +32 -3
- package/lib/dist/extraction/grammars.js.map +1 -1
- package/lib/dist/extraction/index.d.ts +7 -0
- package/lib/dist/extraction/index.d.ts.map +1 -1
- package/lib/dist/extraction/index.js.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts +7 -0
- package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.js +81 -8
- package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
- package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm.gz +0 -0
- package/lib/dist/extraction/wasm/tree-sitter-scala.wasm.gz +0 -0
- package/lib/dist/graph/spec-coverage.d.ts +86 -0
- package/lib/dist/graph/spec-coverage.d.ts.map +1 -0
- package/lib/dist/graph/spec-coverage.js +152 -0
- package/lib/dist/graph/spec-coverage.js.map +1 -0
- package/lib/dist/index.d.ts +81 -6
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +178 -21
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/installer/index.d.ts +33 -8
- package/lib/dist/installer/index.d.ts.map +1 -1
- package/lib/dist/installer/index.js +50 -50
- package/lib/dist/installer/index.js.map +1 -1
- package/lib/dist/installer/init-offer.d.ts +14 -9
- package/lib/dist/installer/init-offer.d.ts.map +1 -1
- package/lib/dist/installer/init-offer.js +13 -9
- package/lib/dist/installer/init-offer.js.map +1 -1
- package/lib/dist/installer/install-defaults.d.ts +62 -0
- package/lib/dist/installer/install-defaults.d.ts.map +1 -0
- package/lib/dist/installer/install-defaults.js +67 -0
- package/lib/dist/installer/install-defaults.js.map +1 -0
- package/lib/dist/installer/targets/claude.d.ts +14 -0
- package/lib/dist/installer/targets/claude.d.ts.map +1 -1
- package/lib/dist/installer/targets/claude.js +64 -0
- package/lib/dist/installer/targets/claude.js.map +1 -1
- package/lib/dist/installer/targets/shared.js +4 -4
- package/lib/dist/installer/targets/shared.js.map +1 -1
- package/lib/dist/mcp/fitness-tool.d.ts +5 -6
- package/lib/dist/mcp/fitness-tool.d.ts.map +1 -1
- package/lib/dist/mcp/fitness-tool.js +0 -16
- package/lib/dist/mcp/fitness-tool.js.map +1 -1
- package/lib/dist/mcp/health-tool.d.ts +26 -0
- package/lib/dist/mcp/health-tool.d.ts.map +1 -0
- package/lib/dist/mcp/health-tool.js +50 -0
- package/lib/dist/mcp/health-tool.js.map +1 -0
- package/lib/dist/mcp/maintainability-tool.d.ts +5 -7
- package/lib/dist/mcp/maintainability-tool.d.ts.map +1 -1
- package/lib/dist/mcp/maintainability-tool.js +0 -16
- package/lib/dist/mcp/maintainability-tool.js.map +1 -1
- package/lib/dist/mcp/model-context.d.ts +13 -2
- package/lib/dist/mcp/model-context.d.ts.map +1 -1
- package/lib/dist/mcp/model-context.js +39 -12
- package/lib/dist/mcp/model-context.js.map +1 -1
- package/lib/dist/mcp/proxy.d.ts.map +1 -1
- package/lib/dist/mcp/proxy.js +4 -1
- package/lib/dist/mcp/proxy.js.map +1 -1
- package/lib/dist/mcp/server-instructions.d.ts +1 -1
- package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
- package/lib/dist/mcp/server-instructions.js +5 -4
- package/lib/dist/mcp/server-instructions.js.map +1 -1
- package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
- package/lib/dist/mcp/spec-tools.js +213 -28
- package/lib/dist/mcp/spec-tools.js.map +1 -1
- package/lib/dist/mcp/tools.d.ts +12 -8
- package/lib/dist/mcp/tools.d.ts.map +1 -1
- package/lib/dist/mcp/tools.js +89 -48
- package/lib/dist/mcp/tools.js.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.d.ts +44 -2
- package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.js +132 -0
- package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
- package/lib/dist/resolution/test-title-links.d.ts +62 -0
- package/lib/dist/resolution/test-title-links.d.ts.map +1 -0
- package/lib/dist/resolution/test-title-links.js +108 -0
- package/lib/dist/resolution/test-title-links.js.map +1 -0
- package/lib/dist/search/query-parser.d.ts.map +1 -1
- package/lib/dist/search/query-parser.js +6 -1
- package/lib/dist/search/query-parser.js.map +1 -1
- package/lib/dist/server/project-registry.js +1 -1
- package/lib/dist/server/routes/claude.js +9 -36
- package/lib/dist/server/routes/graph.js +53 -7
- package/lib/dist/server/routes/mcp.js +4 -3
- package/lib/dist/server/routes/projects.js +4 -4
- package/lib/dist/server/routes/spec.js +49 -7
- package/lib/dist/server/server.js +29 -17
- package/lib/dist/skills/spec-author/SKILL.md +164 -0
- package/lib/dist/skills/spec-author/references/format.md +210 -0
- package/lib/dist/skills/spec-author/references/gap-questions.md +152 -0
- package/lib/dist/skills/spec-author/references/quality-rubric.md +125 -0
- package/lib/dist/skills/spec-author/references/review-checklist.md +175 -0
- package/lib/dist/spec-lint/lint.d.ts +82 -0
- package/lib/dist/spec-lint/lint.d.ts.map +1 -0
- package/lib/dist/spec-lint/lint.js +430 -0
- package/lib/dist/spec-lint/lint.js.map +1 -0
- package/lib/dist/statusline/index.js.map +1 -1
- package/lib/dist/statusline/render.d.ts +1 -1
- package/lib/dist/statusline/render.d.ts.map +1 -1
- package/lib/dist/statusline/render.js +3 -1
- package/lib/dist/statusline/render.js.map +1 -1
- package/lib/dist/ui/assets/index-BzuUWUAE.js +50 -0
- package/lib/dist/ui/index.html +1 -1
- package/lib/dist/verify/report-ingest.d.ts +88 -0
- package/lib/dist/verify/report-ingest.d.ts.map +1 -0
- package/lib/dist/verify/report-ingest.js +269 -0
- package/lib/dist/verify/report-ingest.js.map +1 -0
- package/lib/dist/workflows/defaults/spec-fix.yaml +103 -12
- package/lib/dist/workflows/defaults/spec-implement-mixed.yaml +264 -21
- package/lib/dist/workflows/defaults/spec-implement.yaml +260 -19
- package/lib/dist/workflows/defaults/spec-verify.yaml +60 -9
- package/lib/node_modules/.package-lock.json +1 -1
- package/lib/package.json +7 -3
- package/package.json +1 -1
- package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/lib/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/lib/dist/server/ingest/impact-query.js +0 -343
- package/lib/dist/server/routes/events.js +0 -152
- package/lib/dist/ui/assets/index-CjjaftDw.js +0 -50
|
@@ -8,7 +8,7 @@ Distill the CURRENT session's successful workflow into a reusable routine and
|
|
|
8
8
|
submit it as a SpecShip skill proposal (LEARN-DOC, REQ-LEARN-002). The
|
|
9
9
|
proposal is **human-gated**: it enters the same review queue as mined
|
|
10
10
|
proposals, and nothing is written to commands/ or memory until the user
|
|
11
|
-
applies it
|
|
11
|
+
applies it.
|
|
12
12
|
|
|
13
13
|
## What to do
|
|
14
14
|
|
|
@@ -33,8 +33,10 @@ applies it from the dashboard's Improvements page.
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
4. **Tell the user** the proposal id from the output and that they can review
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
the open proposals with `specship reflect` (add `--json` for the full
|
|
37
|
+
bodies). Nothing lands until they apply it. The CLI is the only review
|
|
38
|
+
surface today — there is no dashboard page for proposals yet, so don't send
|
|
39
|
+
them looking for one (REQ-SURF-002.A2).
|
|
38
40
|
|
|
39
41
|
## Rules
|
|
40
42
|
|
|
@@ -177,7 +177,28 @@ the write (step 3) the spec points back at the brief so the funnel promotes it.
|
|
|
177
177
|
`spec-author` format: frontmatter (id/title/owner/priority), `<!-- id: -->`
|
|
178
178
|
markers above every heading, an RFC-2119 keyword per requirement title, one
|
|
179
179
|
concern per requirement, `## Acceptance` with `.A<N>` bullets (happy +
|
|
180
|
-
failure). Mark genuinely-unknowable points `[needs review]`.
|
|
180
|
+
failure). Mark genuinely-unknowable points `[needs review]`. Declare code and
|
|
181
|
+
test evidence in the two link blocks (**REQ-REVINT-001**) — same
|
|
182
|
+
`path:Symbol` bullet syntax, one block per requirement:
|
|
183
|
+
```markdown
|
|
184
|
+
implementations:
|
|
185
|
+
- src/auth/session.ts:refreshSession
|
|
186
|
+
|
|
187
|
+
verifies:
|
|
188
|
+
- __tests__/session.test.ts:refreshesAnExpiredSession
|
|
189
|
+
```
|
|
190
|
+
`implementations:` records the code that realizes the requirement;
|
|
191
|
+
`verifies:` records the test that proves it and is the ONLY thing that
|
|
192
|
+
creates a `tests`-kind link — the evidence a requirement needs to reach the
|
|
193
|
+
`verified` state. Both blocks take `path:Symbol` bullets; a bare path
|
|
194
|
+
creates no link. The `Symbol` must be a **real symbol in the file** — an
|
|
195
|
+
`it(...)`/`describe(...)` title is a string, not a symbol, so a linkable
|
|
196
|
+
test is a **named function** handed to `it()`
|
|
197
|
+
(`it('… (REQ-X.A1)', refreshesAnExpiredSession)`), which is the convention
|
|
198
|
+
the repo's own specs use. When the tests don't exist yet, omit `verifies:`
|
|
199
|
+
and say so explicitly at the hand-off rather than leaving it silently
|
|
200
|
+
absent.
|
|
201
|
+
**Seeded from a
|
|
181
202
|
brief:** the frontmatter MUST also carry `brief: <brief-slug>/brief.md` — the
|
|
182
203
|
value is relative to the spec file's own directory, so a spec at
|
|
183
204
|
`specs/<slug>.md` names `<brief-slug>/brief.md` (A2). After the step-4 sync,
|
|
@@ -193,9 +214,12 @@ environment, prefer it; this inline flow is the always-present fallback.)
|
|
|
193
214
|
## Review (`review <SPEC_ID>`)
|
|
194
215
|
|
|
195
216
|
Read-only — do NOT modify the file. Fetch the spec (`specship_spec`), verify each
|
|
196
|
-
`implementations:` path exists (`specship_node`),
|
|
197
|
-
|
|
198
|
-
|
|
217
|
+
`implementations:` path exists (`specship_node`), run `specship lint` on the
|
|
218
|
+
spec's file for the mechanical half, then walk the rubric and output
|
|
219
|
+
a numbered findings list grouped **STRUCTURAL** (the lint's findings: embedded id
|
|
220
|
+
markers, no stranded ids, unique ids, valid frontmatter, valid
|
|
221
|
+
`implementations:`, every requirement has acceptance criteria, plus test-evidence
|
|
222
|
+
declared via `verifies:` or explicitly deferred), **QUALITY**
|
|
199
223
|
(RFC-2119 keywords, no weasel words, no implementation leak, testable acceptance,
|
|
200
224
|
one concern per REQ, failure-path coverage), **HYGIENE** (owner/priority set, no
|
|
201
225
|
stale `[needs review]`/TODO). End with a one-line verdict.
|
|
@@ -208,15 +232,28 @@ spec, run the same rubric pass automatically. This is not a separate interview
|
|
|
208
232
|
and not the opt-in `review <SPEC_ID>` route; it always runs, once, on the
|
|
209
233
|
just-written spec:
|
|
210
234
|
|
|
211
|
-
1.
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
235
|
+
1. **Run `specship lint <path-to-the-new-spec>`** — the structural pass is
|
|
236
|
+
mechanical, not a mental scan (REQ-AUTHG-003.A1). It reports duplicate ids,
|
|
237
|
+
headings with no id marker, `.A<N>` ids whose parent requirement is missing,
|
|
238
|
+
requirements with zero acceptance criteria, bare-path link bullets, and
|
|
239
|
+
leftover `[needs review]` markers. Add `--json` when you want to act on the
|
|
240
|
+
findings programmatically.
|
|
241
|
+
2. **Every error-severity lint finding is structural: fix it or block.** Fix
|
|
242
|
+
automatically where the fix is unambiguous (id markers, frontmatter, a
|
|
243
|
+
`path:Symbol` bullet that lost its symbol), then re-run the lint and
|
|
244
|
+
re-`sync`. Do not hand off a spec that still lints with errors — say what is
|
|
245
|
+
unfixable and stop. Lint *warnings* are advisory: mention them, don't block.
|
|
246
|
+
Test evidence is part of this check (REQ-REVINT-001.A2): every requirement
|
|
247
|
+
either declares `verifies:` with `path:Symbol` bullets, or the deferral is
|
|
248
|
+
stated out loud in the review output. Silence is a finding, not a pass.
|
|
249
|
+
3. Walk the **QUALITY / HYGIENE** halves of the rubric defined in *Review* above
|
|
250
|
+
— the judgement calls the lint cannot make (is the criterion testable, is
|
|
251
|
+
there one concern per REQ, is an implementation detail leaking).
|
|
252
|
+
4. For **QUALITY findings that would change implementation behaviour** (a vague
|
|
216
253
|
or untestable acceptance criterion, a leaked implementation detail, a missing
|
|
217
254
|
failure path), surface them as **one** proceed/adjust prompt — apply the
|
|
218
255
|
adjustments or proceed as-is on the user's call. No extra gap-fill interview.
|
|
219
|
-
|
|
256
|
+
5. HYGIENE nits are noted in passing; they don't block the hand-off.
|
|
220
257
|
|
|
221
258
|
This is what enforces REQ-DOORS-002.A3 ("speed does not sacrifice correctness")
|
|
222
259
|
for the fast-path rather than leaving it aspirational.
|
|
@@ -278,14 +315,35 @@ UI action, not a SpecShip side effect.
|
|
|
278
315
|
For a solo dev who wants to record intent and move, **without** the brainstorm /
|
|
279
316
|
gap-question interview (REQ-DOORS-002):
|
|
280
317
|
|
|
281
|
-
1.
|
|
282
|
-
|
|
318
|
+
1. **Ask exactly two questions before drafting** (REQ-AUTHG-003.A2) — the floor
|
|
319
|
+
the fast-path never goes below, because guessing either answer produces a
|
|
320
|
+
spec that specifies only the happy path and has no stated boundary:
|
|
321
|
+
- What is the **primary failure mode** — the way this most plausibly goes
|
|
322
|
+
wrong in production?
|
|
323
|
+
- What is the **primary non-goal** — the nearest thing this explicitly does
|
|
324
|
+
not do?
|
|
325
|
+
|
|
326
|
+
Put both in one message, accept terse answers, and ask nothing else. The
|
|
327
|
+
failure-mode answer becomes a negative-path acceptance criterion; the
|
|
328
|
+
non-goal answer becomes the document's non-goals line. If the user declines
|
|
329
|
+
to answer, say what you are assuming for each and draft on.
|
|
330
|
+
2. Ground briefly with `specship_explore` on terms from the description (one call).
|
|
331
|
+
3. Draft a complete spec in memory following the `spec-author` format — frontmatter
|
|
283
332
|
(id/title/owner/priority), `<!-- id: -->` markers above every heading, an
|
|
284
333
|
RFC-2119 keyword per requirement, `## Acceptance` with `.A<N>` bullets (happy +
|
|
285
334
|
failure). Pick sensible defaults instead of asking; mark only genuinely
|
|
286
|
-
unknowable points `[needs review]
|
|
287
|
-
|
|
288
|
-
|
|
335
|
+
unknowable points `[needs review]`, and only in a requirement's prose —
|
|
336
|
+
never inside an acceptance bullet, where `specship lint` treats the marker
|
|
337
|
+
as an error (an unresolved criterion cannot be verified). Include both link
|
|
338
|
+
blocks —
|
|
339
|
+
`implementations:` for the code and `verifies:` for the test evidence, each a
|
|
340
|
+
list of `path:Symbol` bullets naming a real symbol — for a test, a named
|
|
341
|
+
function passed to `it()` (**REQ-REVINT-001**). `verifies:` is what creates
|
|
342
|
+
the `tests`-kind link that gates promotion to `verified`; speed is no reason
|
|
343
|
+
to skip it. If the tests aren't written yet, omit the block and name the gap
|
|
344
|
+
in the hand-off line — never leave test evidence silently missing.
|
|
345
|
+
4. `Write` it to `specs/<slug>.md` and tell the user the path.
|
|
346
|
+
5. `specship sync`, then run the shared **Post-write review** (below) — it is
|
|
289
347
|
part of the single guided step, so speed doesn't skip the backstop. Then hand
|
|
290
348
|
off with `/specship:spec implement <ID>` when ready.
|
|
291
349
|
|
|
@@ -33,13 +33,23 @@ export declare class SpecQueries {
|
|
|
33
33
|
private stmts;
|
|
34
34
|
constructor(db: SqliteDatabase);
|
|
35
35
|
/**
|
|
36
|
-
* Insert or
|
|
37
|
-
* into `nodes` with kind='spec' so graph traversal sees the spec.
|
|
36
|
+
* Insert or UPDATE a spec row (never delete-and-reinsert). Also projects a
|
|
37
|
+
* virtual node into `nodes` with kind='spec' so graph traversal sees the spec.
|
|
38
38
|
*
|
|
39
39
|
* The virtual node's `id` is `spec:${spec.id}` (kind:hash convention from
|
|
40
40
|
* tree-sitter-helpers, but hand-built — specs don't go through tree-sitter).
|
|
41
41
|
* `qualified_name = spec.id` so SpecLinkResolver and specship_explore can
|
|
42
42
|
* find specs by their stable ID.
|
|
43
|
+
*
|
|
44
|
+
* UPSERT, NOT `INSERT OR REPLACE` (REQ-VSTATE-001). `REPLACE` resolves a
|
|
45
|
+
* conflict by DELETING the existing row, which fires both `ON DELETE CASCADE`
|
|
46
|
+
* foreign keys on this table: re-inserting a spec destroyed all of its
|
|
47
|
+
* `spec_links`, and re-inserting a document destroyed every requirement
|
|
48
|
+
* beneath it. `ON CONFLICT DO UPDATE` mutates the row in place instead, so a
|
|
49
|
+
* spec's links are never collateral damage of re-indexing it.
|
|
50
|
+
*
|
|
51
|
+
* `created_at` is deliberately NOT updated — the row keeps its original
|
|
52
|
+
* birth timestamp across every re-extraction.
|
|
43
53
|
*/
|
|
44
54
|
insertSpec(spec: Spec): void;
|
|
45
55
|
/**
|
|
@@ -47,8 +57,61 @@ export declare class SpecQueries {
|
|
|
47
57
|
*/
|
|
48
58
|
insertSpecsBatch(specs: Spec[]): void;
|
|
49
59
|
/**
|
|
50
|
-
* Delete
|
|
60
|
+
* Delete the specs of `sourcePath` that the file NO LONGER declares — the
|
|
61
|
+
* mark-and-sweep half of non-destructive re-extraction (REQ-VSTATE-001.A3).
|
|
62
|
+
*
|
|
63
|
+
* `keepIds` is the id set the extractor just produced. Everything else from
|
|
64
|
+
* that file is gone from the source, so its rows go (CASCADE takes their
|
|
65
|
+
* links and any children with them, which is exactly right — a deleted
|
|
66
|
+
* requirement's links are not worth keeping). Specs the file still declares
|
|
67
|
+
* are never touched, so their links never enter a deleted state at all.
|
|
68
|
+
*
|
|
69
|
+
* Returns the number of spec rows swept.
|
|
70
|
+
*/
|
|
71
|
+
sweepRemovedSpecs(sourcePath: string, keepIds: string[]): number;
|
|
72
|
+
/**
|
|
73
|
+
* Reconcile the `spec-declaration` links of one spec file against what its
|
|
74
|
+
* current text actually declares (REQ-VSTATE-001).
|
|
75
|
+
*
|
|
76
|
+
* Upsert-based re-extraction fixed link destruction but created its mirror
|
|
77
|
+
* image: because the spec row survives, so does every link it ever declared,
|
|
78
|
+
* and deleting a `verifies:` / `implementations:` bullet stopped meaning
|
|
79
|
+
* anything. The file is the source of truth for the links IT declares, so a
|
|
80
|
+
* declaration that is no longer written is a declaration that no longer
|
|
81
|
+
* exists.
|
|
82
|
+
*
|
|
83
|
+
* Strictly provenance-scoped: only `spec-declaration` rows are candidates for
|
|
84
|
+
* removal. Agent-asserted, code-comment and resolver links are not declared by
|
|
85
|
+
* the file, cannot be re-created from it, and MUST survive — that is the whole
|
|
86
|
+
* point of the upsert path.
|
|
87
|
+
*
|
|
88
|
+
* A declaration link that was later promoted to `verified` still carries
|
|
89
|
+
* `spec-declaration` provenance (the confidence guard in
|
|
90
|
+
* {@link upsertSpecLink} never rewrites it), and it is dropped too when its
|
|
91
|
+
* bullet goes: the verdict was about a promise the spec has withdrawn.
|
|
92
|
+
* Nothing here is silent — the count comes back for the sync stats.
|
|
93
|
+
*
|
|
94
|
+
* `declared` must already be canonicalized the way the resolver canonicalizes
|
|
95
|
+
* a candidate before upserting it, or a `Class::method` row would never match
|
|
96
|
+
* its own `Class.method` declaration and would be dropped and re-created on
|
|
97
|
+
* every pass.
|
|
98
|
+
*
|
|
99
|
+
* Returns the number of links removed.
|
|
100
|
+
*/
|
|
101
|
+
reconcileDeclaredLinks(sourcePath: string, declared: Array<{
|
|
102
|
+
specId: string;
|
|
103
|
+
targetFilePath: string;
|
|
104
|
+
targetQualifiedName: string;
|
|
105
|
+
kind: SpecLinkKind;
|
|
106
|
+
}>): number;
|
|
107
|
+
/**
|
|
108
|
+
* Delete ALL specs for a given source file. CASCADE removes children
|
|
51
109
|
* (parent_id FK) and any spec_links to those specs.
|
|
110
|
+
*
|
|
111
|
+
* Re-extraction does NOT use this — it upserts and then calls
|
|
112
|
+
* {@link sweepRemovedSpecs} (REQ-VSTATE-001). Reach for this only when the
|
|
113
|
+
* file itself is gone, which is the one case where taking its links with it
|
|
114
|
+
* is the right answer.
|
|
52
115
|
*/
|
|
53
116
|
deleteSpecsByFile(sourcePath: string): void;
|
|
54
117
|
/** Look up a spec by its embedded ID. */
|
|
@@ -97,6 +160,13 @@ export declare class SpecQueries {
|
|
|
97
160
|
findLogicalLink(specId: string, targetFilePath: string, targetQualifiedName: string, kind: SpecLinkKind): SpecLink | null;
|
|
98
161
|
deleteSpecLink(id: number): void;
|
|
99
162
|
updateSpecLinkState(id: number, state: SpecLinkState, driftAxis?: SpecLinkDriftAxis, updatedAt?: number): void;
|
|
163
|
+
/**
|
|
164
|
+
* Replace a link's free-form `metadata`. Used by the verify paths to persist
|
|
165
|
+
* verification evidence (reason, timestamp, test names — REQ-REVINT-004);
|
|
166
|
+
* `null` clears it. Separate from `updateSpecLinkState` so a state change and
|
|
167
|
+
* its evidence are both explicit at the call site.
|
|
168
|
+
*/
|
|
169
|
+
updateSpecLinkMetadata(id: number, metadata: Record<string, unknown> | null, updatedAt?: number): void;
|
|
100
170
|
/**
|
|
101
171
|
* Update the resolved_node_id cache. Called by SpecLinkResolver after
|
|
102
172
|
* each sync. NULL means the logical target doesn't currently exist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-queries.d.ts","sourceRoot":"","sources":["../../src/db/spec-queries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,IAAI,EACJ,QAAQ,EAGR,QAAQ,EACR,aAAa,EAEb,YAAY,EAEZ,iBAAiB,EAEjB,WAAW,EACX,iBAAiB,EACjB,aAAa,EAGb,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAiGlB;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB;AA4GD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAiB;IAE3B;;;;OAIG;IACH,QAAQ,IAAI,cAAc;IAI1B,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"spec-queries.d.ts","sourceRoot":"","sources":["../../src/db/spec-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,18 +129,28 @@ class SpecQueries {
|
|
|
129
129
|
// Specs
|
|
130
130
|
// ===========================================================================
|
|
131
131
|
/**
|
|
132
|
-
* Insert or
|
|
133
|
-
* into `nodes` with kind='spec' so graph traversal sees the spec.
|
|
132
|
+
* Insert or UPDATE a spec row (never delete-and-reinsert). Also projects a
|
|
133
|
+
* virtual node into `nodes` with kind='spec' so graph traversal sees the spec.
|
|
134
134
|
*
|
|
135
135
|
* The virtual node's `id` is `spec:${spec.id}` (kind:hash convention from
|
|
136
136
|
* tree-sitter-helpers, but hand-built — specs don't go through tree-sitter).
|
|
137
137
|
* `qualified_name = spec.id` so SpecLinkResolver and specship_explore can
|
|
138
138
|
* find specs by their stable ID.
|
|
139
|
+
*
|
|
140
|
+
* UPSERT, NOT `INSERT OR REPLACE` (REQ-VSTATE-001). `REPLACE` resolves a
|
|
141
|
+
* conflict by DELETING the existing row, which fires both `ON DELETE CASCADE`
|
|
142
|
+
* foreign keys on this table: re-inserting a spec destroyed all of its
|
|
143
|
+
* `spec_links`, and re-inserting a document destroyed every requirement
|
|
144
|
+
* beneath it. `ON CONFLICT DO UPDATE` mutates the row in place instead, so a
|
|
145
|
+
* spec's links are never collateral damage of re-indexing it.
|
|
146
|
+
*
|
|
147
|
+
* `created_at` is deliberately NOT updated — the row keeps its original
|
|
148
|
+
* birth timestamp across every re-extraction.
|
|
139
149
|
*/
|
|
140
150
|
insertSpec(spec) {
|
|
141
151
|
if (!this.stmts.insertSpec) {
|
|
142
152
|
this.stmts.insertSpec = this.db.prepare(`
|
|
143
|
-
INSERT
|
|
153
|
+
INSERT INTO specs (
|
|
144
154
|
id, kind, title, body, format, source_path, start_line, end_line,
|
|
145
155
|
parent_id, content_hash, version, superseded_by, owner, priority,
|
|
146
156
|
metadata, created_at, updated_at
|
|
@@ -149,6 +159,22 @@ class SpecQueries {
|
|
|
149
159
|
@parentId, @contentHash, @version, @supersededBy, @owner, @priority,
|
|
150
160
|
@metadata, @createdAt, @updatedAt
|
|
151
161
|
)
|
|
162
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
163
|
+
kind = excluded.kind,
|
|
164
|
+
title = excluded.title,
|
|
165
|
+
body = excluded.body,
|
|
166
|
+
format = excluded.format,
|
|
167
|
+
source_path = excluded.source_path,
|
|
168
|
+
start_line = excluded.start_line,
|
|
169
|
+
end_line = excluded.end_line,
|
|
170
|
+
parent_id = excluded.parent_id,
|
|
171
|
+
content_hash = excluded.content_hash,
|
|
172
|
+
version = excluded.version,
|
|
173
|
+
superseded_by = excluded.superseded_by,
|
|
174
|
+
owner = excluded.owner,
|
|
175
|
+
priority = excluded.priority,
|
|
176
|
+
metadata = excluded.metadata,
|
|
177
|
+
updated_at = excluded.updated_at
|
|
152
178
|
`);
|
|
153
179
|
}
|
|
154
180
|
this.stmts.insertSpec.run({
|
|
@@ -211,8 +237,96 @@ class SpecQueries {
|
|
|
211
237
|
})();
|
|
212
238
|
}
|
|
213
239
|
/**
|
|
214
|
-
* Delete
|
|
240
|
+
* Delete the specs of `sourcePath` that the file NO LONGER declares — the
|
|
241
|
+
* mark-and-sweep half of non-destructive re-extraction (REQ-VSTATE-001.A3).
|
|
242
|
+
*
|
|
243
|
+
* `keepIds` is the id set the extractor just produced. Everything else from
|
|
244
|
+
* that file is gone from the source, so its rows go (CASCADE takes their
|
|
245
|
+
* links and any children with them, which is exactly right — a deleted
|
|
246
|
+
* requirement's links are not worth keeping). Specs the file still declares
|
|
247
|
+
* are never touched, so their links never enter a deleted state at all.
|
|
248
|
+
*
|
|
249
|
+
* Returns the number of spec rows swept.
|
|
250
|
+
*/
|
|
251
|
+
sweepRemovedSpecs(sourcePath, keepIds) {
|
|
252
|
+
const placeholders = keepIds.map(() => '?').join(',');
|
|
253
|
+
const notKept = keepIds.length > 0 ? ` AND id NOT IN (${placeholders})` : '';
|
|
254
|
+
const notKeptProjection = keepIds.length > 0 ? ` AND qualified_name NOT IN (${placeholders})` : '';
|
|
255
|
+
let swept = 0;
|
|
256
|
+
this.db.transaction(() => {
|
|
257
|
+
const doomed = this.db
|
|
258
|
+
.prepare(`SELECT id FROM specs WHERE source_path = ?${notKept}`)
|
|
259
|
+
.all(sourcePath, ...keepIds);
|
|
260
|
+
swept = doomed.length;
|
|
261
|
+
if (swept === 0)
|
|
262
|
+
return;
|
|
263
|
+
// Drop the virtual node projections for the swept specs only.
|
|
264
|
+
this.db
|
|
265
|
+
.prepare(`DELETE FROM nodes WHERE kind = 'spec' AND file_path = ?${notKeptProjection}`)
|
|
266
|
+
.run(sourcePath, ...keepIds);
|
|
267
|
+
this.db
|
|
268
|
+
.prepare(`DELETE FROM specs WHERE source_path = ?${notKept}`)
|
|
269
|
+
.run(sourcePath, ...keepIds);
|
|
270
|
+
})();
|
|
271
|
+
return swept;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Reconcile the `spec-declaration` links of one spec file against what its
|
|
275
|
+
* current text actually declares (REQ-VSTATE-001).
|
|
276
|
+
*
|
|
277
|
+
* Upsert-based re-extraction fixed link destruction but created its mirror
|
|
278
|
+
* image: because the spec row survives, so does every link it ever declared,
|
|
279
|
+
* and deleting a `verifies:` / `implementations:` bullet stopped meaning
|
|
280
|
+
* anything. The file is the source of truth for the links IT declares, so a
|
|
281
|
+
* declaration that is no longer written is a declaration that no longer
|
|
282
|
+
* exists.
|
|
283
|
+
*
|
|
284
|
+
* Strictly provenance-scoped: only `spec-declaration` rows are candidates for
|
|
285
|
+
* removal. Agent-asserted, code-comment and resolver links are not declared by
|
|
286
|
+
* the file, cannot be re-created from it, and MUST survive — that is the whole
|
|
287
|
+
* point of the upsert path.
|
|
288
|
+
*
|
|
289
|
+
* A declaration link that was later promoted to `verified` still carries
|
|
290
|
+
* `spec-declaration` provenance (the confidence guard in
|
|
291
|
+
* {@link upsertSpecLink} never rewrites it), and it is dropped too when its
|
|
292
|
+
* bullet goes: the verdict was about a promise the spec has withdrawn.
|
|
293
|
+
* Nothing here is silent — the count comes back for the sync stats.
|
|
294
|
+
*
|
|
295
|
+
* `declared` must already be canonicalized the way the resolver canonicalizes
|
|
296
|
+
* a candidate before upserting it, or a `Class::method` row would never match
|
|
297
|
+
* its own `Class.method` declaration and would be dropped and re-created on
|
|
298
|
+
* every pass.
|
|
299
|
+
*
|
|
300
|
+
* Returns the number of links removed.
|
|
301
|
+
*/
|
|
302
|
+
reconcileDeclaredLinks(sourcePath, declared) {
|
|
303
|
+
const key = (specId, filePath, qualifiedName, kind) => `${specId}${filePath}${qualifiedName}${kind}`;
|
|
304
|
+
const keep = new Set(declared.map((d) => key(d.specId, d.targetFilePath, d.targetQualifiedName, d.kind)));
|
|
305
|
+
const rows = this.db
|
|
306
|
+
.prepare(`
|
|
307
|
+
SELECT l.* FROM spec_links l
|
|
308
|
+
JOIN specs s ON s.id = l.spec_id
|
|
309
|
+
WHERE s.source_path = ? AND l.provenance = 'spec-declaration'
|
|
310
|
+
`)
|
|
311
|
+
.all(sourcePath);
|
|
312
|
+
const doomed = rows.filter((r) => !keep.has(key(r.spec_id, r.target_file_path, r.target_qualified_name, r.kind)));
|
|
313
|
+
if (doomed.length === 0)
|
|
314
|
+
return 0;
|
|
315
|
+
this.db.transaction(() => {
|
|
316
|
+
const del = this.db.prepare('DELETE FROM spec_links WHERE id = ?');
|
|
317
|
+
for (const r of doomed)
|
|
318
|
+
del.run(r.id);
|
|
319
|
+
})();
|
|
320
|
+
return doomed.length;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Delete ALL specs for a given source file. CASCADE removes children
|
|
215
324
|
* (parent_id FK) and any spec_links to those specs.
|
|
325
|
+
*
|
|
326
|
+
* Re-extraction does NOT use this — it upserts and then calls
|
|
327
|
+
* {@link sweepRemovedSpecs} (REQ-VSTATE-001). Reach for this only when the
|
|
328
|
+
* file itself is gone, which is the one case where taking its links with it
|
|
329
|
+
* is the right answer.
|
|
216
330
|
*/
|
|
217
331
|
deleteSpecsByFile(sourcePath) {
|
|
218
332
|
if (!this.stmts.deleteSpecsByFile) {
|
|
@@ -446,6 +560,14 @@ class SpecQueries {
|
|
|
446
560
|
// node id, signature, provenance, confidence, metadata) still refreshes
|
|
447
561
|
// here so the link stays current.
|
|
448
562
|
const preserve = types_1.STICKY_SPEC_LINK_STATES.has(existing.state);
|
|
563
|
+
// Metadata MERGES rather than replaces (REQ-VSTATE-001): the incoming keys
|
|
564
|
+
// win, but keys the caller didn't mention — notably the `verification`
|
|
565
|
+
// record holding a real test run's evidence (REQ-VSTATE-004) — survive a
|
|
566
|
+
// re-extraction. A wholesale replace would erase the proof behind a
|
|
567
|
+
// `verified` state while leaving the state itself in place.
|
|
568
|
+
const mergedMetadata = existing.metadata || link.metadata
|
|
569
|
+
? { ...(existing.metadata ?? {}), ...(link.metadata ?? {}) }
|
|
570
|
+
: null;
|
|
449
571
|
this.db
|
|
450
572
|
.prepare(`
|
|
451
573
|
UPDATE spec_links
|
|
@@ -469,7 +591,7 @@ class SpecQueries {
|
|
|
469
591
|
nodeSigAtLink: link.nodeSigAtLink ?? null,
|
|
470
592
|
provenance: link.provenance,
|
|
471
593
|
confidence: link.confidence ?? 1.0,
|
|
472
|
-
metadata:
|
|
594
|
+
metadata: mergedMetadata ? JSON.stringify(mergedMetadata) : null,
|
|
473
595
|
updatedAt: now,
|
|
474
596
|
});
|
|
475
597
|
return existing.id;
|
|
@@ -499,6 +621,18 @@ class SpecQueries {
|
|
|
499
621
|
}
|
|
500
622
|
this.stmts.updateSpecLinkState.run(state, driftAxis, updatedAt, id);
|
|
501
623
|
}
|
|
624
|
+
/**
|
|
625
|
+
* Replace a link's free-form `metadata`. Used by the verify paths to persist
|
|
626
|
+
* verification evidence (reason, timestamp, test names — REQ-REVINT-004);
|
|
627
|
+
* `null` clears it. Separate from `updateSpecLinkState` so a state change and
|
|
628
|
+
* its evidence are both explicit at the call site.
|
|
629
|
+
*/
|
|
630
|
+
updateSpecLinkMetadata(id, metadata, updatedAt = Date.now()) {
|
|
631
|
+
if (!this.stmts.updateSpecLinkMetadata) {
|
|
632
|
+
this.stmts.updateSpecLinkMetadata = this.db.prepare(`UPDATE spec_links SET metadata = ?, updated_at = ? WHERE id = ?`);
|
|
633
|
+
}
|
|
634
|
+
this.stmts.updateSpecLinkMetadata.run(metadata ? JSON.stringify(metadata) : null, updatedAt, id);
|
|
635
|
+
}
|
|
502
636
|
/**
|
|
503
637
|
* Update the resolved_node_id cache. Called by SpecLinkResolver after
|
|
504
638
|
* each sync. NULL means the logical target doesn't currently exist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-queries.js","sourceRoot":"","sources":["../../src/db/spec-queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec-queries.js","sourceRoot":"","sources":["../../src/db/spec-queries.ts"],"names":[],"mappings":"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"}
|