scip-query 0.19.4 → 0.19.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +1 -1
  3. package/dist/{chunk-SVLTAG5O.js → chunk-7UY7SD7D.js} +119 -119
  4. package/dist/{chunk-VMNZB6WI.js → chunk-TW4OG5FC.js} +2 -2
  5. package/dist/chunk-XAGAZSFE.js +6 -0
  6. package/dist/cli.js +3 -3
  7. package/dist/command-descriptors-N2TL4XM2.js +613 -0
  8. package/dist/direct-navigation-DUCZCTOE.js +3 -0
  9. package/docs/AI_FAILURE_MODES.md +1 -1
  10. package/docs/COMMAND_REFERENCE.md +5 -5
  11. package/docs/DETECTOR_GUIDE.md +1 -1
  12. package/package.json +1 -1
  13. package/skills/_shared/SKILL.md +6 -16
  14. package/skills/scip-api-impact/SKILL.md +22 -21
  15. package/skills/scip-claim-audit/SKILL.md +18 -17
  16. package/skills/scip-cleanup-audit/SKILL.md +24 -20
  17. package/skills/scip-cleanup-improve/SKILL.md +19 -18
  18. package/skills/scip-concrete-plan/HIGH_ASSURANCE.md +317 -0
  19. package/skills/scip-concrete-plan/SKILL.md +70 -227
  20. package/skills/scip-conductor/SKILL.md +14 -14
  21. package/skills/scip-debug/SKILL.md +21 -21
  22. package/skills/scip-diagram/SKILL.md +27 -27
  23. package/skills/scip-directory-architecture/SKILL.md +44 -32
  24. package/skills/scip-doc-reconcile/SKILL.md +17 -17
  25. package/skills/scip-explore/SKILL.md +23 -23
  26. package/skills/scip-hyper-optimization/SKILL.md +23 -23
  27. package/skills/scip-language-playbook/SKILL.md +34 -34
  28. package/skills/scip-maintainability/SKILL.md +21 -21
  29. package/skills/scip-probe-reachability/SKILL.md +10 -9
  30. package/skills/scip-query/SKILL.md +39 -39
  31. package/skills/scip-react-maintainability/SKILL.md +21 -21
  32. package/skills/scip-root-cause/SKILL.md +21 -20
  33. package/skills/scip-setup/SKILL.md +25 -24
  34. package/skills/scip-tla-model-system/SKILL.md +7 -7
  35. package/skills/scip-triage-issue/SKILL.md +27 -20
  36. package/skills/scip-twin-drift/SKILL.md +18 -16
  37. package/skills/scip-verify/SKILL.md +25 -9
  38. package/skills/scip-vue-maintainability/SKILL.md +21 -21
  39. package/dist/chunk-ZAIILQNP.js +0 -5
  40. package/dist/command-descriptors-MFU4BCJ7.js +0 -612
  41. package/dist/direct-navigation-MRMQFIRB.js +0 -3
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: scip-query
3
- description: Route codebase work in scip-query-indexed projects. Use when exploring, planning, implementing, refactoring, debugging, verifying, cleaning up, reconciling docs, improving health, or when unsure which scip-* skill should own the workflow.
3
+ description: Use scip-query effectively in an indexed repository. Routes questions like "how does this work?", "what will break?", "why is this broken?", "make a plan", "review this diff", or "clean this up" to the focused scip-* skill and command family.
4
4
  commands:
5
- - template: "scip-query status --capabilities"
6
- when: "Before routing: confirm the index is fresh."
7
- - template: "scip-query plan-context <target>"
8
- when: "Default loop: anchor a plan for the routed skill."
9
- - template: "scip-query diff-gate --json"
10
- when: "Default loop: the loop is complete only when this passes or is explained."
5
+ - template: 'scip-query status --capabilities'
6
+ when: 'Before routing: confirm the index is fresh.'
7
+ - template: 'scip-query plan-context <target>'
8
+ when: 'Default loop: anchor a plan for the routed skill.'
9
+ - template: 'scip-query diff-gate --json'
10
+ when: 'Default loop: the loop is complete only when this passes or is explained.'
11
11
  ---
12
12
 
13
13
  # scip-query Router
@@ -19,11 +19,11 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md) when you
19
19
  <!-- BEGIN GENERATED SKILL COMMANDS -->
20
20
  ## Commands for this skill
21
21
 
22
- | Command | Purpose | When |
23
- | --- | --- | --- |
24
- | `scip-query status --capabilities` | Show index status for this project | Before routing: confirm the index is fresh. |
25
- | `scip-query plan-context <target>` | Pre-edit planning context for a symbol, file, or module | Default loop: anchor a plan for the routed skill. |
26
- | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | Default loop: the loop is complete only when this passes or is explained. |
22
+ | Command | Purpose | Returns | Coverage | When |
23
+ | --- | --- | --- | --- | --- |
24
+ | `scip-query status --capabilities` | Show index status for this project | freshness, generation, language shards, watcher, and optional capabilities | `complete` | Before routing: confirm the index is fresh. |
25
+ | `scip-query plan-context <target>` | Pre-edit planning context for a symbol, file, or module | definitions and references; callers and callees; dataflow producers and consumers; backward and forward slices; affected symbols; change-surface risk; dependencies and reverse dependencies; module files and exports; external surface use; complexity; churn; co-change partners; active suppressions | `bounded` | Default loop: anchor a plan for the routed skill. |
26
+ | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | blocking findings with check id, message, and remediation; advisory findings; root-cause groups; changed file and symbol counts; process exit status (1 when blocking findings exist) | `bounded` | Default loop: the loop is complete only when this passes or is explained. |
27
27
 
28
28
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
29
29
  <!-- END GENERATED SKILL COMMANDS -->
@@ -32,7 +32,7 @@ Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only
32
32
 
33
33
  For non-trivial code changes:
34
34
 
35
- 1. Invoke `scip-concrete-plan`; the plan starts from `scip-query plan-context <target>` and designs for testability.
35
+ 1. Invoke `scip-concrete-plan`, anchored by `scip-query plan-context <target>`. It picks its own mode: ordinary planning by default, high-assurance only for security, money, destructive or irreversible operations, data migration, shared-state concurrency, or broad public API change. Do not demand the high-assurance certificate for routine work.
36
36
  2. Implement the plan in the smallest coherent slice.
37
37
  3. Invoke `scip-verify`.
38
38
 
@@ -40,32 +40,32 @@ The loop is complete only when `scip-verify` passes or each remaining finding ha
40
40
 
41
41
  ## Routes
42
42
 
43
- | Work | Skill | Anchor |
44
- | --- | --- | --- |
45
- | Understand a system before answering or editing | `scip-explore` | `system`, `trace`, `call-graph`, `dataflow` |
46
- | Root-cause a bug or regression | `scip-debug` | `trace`, `dataflow`, `change-surface` |
47
- | Diagnose the design flaw behind a family of recurring bugs | `scip-root-cause` | `co-change`, `similar`, `refs` |
48
- | Turn a report into a fix packet | `scip-triage-issue` | `files`, `trace`, `affected` |
49
- | Create a code flow, dependency, or blast-radius diagram | `scip-diagram` | `call-graph`, `dataflow`, `affected` |
50
- | Plan a feature, fix, or refactor | `scip-concrete-plan` | `plan-context` |
51
- | Run a multi-phase program: plan, delegate, verify handoffs, close | `scip-conductor` | `plan-context`, `diff-gate`, `health` |
52
- | Assess public API, route, config, schema, CLI, or export changes | `scip-api-impact` | `surface`, `affected`, `co-change` |
53
- | Pick language-specific high-signal commands | `scip-language-playbook` | language row |
54
- | Benchmark and optimize a command, workflow, or hot path | `scip-hyper-optimization` | `bench`, `plan-context`, profiles |
55
- | Adopt or repair scip-query setup in a repo | `scip-setup` | `setup`, `doctor`, `capabilities` |
56
- | Verify any finished change | `scip-verify` | `status`, `diff-impact`, final gate |
57
- | Audit, rank, or confirm cleanup findings | `scip-cleanup-audit` | `health`, `cleanup-plan`, cleanup detectors |
58
- | Autonomously fix confirmed cleanup findings | `scip-cleanup-improve` | `health`, `cleanup-plan`, verified batches |
59
- | Find or resolve same-name twins that have diverged | `scip-twin-drift` | `twin-drift`, `duplicate-bodies`, `refs` |
60
- | Faked or half-implemented features, checkers that never fail, dead paths behind fallbacks, lying metrics | `scip-integrity-audit` |
61
- | Audit whether a status claim is derived, hedged, or merely asserted | `scip-claim-audit` | `refs`, `code`, `trace` |
62
- | Prove whether a parser/AST branch is actually reachable | `scip-probe-reachability` | `outline --signatures`, `code`, scratch probes |
63
- | Reconcile living docs with code | `scip-doc-reconcile` | `doc-drift` |
64
- | Review or migrate folder ownership | `scip-directory-architecture` | `locality-candidates`, `similar-files` |
65
- | Review deeper maintainability and system compression | `scip-maintainability` | `bottlenecks`, `similar-chains`, `change-surface` |
66
- | Review React reuse and component/hook pressure | `scip-react-maintainability` | React duplicate and pressure commands |
67
- | Review Vue reuse and SFC/composable pressure | `scip-vue-maintainability` | Vue duplicate and pressure commands |
68
- | Model a TypeScript system with TLA+ | `scip-tla-model-system` | `plan-context`, `tla verify` |
43
+ | Work | Skill | Anchor |
44
+ | -------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------------------------------- |
45
+ | Understand a system before answering or editing | `scip-explore` | `system`, `trace`, `call-graph`, `dataflow` |
46
+ | Root-cause a bug or regression | `scip-debug` | `trace`, `dataflow`, `change-surface` |
47
+ | Diagnose the design flaw behind a family of recurring bugs | `scip-root-cause` | `co-change`, `similar`, `refs` |
48
+ | Turn a report into a fix packet | `scip-triage-issue` | `files`, `trace`, `affected` |
49
+ | Create a code flow, dependency, or blast-radius diagram | `scip-diagram` | `call-graph`, `dataflow`, `affected` |
50
+ | Plan a feature, fix, or refactor | `scip-concrete-plan` | `plan-context` |
51
+ | Run a multi-phase program: plan, delegate, verify handoffs, close | `scip-conductor` | `plan-context`, `diff-gate`, `health` |
52
+ | Assess public API, route, config, schema, CLI, or export changes | `scip-api-impact` | `surface`, `affected`, `co-change` |
53
+ | Pick language-specific high-signal commands | `scip-language-playbook` | language row |
54
+ | Benchmark and optimize a command, workflow, or hot path | `scip-hyper-optimization` | `bench`, `plan-context`, profiles |
55
+ | Adopt or repair scip-query setup in a repo | `scip-setup` | `setup`, `doctor`, `capabilities` |
56
+ | Verify any finished change | `scip-verify` | `status`, `diff-impact`, final gate |
57
+ | Audit, rank, or confirm cleanup findings | `scip-cleanup-audit` | `health`, `cleanup-plan`, cleanup detectors |
58
+ | Autonomously fix confirmed cleanup findings | `scip-cleanup-improve` | `health`, `cleanup-plan`, verified batches |
59
+ | Find or resolve same-name twins that have diverged | `scip-twin-drift` | `twin-drift`, `duplicate-bodies`, `refs` |
60
+ | Faked or half-implemented features, checkers that never fail, dead paths behind fallbacks, lying metrics | `scip-integrity-audit` |
61
+ | Audit whether a status claim is derived, hedged, or merely asserted | `scip-claim-audit` | `refs`, `code`, `trace` |
62
+ | Prove whether a parser/AST branch is actually reachable | `scip-probe-reachability` | `outline --signatures`, `code`, scratch probes |
63
+ | Reconcile living docs with code | `scip-doc-reconcile` | `doc-drift` |
64
+ | Review or migrate folder ownership | `scip-directory-architecture` | `locality-candidates`, `similar-files` |
65
+ | Review deeper maintainability and system compression | `scip-maintainability` | `bottlenecks`, `similar-chains`, `change-surface` |
66
+ | Review React reuse and component/hook pressure | `scip-react-maintainability` | React duplicate and pressure commands |
67
+ | Review Vue reuse and SFC/composable pressure | `scip-vue-maintainability` | Vue duplicate and pressure commands |
68
+ | Model a TypeScript system with TLA+ | `scip-tla-model-system` | `plan-context`, `tla verify` |
69
69
 
70
70
  Routing is complete only when one owning skill is selected or the task is small enough for the default loop alone.
71
71
 
@@ -2,18 +2,18 @@
2
2
  name: scip-react-maintainability
3
3
  description: Review React maintainability with scip-query. Use for React, TSX, JSX, Next.js, duplicated components, hook candidates, large components, frontend health pressure, or verifying reuse after refactors.
4
4
  commands:
5
- - template: "scip-query react-component-duplicates --scope <scope> --full --json"
6
- when: "Bound and scan: duplicated JSX structure candidates."
7
- - template: "scip-query react-hook-candidates --scope <scope> --full --json"
8
- when: "Bound and scan: shared state/effect/request extraction candidates."
9
- - template: "scip-query react-large-component-pressure --scope <scope> --full --json"
10
- when: "Bound and scan: components carrying several reasons to change."
11
- - template: "scip-query recent-duplicates --scope <scope> --full --json"
12
- when: "Bound and scan: recent code re-implementing established components."
13
- - template: "scip-query similar <closest-existing-component-or-hook>"
14
- when: "Cross-check candidates: existing component or hook to reuse instead."
15
- - template: "scip-query health --scope <scope> --json"
16
- when: "Bound and scan: frontend health pressure for the scope."
5
+ - template: 'scip-query react-component-duplicates --scope <scope> --full --json'
6
+ when: 'Bound and scan: duplicated JSX structure candidates.'
7
+ - template: 'scip-query react-hook-candidates --scope <scope> --full --json'
8
+ when: 'Bound and scan: shared state/effect/request extraction candidates.'
9
+ - template: 'scip-query react-large-component-pressure --scope <scope> --full --json'
10
+ when: 'Bound and scan: components carrying several reasons to change.'
11
+ - template: 'scip-query recent-duplicates --scope <scope> --full --json'
12
+ when: 'Bound and scan: recent code re-implementing established components.'
13
+ - template: 'scip-query similar <closest-existing-component-or-hook>'
14
+ when: 'Cross-check candidates: existing component or hook to reuse instead.'
15
+ - template: 'scip-query health --scope <scope> --json'
16
+ when: 'Bound and scan: frontend health pressure for the scope.'
17
17
  ---
18
18
 
19
19
  # scip-react-maintainability
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
25
25
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
26
  ## Commands for this skill
27
27
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query react-component-duplicates --scope <scope> --full --json` | Find heuristic duplicated React component structure candidates from JSX tags, props, events, and bindings | Bound and scan: duplicated JSX structure candidates. |
31
- | `scip-query react-hook-candidates --scope <scope> --full --json` | Find heuristic React hook extraction candidates from shared state, effects, requests, and handlers | Bound and scan: shared state/effect/request extraction candidates. |
32
- | `scip-query react-large-component-pressure --scope <scope> --full --json` | Find heuristic large React component pressure candidates from component lines, JSX structure, and hook behavior | Bound and scan: components carrying several reasons to change. |
33
- | `scip-query recent-duplicates --scope <scope> --full --json` | Directional duplicate candidates: recent code that re-implements established callable, React, or Vue code | Bound and scan: recent code re-implementing established components. |
34
- | `scip-query similar <closest-existing-component-or-hook>` | Find heuristic function similarity candidates from callee fingerprints | Cross-check candidates: existing component or hook to reuse instead. |
35
- | `scip-query health --scope <scope> --json` | Composite codebase health report with prioritized action list | Bound and scan: frontend health pressure for the scope. |
28
+ | Command | Purpose | Returns | Coverage | When |
29
+ | --- | --- | --- | --- | --- |
30
+ | `scip-query react-component-duplicates --scope <scope> --full --json` | Find heuristic duplicated React component structure candidates from JSX tags, props, events, and bindings | component pairs with structural similarity evidence | `bounded` | Bound and scan: duplicated JSX structure candidates. |
31
+ | `scip-query react-hook-candidates --scope <scope> --full --json` | Find heuristic React hook extraction candidates from shared state, effects, requests, and handlers | component groups and shared hook-shaped behavior | `bounded` | Bound and scan: shared state/effect/request extraction candidates. |
32
+ | `scip-query react-large-component-pressure --scope <scope> --full --json` | Find heuristic large React component pressure candidates from component lines, JSX structure, and hook behavior | component identities with size and responsibility pressure | `bounded` | Bound and scan: components carrying several reasons to change. |
33
+ | `scip-query recent-duplicates --scope <scope> --full --json` | Directional duplicate candidates: recent code that re-implements established callable, React, or Vue code | recent and established symbol pairs with similarity evidence | `bounded` | Bound and scan: recent code re-implementing established components. |
34
+ | `scip-query similar <closest-existing-component-or-hook>` | Find heuristic function similarity candidates from callee fingerprints | symbol pairs, similarity scores, and shared evidence | `bounded` | Cross-check candidates: existing component or hook to reuse instead. |
35
+ | `scip-query health --scope <scope> --json` | Composite codebase health report with prioritized action list | health score, findings, priorities, baselines, and coverage notes | `bounded` | Bound and scan: frontend health pressure for the scope. |
36
36
 
37
37
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
38
  <!-- END GENERATED SKILL COMMANDS -->
@@ -88,7 +88,7 @@ This step is complete only when the chosen action reduces future drift without c
88
88
 
89
89
  ### 4. Verify
90
90
 
91
- Run routed postchecks from the shared reference, including React commands, `incomplete-migration`, `recent-duplicates`, `unused-params`, and wrapper/passthrough/stale checks, then invoke `scip-verify`.
91
+ Invoke `scip-verify` and use its authoritative postcheck table, including the applicable React, extraction, duplicate, parameter, wrapper, passthrough, and stale-abstraction checks.
92
92
 
93
93
  The work is complete only when acted-on candidate pairs disappear, weaken materially, or are explicitly accepted as essential variation.
94
94
 
@@ -2,18 +2,18 @@
2
2
  name: scip-root-cause
3
3
  description: Diagnose the design flaw behind a family of related bugs with scip-query evidence. Use when similar bugs keep recurring, the same subsystem keeps needing patches, or the user lists fixed/observed bugs and asks what is really wrong; produces a falsifiable flaw diagnosis, a latent-instance hunt, and the least invasive remedy that kills the class.
4
4
  commands:
5
- - template: "scip-query trace <mechanism-symbol>"
6
- when: "Assemble the family: mechanism and violated invariant for each bug."
7
- - template: "scip-query co-change <fix-site-file>"
8
- when: "Assemble the family: files that historically changed with each fix site."
9
- - template: "scip-query system <system-scope>"
10
- when: "Define the system: real responsibilities, files, dependencies in and out."
11
- - template: "scip-query similar <fixed-symbol> --json --full"
12
- when: "Predict: hunt latent instances among sibling implementations of the fixed code."
13
- - template: "scip-query refs <invariant-carrier>"
5
+ - template: 'scip-query trace <mechanism-symbol>'
6
+ when: 'Assemble the family: mechanism and violated invariant for each bug.'
7
+ - template: 'scip-query co-change <fix-site-file>'
8
+ when: 'Assemble the family: files that historically changed with each fix site.'
9
+ - template: 'scip-query system <system-scope>'
10
+ when: 'Define the system: real responsibilities, files, dependencies in and out.'
11
+ - template: 'scip-query similar <fixed-symbol> --json --full'
12
+ when: 'Predict: hunt latent instances among sibling implementations of the fixed code.'
13
+ - template: 'scip-query refs <invariant-carrier>'
14
14
  when: "Predict: every site that touches the violated invariant's state."
15
- - template: "scip-query affected <remedy-symbol> --json"
16
- when: "Choose the rung: blast radius of the candidate remedy."
15
+ - template: 'scip-query affected <remedy-symbol> --json'
16
+ when: 'Choose the rung: blast radius of the candidate remedy.'
17
17
  ---
18
18
 
19
19
  # scip-root-cause
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
25
25
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
26
  ## Commands for this skill
27
27
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query trace <mechanism-symbol>` | Trace a symbol: definition + all references | Assemble the family: mechanism and violated invariant for each bug. |
31
- | `scip-query co-change <fix-site-file>` | Files that change together in git history without a dependency edge — hidden coupling candidates | Assemble the family: files that historically changed with each fix site. |
32
- | `scip-query system <system-scope>` | Full module map: files, symbols, deps in/out | Define the system: real responsibilities, files, dependencies in and out. |
33
- | `scip-query similar <fixed-symbol> --json --full` | Find heuristic function similarity candidates from callee fingerprints | Predict: hunt latent instances among sibling implementations of the fixed code. |
34
- | `scip-query refs <invariant-carrier>` | Find all files referencing a symbol | Predict: every site that touches the violated invariant's state. |
35
- | `scip-query affected <remedy-symbol> --json` | Transitive closure of symbols that could break if this symbol changes | Choose the rung: blast radius of the candidate remedy. |
28
+ | Command | Purpose | Returns | Coverage | When |
29
+ | --- | --- | --- | --- | --- |
30
+ | `scip-query trace <mechanism-symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Assemble the family: mechanism and violated invariant for each bug. |
31
+ | `scip-query co-change <fix-site-file>` | Files that change together in git history without a dependency edge — hidden coupling candidates | file pairs, co-change counts, confidence, and history context | `bounded` | Assemble the family: files that historically changed with each fix site. |
32
+ | `scip-query system <system-scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Define the system: real responsibilities, files, dependencies in and out. |
33
+ | `scip-query similar <fixed-symbol> --json --full` | Find heuristic function similarity candidates from callee fingerprints | symbol pairs, similarity scores, and shared evidence | `bounded` | Predict: hunt latent instances among sibling implementations of the fixed code. |
34
+ | `scip-query refs <invariant-carrier>` | Find all files referencing a symbol | referencing file paths; reference line numbers grouped by file | `bounded` | Predict: every site that touches the violated invariant's state. |
35
+ | `scip-query affected <remedy-symbol> --json` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Choose the rung: blast radius of the candidate remedy. |
36
36
 
37
37
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
38
  <!-- END GENERATED SKILL COMMANDS -->
@@ -67,7 +67,7 @@ For each reported or fixed bug, fill one row:
67
67
 
68
68
  ```markdown
69
69
  | Bug | Symptom | Mechanism (file:symbol) | Invariant violated | Fix applied | Source |
70
- | --- | --- | --- | --- | --- | --- |
70
+ | --- | ------- | ----------------------- | ------------------ | ----------- | ------ |
71
71
  ```
72
72
 
73
73
  Evidence: the user's description, fix commits (`git log --follow`, `git show`), `scip-query trace`/`code` on the mechanism symbols, `scip-query co-change` on fix sites to find members the user forgot.
@@ -90,6 +90,7 @@ responsibilities include <Y> (Source: <citation>); every family member is an
90
90
  instance of the X∧Y collision.
91
91
 
92
92
  Rivals:
93
+
93
94
  - R1. Coincidence — the members have unrelated causes. Killed by: <evidence> | ALIVE
94
95
  - R2. Misuse — callers hold the bug, the design is sound. Killed by: <evidence> | ALIVE
95
96
  - R3. <next-most-plausible> — Killed by: <evidence> | ALIVE
@@ -2,18 +2,18 @@
2
2
  name: scip-setup
3
3
  description: Set up or repair scip-query in a repository. Use for bootstrapping, onboarding, refreshing indexes, project-local hooks, agent guidance, capability diagnostics, health dossiers, .scipquery.json, or setup cleanup handoff.
4
4
  commands:
5
- - template: "scip-query setup --json"
6
- when: "Run setup: install skills, refresh the index, report health."
7
- - template: "scip-query doctor"
8
- when: "Resolve blockers: human diagnostic for config, index, and dependencies."
9
- - template: "scip-query status --json"
10
- when: "Resolve blockers: machine surface for freshness and config."
11
- - template: "scip-query capabilities --matrix"
12
- when: "Resolve blockers: which evidence/verification capabilities are available."
13
- - template: "scip-query config-validate --json"
14
- when: "Resolve blockers: validate .scipquery.json."
15
- - template: "scip-query init"
16
- when: "Calibrate config: create .scipquery.json only when absent and needed."
5
+ - template: 'scip-query setup --json'
6
+ when: 'Run setup: install skills, refresh the index, report health.'
7
+ - template: 'scip-query doctor'
8
+ when: 'Resolve blockers: human diagnostic for config, index, and dependencies.'
9
+ - template: 'scip-query status --json'
10
+ when: 'Resolve blockers: machine surface for freshness and config.'
11
+ - template: 'scip-query capabilities --matrix'
12
+ when: 'Resolve blockers: which evidence/verification capabilities are available.'
13
+ - template: 'scip-query config-validate --json'
14
+ when: 'Resolve blockers: validate .scipquery.json.'
15
+ - template: 'scip-query init'
16
+ when: 'Calibrate config: create .scipquery.json only when absent and needed.'
17
17
  ---
18
18
 
19
19
  # scip-setup
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
25
25
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
26
  ## Commands for this skill
27
27
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query setup --json` | Bootstrap this project: enable automatic indexing, install agent skills, refresh the index, verify capabilities, and report health | Run setup: install skills, refresh the index, report health. |
31
- | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | Resolve blockers: human diagnostic for config, index, and dependencies. |
32
- | `scip-query status --json` | Show index status for this project | Resolve blockers: machine surface for freshness and config. |
33
- | `scip-query capabilities --matrix` | Report which evidence and verification capabilities are available in this project | Resolve blockers: which evidence/verification capabilities are available. |
34
- | `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | Resolve blockers: validate .scipquery.json. |
35
- | `scip-query init` | Create a .scipquery.json config file for this project | Calibrate config: create .scipquery.json only when absent and needed. |
28
+ | Command | Purpose | Returns | Coverage | When |
29
+ | --- | --- | --- | --- | --- |
30
+ | `scip-query setup --json` | Bootstrap this project: enable automatic indexing, install agent skills, refresh the index, verify capabilities, and report health | setup step outcomes, files, capabilities, smoke tests, and warnings | `complete` | Run setup: install skills, refresh the index, report health. |
31
+ | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | config, freshness, dependency, and capability diagnostics | `complete` | Resolve blockers: human diagnostic for config, index, and dependencies. |
32
+ | `scip-query status --json` | Show index status for this project | freshness, generation, language shards, watcher, and optional capabilities | `complete` | Resolve blockers: machine surface for freshness and config. |
33
+ | `scip-query capabilities --matrix` | Report which evidence and verification capabilities are available in this project | capability matrix with availability and reasons | `complete` | Resolve blockers: which evidence/verification capabilities are available. |
34
+ | `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | validation diagnostics with config paths | `complete` | Resolve blockers: validate .scipquery.json. |
35
+ | `scip-query init` | Create a .scipquery.json config file for this project | configuration path and creation outcome | `complete` | Calibrate config: create .scipquery.json only when absent and needed. |
36
36
 
37
37
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
38
  <!-- END GENERATED SKILL COMMANDS -->
@@ -205,17 +205,18 @@ Report:
205
205
  ```markdown
206
206
  Setup: ready/partial/blocked
207
207
  Capabilities:
208
+
208
209
  - available:
209
210
  - unavailable:
210
- Health:
211
+ Health:
211
212
  - score:
212
213
  - dossier:
213
- Written or changed:
214
+ Written or changed:
214
215
  - files:
215
- Runtime:
216
+ Runtime:
216
217
  - automatic indexing:
217
218
  - TypeScript project/index sessions:
218
219
  - Rust semantic transport/lifecycle:
219
- Next:
220
+ Next:
220
221
  - cleanup audit/improve, CI setup, or external blocker
221
222
  ```
@@ -23,13 +23,13 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
23
23
  <!-- BEGIN GENERATED SKILL COMMANDS -->
24
24
  ## Commands for this skill
25
25
 
26
- | Command | Purpose | When |
27
- | --- | --- | --- |
28
- | `scip-query tla scaffold <file>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | Start here for a new model: derive a draft spec, config, and mapping from indexed code. |
29
- | `scip-query tla verify <spec>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | Mechanical conformance: referents, reads/writes, calls, and the model checker. |
30
- | `scip-query tla instrument <spec>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | Generate a trace recorder plus wiring sites for each mapped action. |
31
- | `scip-query tla trace-check <spec> --trace <file>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | Semantic conformance: check a recorded execution against the model's Next relation. |
32
- | `scip-query tla fetch-tools` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | Download the pinned tla2tools.jar into the cache when the checker is unavailable. |
26
+ | Command | Purpose | Returns | Coverage | When |
27
+ | --- | --- | --- | --- | --- |
28
+ | `scip-query tla scaffold <file>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` | Start here for a new model: derive a draft spec, config, and mapping from indexed code. |
29
+ | `scip-query tla verify <spec>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` | Mechanical conformance: referents, reads/writes, calls, and the model checker. |
30
+ | `scip-query tla instrument <spec>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` | Generate a trace recorder plus wiring sites for each mapped action. |
31
+ | `scip-query tla trace-check <spec> --trace <file>` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` | Semantic conformance: check a recorded execution against the model's Next relation. |
32
+ | `scip-query tla fetch-tools` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` | Download the pinned tla2tools.jar into the cache when the checker is unavailable. |
33
33
 
34
34
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
35
35
  <!-- END GENERATED SKILL COMMANDS -->
@@ -2,18 +2,18 @@
2
2
  name: scip-triage-issue
3
3
  description: Triage issues with scip-query evidence. Use for bug reports, GitHub issues, failing tests, support reports, TODOs, vague defects, root-cause packets, issue bodies, or test-first fix plans.
4
4
  commands:
5
- - template: "scip-query files <issue-term>"
6
- when: "Map ownership: locate files for the reported term."
7
- - template: "scip-query trace <entry-or-error-symbol>"
8
- when: "Trace the failing path: definition plus every reference."
9
- - template: "scip-query code <entry-or-error-symbol>"
10
- when: "Trace the failing path: read the exact source."
11
- - template: "scip-query call-graph <entry-symbol>"
12
- when: "Trace the failing path: callers and callees."
13
- - template: "scip-query similar <suspect-symbol> --json --full"
14
- when: "Compare and bound: nearby implementations for missing handling."
15
- - template: "scip-query affected <symbol> --json"
16
- when: "Compare and bound: transitive impact bound for the fix plan."
5
+ - template: 'scip-query files <issue-term>'
6
+ when: 'Map ownership: locate files for the reported term.'
7
+ - template: 'scip-query trace <entry-or-error-symbol>'
8
+ when: 'Trace the failing path: definition plus every reference.'
9
+ - template: 'scip-query code <entry-or-error-symbol>'
10
+ when: 'Trace the failing path: read the exact source.'
11
+ - template: 'scip-query call-graph <entry-symbol>'
12
+ when: 'Trace the failing path: callers and callees.'
13
+ - template: 'scip-query similar <suspect-symbol> --json --full'
14
+ when: 'Compare and bound: nearby implementations for missing handling.'
15
+ - template: 'scip-query affected <symbol> --json'
16
+ when: 'Compare and bound: transitive impact bound for the fix plan.'
17
17
  ---
18
18
 
19
19
  # scip-triage-issue
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
25
25
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
26
  ## Commands for this skill
27
27
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query files <issue-term>` | Find files matching a pattern | Map ownership: locate files for the reported term. |
31
- | `scip-query trace <entry-or-error-symbol>` | Trace a symbol: definition + all references | Trace the failing path: definition plus every reference. |
32
- | `scip-query code <entry-or-error-symbol>` | Read the source code for a symbol (bounded to its definition range) | Trace the failing path: read the exact source. |
33
- | `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | Trace the failing path: callers and callees. |
34
- | `scip-query similar <suspect-symbol> --json --full` | Find heuristic function similarity candidates from callee fingerprints | Compare and bound: nearby implementations for missing handling. |
35
- | `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | Compare and bound: transitive impact bound for the fix plan. |
28
+ | Command | Purpose | Returns | Coverage | When |
29
+ | --- | --- | --- | --- | --- |
30
+ | `scip-query files <issue-term>` | Find files matching a pattern | matching file paths | `complete` | Map ownership: locate files for the reported term. |
31
+ | `scip-query trace <entry-or-error-symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Trace the failing path: definition plus every reference. |
32
+ | `scip-query code <entry-or-error-symbol>` | Read the source code for a symbol (bounded to its definition range) | definition identity, source, and line range | `complete` | Trace the failing path: read the exact source. |
33
+ | `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | caller and callee symbol identities with files | `bounded` | Trace the failing path: callers and callees. |
34
+ | `scip-query similar <suspect-symbol> --json --full` | Find heuristic function similarity candidates from callee fingerprints | symbol pairs, similarity scores, and shared evidence | `bounded` | Compare and bound: nearby implementations for missing handling. |
35
+ | `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Compare and bound: transitive impact bound for the fix plan. |
36
36
 
37
37
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
38
  <!-- END GENERATED SKILL COMMANDS -->
@@ -98,28 +98,35 @@ This step is complete only when the packet has a narrow test shape and impact bo
98
98
 
99
99
  ```markdown
100
100
  ## Issue
101
+
101
102
  <one-sentence mismatch>
102
103
 
103
104
  ## Reproduction
105
+
104
106
  <steps, command, failing test, or missing data>
105
107
 
106
108
  ## Evidence
109
+
107
110
  - <scip-query command>: <fact>
108
111
 
109
112
  ## Suspected Root Cause
113
+
110
114
  <earliest code fact that explains the symptom>
111
115
 
112
116
  ## Impact
117
+
113
118
  - users/surfaces affected
114
119
  - blast radius
115
120
 
116
121
  ## Fix Plan
122
+
117
123
  1. Add or update failing test/smoke check.
118
124
  2. Make the smallest code change.
119
125
  3. Run targeted test.
120
126
  4. Invoke `scip-verify`.
121
127
 
122
128
  ## Open Questions
129
+
123
130
  - <product intent or external state only>
124
131
  ```
125
132
 
@@ -2,16 +2,16 @@
2
2
  name: scip-twin-drift
3
3
  description: Find and resolve twin drift with scip-query. Use for same-name or near-name functions across files with diverged bodies, drifted policy thresholds, one-sided fixes, or consolidating a duplicated concept into one canonical helper.
4
4
  commands:
5
- - template: "scip-query twin-drift --json --full"
6
- when: "Run the detector: every DIVERGENT and near-name group in scope."
7
- - template: "scip-query duplicate-bodies --json --full"
5
+ - template: 'scip-query twin-drift --json --full'
6
+ when: 'Run the detector: every DIVERGENT and near-name group in scope.'
7
+ - template: 'scip-query duplicate-bodies --json --full'
8
8
  when: "Cross-check: IDENTICAL groups are duplicate-bodies' job, not this skill's."
9
- - template: "scip-query code <symbol>"
9
+ - template: 'scip-query code <symbol>'
10
10
  when: "Classify a divergent group: read every member's body."
11
- - template: "scip-query refs <symbol>"
12
- when: "Pick the canonical twin: consumer count per member."
13
- - template: "scip-query diff-gate --json"
14
- when: "Verify: the twin-partner check must not flag a one-sided fix."
11
+ - template: 'scip-query refs <symbol>'
12
+ when: 'Pick the canonical twin: consumer count per member.'
13
+ - template: 'scip-query diff-gate --json'
14
+ when: 'Verify: the twin-partner check must not flag a one-sided fix.'
15
15
  ---
16
16
 
17
17
  # scip-twin-drift
@@ -23,13 +23,13 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
23
23
  <!-- BEGIN GENERATED SKILL COMMANDS -->
24
24
  ## Commands for this skill
25
25
 
26
- | Command | Purpose | When |
27
- | --- | --- | --- |
28
- | `scip-query twin-drift --json --full` | Twin drift candidates: same-name (or near-name) functions across files with diverged bodies | Run the detector: every DIVERGENT and near-name group in scope. |
29
- | `scip-query duplicate-bodies --json --full` | Find exact duplicate small-body candidates across files | Cross-check: IDENTICAL groups are duplicate-bodies' job, not this skill's. |
30
- | `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Classify a divergent group: read every member's body. |
31
- | `scip-query refs <symbol>` | Find all files referencing a symbol | Pick the canonical twin: consumer count per member. |
32
- | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | Verify: the twin-partner check must not flag a one-sided fix. |
26
+ | Command | Purpose | Returns | Coverage | When |
27
+ | --- | --- | --- | --- | --- |
28
+ | `scip-query twin-drift --json --full` | Twin drift candidates: same-name (or near-name) functions across files with diverged bodies | twin symbol pairs, history, and divergence evidence | `bounded` | Run the detector: every DIVERGENT and near-name group in scope. |
29
+ | `scip-query duplicate-bodies --json --full` | Find exact duplicate small-body candidates across files | callable groups with exact normalized-body identity | `bounded` | Cross-check: IDENTICAL groups are duplicate-bodies' job, not this skill's. |
30
+ | `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | definition identity, source, and line range | `complete` | Classify a divergent group: read every member's body. |
31
+ | `scip-query refs <symbol>` | Find all files referencing a symbol | referencing file paths; reference line numbers grouped by file | `bounded` | Pick the canonical twin: consumer count per member. |
32
+ | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | blocking findings with check id, message, and remediation; advisory findings; root-cause groups; changed file and symbol counts; process exit status (1 when blocking findings exist) | `bounded` | Verify: the twin-partner check must not flag a one-sided fix. |
33
33
 
34
34
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
35
35
  <!-- END GENERATED SKILL COMMANDS -->
@@ -81,7 +81,7 @@ This step is complete only when every DIVERGENT group is either consolidated (wi
81
81
 
82
82
  ### 4. Verify
83
83
 
84
- Rerun the detector to confirm consolidated groups no longer appear as DIVERGENT, then run the routed postchecks from the shared reference and:
84
+ Rerun the detector to confirm consolidated groups no longer appear as DIVERGENT, then run the routed postchecks from `scip-verify` and:
85
85
 
86
86
  ```bash
87
87
  scip-query diff-gate --json
@@ -98,10 +98,12 @@ Scope:
98
98
  Groups found: N (M divergent, K suppressed homonyms)
99
99
 
100
100
  Divergent groups:
101
+
101
102
  - <leaf name> (<files>) — classification: intentional variation / drifted policy / one-sided fix
102
103
  - action: consolidated into <canonical file:symbol> / reason kept separate
103
104
 
104
105
  Verification:
106
+
105
107
  - `scip-query twin-drift --json --full`: <result>
106
108
  - `scip-query diff-gate --json`: <result>
107
109
  ```
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
25
25
  <!-- BEGIN GENERATED SKILL COMMANDS -->
26
26
  ## Commands for this skill
27
27
 
28
- | Command | Purpose | When |
29
- | --- | --- | --- |
30
- | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | Prove the workspace: index freshness and dependency readiness. |
31
- | `scip-query status --capabilities` | Show index status for this project | Prove the workspace: which evidence and verification capabilities are available. |
32
- | `scip-query diff-impact --json` | Compute changed symbols and downstream consumers from current git diff | Assess the diff: changed symbols and downstream consumers. |
33
- | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | Run the gate: the primary blocker for diff-specific risk. |
34
- | `scip-query health --baseline` | Composite codebase health report with prioritized action list | Check health: compare findings against the committed baseline. |
35
- | `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Check docs: run when docs, AGENTS.md, or command surfaces changed. |
28
+ | Command | Purpose | Returns | Coverage | When |
29
+ | --- | --- | --- | --- | --- |
30
+ | `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | config, freshness, dependency, and capability diagnostics | `complete` | Prove the workspace: index freshness and dependency readiness. |
31
+ | `scip-query status --capabilities` | Show index status for this project | freshness, generation, language shards, watcher, and optional capabilities | `complete` | Prove the workspace: which evidence and verification capabilities are available. |
32
+ | `scip-query diff-impact --json` | Compute changed symbols and downstream consumers from current git diff | changed symbols, downstream consumer identities, and impact paths | `bounded` | Assess the diff: changed symbols and downstream consumers. |
33
+ | `scip-query diff-gate --json` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | blocking findings with check id, message, and remediation; advisory findings; root-cause groups; changed file and symbol counts; process exit status (1 when blocking findings exist) | `bounded` | Run the gate: the primary blocker for diff-specific risk. |
34
+ | `scip-query health --baseline` | Composite codebase health report with prioritized action list | health score, findings, priorities, baselines, and coverage notes | `bounded` | Check health: compare findings against the committed baseline. |
35
+ | `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | document paths, coupled code subjects, and history evidence | `bounded` | Check docs: run when docs, AGENTS.md, or command surfaces changed. |
36
36
 
37
37
  Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
38
38
  <!-- END GENERATED SKILL COMMANDS -->
@@ -69,7 +69,23 @@ This step is complete only when the diff shape is understood.
69
69
 
70
70
  ### 3. Run routed postchecks
71
71
 
72
- Use the postcheck table in the shared reference. Run all rows that apply to the change type.
72
+ Run every row matching what the diff actually did — not only the check you expected to need:
73
+
74
+ | Change made | Check |
75
+ | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
76
+ | Extracted a helper or abstraction | `scip-query incomplete-migration` |
77
+ | Added a helper, module, component, hook, composable, or adapter | `scip-query recent-duplicates` (and `similar <symbol>`) |
78
+ | Added parameters, options, props, config flags, or option objects | `scip-query unused-params` |
79
+ | Added a wrapper, facade, forwarding layer, alias, or re-export | `scip-query wrapper-candidates`, `passthrough-candidates`, `redundant-reexports` |
80
+ | Added an interface, base class, adapter contract, or type alias | `scip-query stale-abstractions` |
81
+ | Changed schema, config, generated files, public contracts, command descriptors, or docs-backed behavior | `scip-query co-change <file>` and `doc-drift` |
82
+ | Deleted code | `scip-query cleanup-plan --verify` |
83
+ | Changed React components or hooks | the React commands in the shared reference |
84
+ | Changed Vue SFCs or composables | the Vue commands in the shared reference |
85
+
86
+ Add `--json --full` when you need an unbounded machine-readable result rather than the default.
87
+ This is the authoritative edit-to-postcheck mapping; the shared reference links here instead of
88
+ duplicating it.
73
89
 
74
90
  This step is complete only when each applicable postcheck has a result and every actionable finding is fixed, accepted with evidence, or blocked by a named constraint.
75
91