scip-query 0.10.6 → 0.10.8
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/README.md +7 -2
- package/dist/augment-vue-worker.js +1 -1
- package/dist/{chunk-YQH353VA.js → chunk-24S6MYOC.js} +2 -2
- package/dist/{chunk-BNKE4TT5.js → chunk-2H57MJLI.js} +2 -2
- package/dist/{chunk-AUVBR62P.js → chunk-2YI45TNM.js} +2 -2
- package/dist/{chunk-TM6GVHA6.js → chunk-3FYGJ2GY.js} +2 -2
- package/dist/chunk-3LQFMQPY.js +3 -0
- package/dist/chunk-4TMJDHC6.js +5 -0
- package/dist/{chunk-FNRPGGVI.js → chunk-5G5VI7J4.js} +2 -2
- package/dist/chunk-5GVOJOBL.js +2 -0
- package/dist/{chunk-4ZUJJRWT.js → chunk-5SMUKUV5.js} +2 -2
- package/dist/{chunk-DE7MA6OD.js → chunk-63MSELOP.js} +2 -2
- package/dist/{chunk-5FOPAXWY.js → chunk-6BNOACLT.js} +2 -2
- package/dist/chunk-6EO3E3IP.js +23 -0
- package/dist/{chunk-47UA45TU.js → chunk-6N6QTGSD.js} +2 -2
- package/dist/{chunk-QLNGUWR7.js → chunk-6TDOT7B3.js} +2 -2
- package/dist/{chunk-MUULWXSJ.js → chunk-7KJBH4IP.js} +2 -2
- package/dist/chunk-7XWXGANX.js +4 -0
- package/dist/chunk-A536TEU4.js +3 -0
- package/dist/{chunk-CJJP64OC.js → chunk-AA7L7GKI.js} +2 -2
- package/dist/chunk-AETMKBZR.js +40 -0
- package/dist/{chunk-ZQLO2SCU.js → chunk-ANIOISCE.js} +2 -2
- package/dist/{chunk-6UFMPECA.js → chunk-B4EHYG6M.js} +2 -2
- package/dist/{chunk-OLD6PBU6.js → chunk-BEUQVBE3.js} +2 -2
- package/dist/{chunk-EOZIZWW4.js → chunk-BJG67TCR.js} +2 -2
- package/dist/{chunk-ICXVNWMI.js → chunk-BJWNO6BU.js} +2 -2
- package/dist/chunk-BTCASU5J.js +3 -0
- package/dist/{chunk-YUOAAR24.js → chunk-BWL2ECGQ.js} +2 -2
- package/dist/{chunk-QUJBXLBY.js → chunk-BZ53S4ZN.js} +2 -2
- package/dist/{chunk-EYLXU575.js → chunk-C6BYNIH4.js} +2 -2
- package/dist/chunk-C6ROZBJA.js +32 -0
- package/dist/chunk-COUFCH64.js +2 -0
- package/dist/{chunk-D322LMSA.js → chunk-DS6QEB3G.js} +5 -5
- package/dist/{chunk-NVFERV4U.js → chunk-E2CCBFLR.js} +2 -2
- package/dist/{chunk-Z4VHYJ5U.js → chunk-EBIQY3RK.js} +2 -2
- package/dist/{chunk-5UDFZC4D.js → chunk-EKECQP6Z.js} +2 -2
- package/dist/{chunk-O3OKSF6O.js → chunk-FG4NT6VY.js} +2 -2
- package/dist/{chunk-X7ZY6FFF.js → chunk-FGTHPJON.js} +2 -2
- package/dist/{chunk-QSXQT3NE.js → chunk-FHWEEQVO.js} +2 -2
- package/dist/{chunk-CFL2CNIF.js → chunk-FKUCFCLU.js} +2 -2
- package/dist/chunk-FVA3NH4P.js +2 -0
- package/dist/{chunk-5QJXH6ZL.js → chunk-GZQID3FS.js} +2 -2
- package/dist/{chunk-SPE4YCOT.js → chunk-I274B3B3.js} +2 -2
- package/dist/{chunk-DAI74TJU.js → chunk-J6ADQKQA.js} +2 -2
- package/dist/{chunk-E7KERP7E.js → chunk-JRUKS66S.js} +2 -2
- package/dist/{chunk-ZSLT7NWQ.js → chunk-JUIAOOK7.js} +2 -2
- package/dist/{chunk-7KCSELEV.js → chunk-JYSAYZNX.js} +2 -2
- package/dist/chunk-K7VBTWNR.js +2 -0
- package/dist/{chunk-56UN3DMK.js → chunk-KLXVEBVC.js} +2 -2
- package/dist/{chunk-E44ZMVNA.js → chunk-KZYHFI2X.js} +2 -2
- package/dist/{chunk-FIB4JPEX.js → chunk-L4QKEQ4S.js} +2 -2
- package/dist/{chunk-CTCAF3YA.js → chunk-LGX2Y4BA.js} +2 -2
- package/dist/{chunk-VAA5FFIW.js → chunk-LM5SHAN4.js} +2 -2
- package/dist/{chunk-YYD245WG.js → chunk-LWTML2AN.js} +2 -2
- package/dist/{chunk-7OHWPJ5N.js → chunk-MEKSFV6H.js} +2 -2
- package/dist/{chunk-5M4TYWVI.js → chunk-N7F5UM6J.js} +2 -2
- package/dist/{chunk-YUTRW57I.js → chunk-NWFSC356.js} +2 -2
- package/dist/chunk-P3K7LX7M.js +4 -0
- package/dist/{chunk-CAWSSEVM.js → chunk-Q34NWRPP.js} +2 -2
- package/dist/chunk-QDGKE5HN.js +21 -0
- package/dist/{chunk-ESG4HBEF.js → chunk-RHKMQNFI.js} +2 -2
- package/dist/chunk-RSKOYTSY.js +3 -0
- package/dist/chunk-RY7CAOJF.js +4 -0
- package/dist/{chunk-NNDYO2DX.js → chunk-S7YOLFLX.js} +2 -2
- package/dist/{chunk-LPLGJ4HO.js → chunk-SHM5D3DQ.js} +2 -2
- package/dist/chunk-SOGKYB5I.js +8 -0
- package/dist/{chunk-MZ7APUFN.js → chunk-T633QLYF.js} +2 -2
- package/dist/{chunk-AW4N6MGC.js → chunk-VAXDTQHE.js} +2 -2
- package/dist/chunk-VFLHKRTW.js +2 -0
- package/dist/{chunk-77YBOOYT.js → chunk-VMPB52FG.js} +2 -2
- package/dist/{chunk-3KLLFNT4.js → chunk-VOYOYC5T.js} +2 -2
- package/dist/{chunk-DJMK4DBL.js → chunk-VXT7WVIN.js} +2 -2
- package/dist/chunk-W2CBNBEL.js +71 -0
- package/dist/{chunk-3UW7VM4H.js → chunk-X3BJUFSN.js} +2 -2
- package/dist/chunk-X3Z4MLVL.js +4 -0
- package/dist/chunk-XPOZO76D.js +2 -0
- package/dist/{chunk-WBJZNPUT.js → chunk-XWC67C3Q.js} +2 -2
- package/dist/{chunk-GZCQTZLK.js → chunk-YNSVAJR6.js} +2 -2
- package/dist/chunk-YWOOQ4FF.js +2 -0
- package/dist/chunk-YZA6PPZL.js +3 -0
- package/dist/{chunk-CSWZFD46.js → chunk-ZDR4VTOP.js} +2 -2
- package/dist/{chunk-QVCCLDZI.js → chunk-ZL52RLDK.js} +2 -2
- package/dist/{chunk-YTR4CO5S.js → chunk-ZMU6IWDK.js} +3 -3
- package/dist/cli.js +272 -235
- package/dist/{config-types-Bj4sh28g.d.ts → config-types-BDIWAYzr.d.ts} +13 -1
- package/dist/{db-CTarohbZ.d.ts → db-BAVwb4Pb.d.ts} +1 -1
- package/dist/{health-Bx0x1HAG.d.ts → health-B17sVFYf.d.ts} +6 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/postinstall.js +1 -1
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.d.ts +2 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +2 -2
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +2 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +2 -2
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +2 -2
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +2 -2
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +2 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +2 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/deep-chains.d.ts +2 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-gate.d.ts +8 -5
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.d.ts +7 -3
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +2 -2
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +2 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +2 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +2 -2
- package/dist/queries/health.d.ts +3 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +2 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +5 -3
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +3 -3
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +2 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +2 -2
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +2 -2
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +2 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +2 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +2 -2
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +2 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +14 -4
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +2 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +2 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/vue-component-duplicates.d.ts +2 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +2 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +2 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +11 -11
- package/dist/reindex.d.ts +11 -2
- package/dist/reindex.js +22 -22
- package/dist/runtime.d.ts +17 -20
- package/dist/runtime.js +2 -2
- package/dist/scip-cli-CnK9Va4O.d.ts +56 -0
- package/docs/AGENT_GUIDE.md +1 -1
- package/docs/COMMAND_REFERENCE.md +4 -3
- package/docs/analyzer-inventory.md +2 -2
- package/docs/analyzer-validation-ledger.md +2 -2
- package/package.json +1 -1
- package/skills/concrete-plan/SKILL.md +2 -2
- package/skills/scip-adoption/SKILL.md +4 -2
- package/skills/scip-ai-cleanup/SKILL.md +1 -1
- package/skills/scip-api-impact/SKILL.md +6 -2
- package/skills/scip-debloat/SKILL.md +1 -1
- package/skills/scip-debug/SKILL.md +6 -2
- package/skills/scip-diagram/SKILL.md +3 -1
- package/skills/scip-directory-architecture/SKILL.md +7 -3
- package/skills/scip-doc-reconcile/SKILL.md +3 -1
- package/skills/scip-explore/SKILL.md +2 -2
- package/skills/scip-health-audit/SKILL.md +6 -2
- package/skills/scip-health-improve/SKILL.md +6 -2
- package/skills/scip-hyper-optimization/SKILL.md +97 -0
- package/skills/scip-hyper-optimization/agents/openai.yaml +4 -0
- package/skills/scip-maintainability/SKILL.md +6 -3
- package/skills/scip-query/SKILL.md +14 -6
- package/skills/scip-query-setup/SKILL.md +10 -5
- package/skills/scip-react-maintainability/SKILL.md +7 -2
- package/skills/scip-triage-issue/SKILL.md +4 -2
- package/skills/scip-verify/SKILL.md +5 -3
- package/skills/scip-vue-maintainability/SKILL.md +7 -2
- package/dist/chunk-237YUOPK.js +0 -8
- package/dist/chunk-3UVJJ6Z7.js +0 -2
- package/dist/chunk-3ZYF3ELZ.js +0 -2
- package/dist/chunk-7JOTOWZO.js +0 -4
- package/dist/chunk-A3VNUGKJ.js +0 -2
- package/dist/chunk-A4L36SZS.js +0 -22
- package/dist/chunk-A7RNHUJH.js +0 -20
- package/dist/chunk-AYYIZ4BA.js +0 -4
- package/dist/chunk-BKDXBJDQ.js +0 -2
- package/dist/chunk-C3MZZ2ZN.js +0 -2
- package/dist/chunk-CRU42NJU.js +0 -2
- package/dist/chunk-ERHOS6AW.js +0 -2
- package/dist/chunk-EWC3UK4V.js +0 -3
- package/dist/chunk-FOQHUKNZ.js +0 -4
- package/dist/chunk-FUPDW5AC.js +0 -3
- package/dist/chunk-G3WGZU5Q.js +0 -2
- package/dist/chunk-HVTYSC26.js +0 -40
- package/dist/chunk-KPHKX4LP.js +0 -71
- package/dist/chunk-MA7OVFHI.js +0 -2
- package/dist/chunk-OBBDKQAG.js +0 -3
- package/dist/chunk-RHTJBYZ5.js +0 -2
- package/dist/chunk-UQJGTVHV.js +0 -5
- package/dist/chunk-ZFMPHDAT.js +0 -4
- package/dist/scip-cli-Bh1M_JPu.d.ts +0 -20
|
@@ -93,7 +93,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
93
93
|
| `affected <symbol>` | Transitive closure of symbols that could break if this symbol changes | `--max-depth <n>`<br>`-s, --scope <path>`<br>`--json` |
|
|
94
94
|
| `change-surface <file>` | Pre-change briefing: exports, consumers, and blast-radius risk | `--full`<br>`--json` |
|
|
95
95
|
| `co-change [file]` | Files that change together in git history without a dependency edge — hidden coupling candidates | `--min-together <n>`<br>`-n, --limit <n>`<br>`--all`<br>`--full`<br>`--json` |
|
|
96
|
-
| `diff-gate` | Gate the current diff: echo candidates, incomplete migrations, missing co-change partners, uncited doc updates, unused params, new dead symbols; exit 1 on findings | `--base <ref>`<br>`--min-together <n>`<br>`--max-echo-checks <n>`<br>`--max-helpers <n>`<br>`--skip <check>`<br>`--hook`<br>`--json` |
|
|
96
|
+
| `diff-gate` | Gate the current diff: echo candidates, incomplete migrations, missing co-change partners, uncited doc updates, unused params, new dead symbols; exit 1 on findings | `--base <ref>`<br>`--min-together <n>`<br>`--max-echo-checks <n>`<br>`--max-helpers <n>`<br>`--baseline`<br>`--full`<br>`--skip <check>`<br>`--hook`<br>`--json` |
|
|
97
97
|
| `incomplete-migration` | Partially-completed extraction candidates: new helpers in the diff wired into some sites while similar un-migrated sites remain | `--base <ref>`<br>`--min-containment <n>`<br>`--max-helpers <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json` |
|
|
98
98
|
| `diff-impact` | Compute changed symbols and downstream consumers from current git diff | `--base <ref>`<br>`--json` |
|
|
99
99
|
|
|
@@ -115,7 +115,8 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
115
115
|
|
|
116
116
|
| Command | Description | Options |
|
|
117
117
|
|---|---|---|
|
|
118
|
-
| `
|
|
118
|
+
| `bench` | Benchmark indexing and command runtimes for this repository | `--json`<br>`--cold-index`<br>`--include-heavy`<br>`--command <cmd>`<br>`--timeout-ms <n>` |
|
|
119
|
+
| `install-skills` | Install skills (scip-query, scip-query-setup, scip-adoption, scip-health-audit, scip-health-improve, scip-hyper-optimization, scip-api-impact, concrete-plan, scip-ai-cleanup, scip-debug, scip-explore, scip-triage-issue, scip-diagram, scip-debloat, scip-doc-reconcile, scip-directory-architecture, scip-maintainability, scip-react-maintainability, scip-vue-maintainability, scip-verify, scip-language-playbook) into Claude Code, Codex, and shared agent roots | - |
|
|
119
120
|
| `setup-hooks` | Install or refresh project-local Codex and Claude Code lifecycle hooks | `--json` |
|
|
120
121
|
| `check-deps` | Check whether scip-query and the detected language indexers are actually runnable | - |
|
|
121
122
|
| `capabilities` | Report which evidence and verification capabilities are available in this project | `--json` |
|
|
@@ -127,7 +128,7 @@ This syntax summary is generated from the CLI command descriptors. Keep workflow
|
|
|
127
128
|
| `setup` | Bootstrap this project: install agent skills, refresh the index, verify capabilities, and report health | `--git-hook`<br>`--json` |
|
|
128
129
|
| `setup-agent` | Seed agent guidance for this project: AGENTS.md/CLAUDE.md block pointing agents at the scip-query skills and diff gate, plus an optional git pre-commit backstop | `--git-hook` |
|
|
129
130
|
| `setup-ci` | Write a GitHub Actions workflow that runs scip-query reindex and diff-gate on pull requests | `--force`<br>`--dry-run` |
|
|
130
|
-
| `watch` | Watch for file changes and reindex automatically | `--debounce <ms>`<br>`--cooldown <ms>` |
|
|
131
|
+
| `watch` | Watch for file changes and reindex automatically | `--debounce <ms>`<br>`--cooldown <ms>`<br>`--git-poll <ms>` |
|
|
131
132
|
| `status` | Show index status for this project | `--json`<br>`--capabilities` |
|
|
132
133
|
|
|
133
134
|
<!-- END GENERATED COMMAND REFERENCE -->
|
|
@@ -20,7 +20,7 @@ The action tiers are:
|
|
|
20
20
|
|
|
21
21
|
## Current Surfaces
|
|
22
22
|
|
|
23
|
-
The published query surface and private query-helper manifest live in `src/queries/public-query-entries.ts`. The CLI command order and families live in `src/runtime/commands/query-command-specs.ts`. The composite health score runs the phases listed in `HEALTH_PHASES` in `src/queries/health/health.ts`. The diff gate runs the checks listed in `DIFF_GATE_CHECKS` in `src/queries/impact/diff-gate.ts
|
|
23
|
+
The published query surface and private query-helper manifest live in `src/queries/public-query-entries.ts`. The CLI command order and families live in `src/runtime/commands/query-command-specs.ts`. The composite health score runs the phases listed in `HEALTH_PHASES` in `src/queries/health/health.ts`. The diff gate runs the default diff-scoped checks listed in `DIFF_GATE_CHECKS` in `src/queries/impact/diff-gate.ts`; the baseline policy helper remains private to the query tree and runs only for the explicit full health-baseline ratchet.
|
|
24
24
|
|
|
25
25
|
`health --json` on this repository currently reports:
|
|
26
26
|
|
|
@@ -67,7 +67,7 @@ The declared-coupling config has been refreshed after the inventory surfaced old
|
|
|
67
67
|
| `doc-reference` | Living docs citing changed files, excluding import-only source changes, with citation kind and Markdown-local cited-claim context | Split by citation evidence | Behavioral/current doc claims are direct doc-review evidence. Configuration examples and intentional records are support-tier checks unless the cited target changed meaning. |
|
|
68
68
|
| `unused-params` | Trailing unused params in changed files | Direct repair | Conservative enough to be a high-confidence local fix. |
|
|
69
69
|
| `new-dead` | Changed production symbols with zero consumers, excluding entry/root/test/framework-discovered cases | Direct repair | Either wire it up, remove it, or mark it as an externally live root before it lands. |
|
|
70
|
-
| `baseline` | New health finding identity versus committed baseline
|
|
70
|
+
| `baseline` | New health finding identity versus committed baseline, when the caller explicitly asks diff-gate to run the full baseline ratchet | Direct gate | It does not explain the smell itself, but correctly blocks regression until fixed or accepted. It is opt-in for diff-gate because the baseline comparison is repo-wide rather than diff-sized. |
|
|
71
71
|
|
|
72
72
|
## Standalone Cleanup and Similarity Analyzers
|
|
73
73
|
|
|
@@ -15,7 +15,7 @@ The ledger is anchored to the current tool surface, not memory.
|
|
|
15
15
|
| Surface | Source | Why it anchors the ledger |
|
|
16
16
|
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- |
|
|
17
17
|
| Repo-wide health analysis | `scip-query code health --json` reported `src/queries/health/health.ts:194`, where `health()` runs `runHealthAnalyses()` and `buildHealthReport()`. | Every repo-wide analyzer validation must eventually reconcile with health output and scoring. |
|
|
18
|
-
| Change-time gate analysis | `scip-query code diffGate --json` reported `src/queries/impact/diff-gate.ts:94`, where `diffGate()` runs `echo`, `incomplete-migration`, `co-change-partner`, `doc-reference`, `unused-params`, `new-dead
|
|
18
|
+
| Change-time gate analysis | `scip-query code diffGate --json` reported `src/queries/impact/diff-gate.ts:94`, where `diffGate()` runs the default diff-scoped checks: `echo`, `incomplete-migration`, `co-change-partner`, `doc-reference`, `unused-params`, and `new-dead`. The baseline ratchet is explicit because it is repo-wide. | Every diff-only analyzer needs a separate validation path from repo-wide health. |
|
|
19
19
|
| Public command registry | `scip-query trace queryCommandOrder --json` reported `src/runtime/commands/query-command-specs.ts:10`, where the public query command order starts. `scip-query code queryCommandDescriptor --json` reported `src/runtime/commands/query-command-specs.ts:94`, where command descriptors are resolved by id. | The ledger must not silently miss a public analyzer command. |
|
|
20
20
|
| Diff-gate check list | `scip-query trace DIFF_GATE_CHECKS --json` reported `src/queries/impact/diff-gate.ts:27`, where the canonical diff-gate check list is exported. | The ledger must cover every change-time check that can block a diff. |
|
|
21
21
|
|
|
@@ -267,4 +267,4 @@ The maintainability-register completion slice rechecked the ledger's command-sur
|
|
|
267
267
|
|
|
268
268
|
## 2026-06-23 Current Sweep Citation Refresh
|
|
269
269
|
|
|
270
|
-
The current maintainability sweep rechecked the `diff-gate.ts` citation again after doc-reference and baseline policy helpers moved into private query modules. The ledger remains accurate because `diffGate()` and `DIFF_GATE_CHECKS` still live in `src/queries/impact/diff-gate.ts`;
|
|
270
|
+
The current maintainability sweep rechecked the `diff-gate.ts` citation again after doc-reference and baseline policy helpers moved into private query modules. The ledger remains accurate because `diffGate()` and `DIFF_GATE_CHECKS` still live in `src/queries/impact/diff-gate.ts`; the baseline policy body remains behind the same entry point, but the repo-wide baseline ratchet is explicit rather than part of default diff-gate execution.
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ You are writing a production implementation plan as a markdown checklist. Every
|
|
|
11
11
|
|
|
12
12
|
## Hard Rules
|
|
13
13
|
|
|
14
|
-
1. **Every code reference must come from scip-query.** Run `scip-query
|
|
14
|
+
1. **Every code reference must come from scip-query.** Run `scip-query status --capabilities` or `scip-query status --json` before starting. If freshness is `fresh`, keep going; if it is `stale`, `missing`, or `unknown`, run `scip-query reindex` before using graph facts. No reference from memory, grep, or file reads.
|
|
15
15
|
|
|
16
16
|
2. **Every step must cite its source.** Each step in the plan includes a `Source` field naming the scip-query command that produced the file path, line number, and behavioral claim. A step without a Source is unverified and must not appear in the plan.
|
|
17
17
|
|
|
@@ -289,7 +289,7 @@ Apply the 11 Principles against every step in the design. For each principle, as
|
|
|
289
289
|
|
|
290
290
|
After stress-testing is complete:
|
|
291
291
|
|
|
292
|
-
1. **
|
|
292
|
+
1. **Freshness**: Run `scip-query status --capabilities`; reindex only if freshness is not `fresh`.
|
|
293
293
|
2. **Verify references**: Spawn parallel subagents (one per phase) using the **Subagent Briefing Template**. Each agent confirms that every file path exists, every line number is within +-5 lines, and every described behavior matches reality. Reject output that doesn't cite scip-query commands.
|
|
294
294
|
3. **Fix drift**: Update any stale references.
|
|
295
295
|
4. **Check execution order**: No phase depends on a later phase. No step within a phase depends on a later step.
|
|
@@ -67,7 +67,9 @@ scip-query config-validate
|
|
|
67
67
|
### 5. Prove ongoing local usefulness
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
scip-query
|
|
70
|
+
scip-query status --capabilities
|
|
71
|
+
# If freshness is stale, missing, or unknown:
|
|
72
|
+
# scip-query reindex
|
|
71
73
|
scip-query stats
|
|
72
74
|
scip-query files <known-source-term>
|
|
73
75
|
scip-query outline <known-source-file>
|
|
@@ -109,7 +111,7 @@ Health:
|
|
|
109
111
|
- confirmed cleanup queue or audit handoff
|
|
110
112
|
|
|
111
113
|
Verification:
|
|
112
|
-
- `scip-query reindex`
|
|
114
|
+
- `scip-query status --capabilities`, then `scip-query reindex` only if freshness is `stale`, `missing`, or `unknown`
|
|
113
115
|
- `scip-query diff-gate --json`
|
|
114
116
|
- targeted smoke commands
|
|
115
117
|
|
|
@@ -25,7 +25,7 @@ plan and a CI ratchet.
|
|
|
25
25
|
|
|
26
26
|
## Hard Rules
|
|
27
27
|
|
|
28
|
-
1. **Evidence first.** Run `scip-query status
|
|
28
|
+
1. **Evidence first.** Run `scip-query status --capabilities`; reindex only when freshness is `stale`, `missing`, or `unknown` before
|
|
29
29
|
trusting graph facts. All detectors print whether they're heuristic.
|
|
30
30
|
2. **Verify before deleting.** Findings are candidates; only
|
|
31
31
|
`cleanup-plan --verify` output stamped COMPILER-VERIFIED is proof.
|
|
@@ -21,7 +21,9 @@ Use this skill before changing a public surface. A public surface is a callable,
|
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
scip-query status --capabilities
|
|
24
|
-
scip-query
|
|
24
|
+
scip-query status --capabilities
|
|
25
|
+
# If freshness is stale, missing, or unknown:
|
|
26
|
+
# scip-query reindex
|
|
25
27
|
scip-query surface <module-or-package>
|
|
26
28
|
scip-query outline <file>
|
|
27
29
|
scip-query trace <symbol-or-command>
|
|
@@ -103,7 +105,9 @@ Verification:
|
|
|
103
105
|
### 6. Verify after editing
|
|
104
106
|
|
|
105
107
|
```bash
|
|
106
|
-
scip-query
|
|
108
|
+
scip-query status --capabilities
|
|
109
|
+
# If freshness is stale, missing, or unknown:
|
|
110
|
+
# scip-query reindex
|
|
107
111
|
scip-query diff-impact --json
|
|
108
112
|
scip-query diff-gate --json
|
|
109
113
|
```
|
|
@@ -304,7 +304,7 @@ scip-query hotspots -n 10 # Most-referenced symbols
|
|
|
304
304
|
### Phase 1: Health Check (5 minutes)
|
|
305
305
|
|
|
306
306
|
```bash
|
|
307
|
-
scip-query
|
|
307
|
+
scip-query status --capabilities # Ensure freshness; reindex only if stale, missing, or unknown
|
|
308
308
|
scip-query health # Get the full report
|
|
309
309
|
```
|
|
310
310
|
|
|
@@ -32,7 +32,9 @@ If the user provides no reproduction, make the smallest runnable reproduction yo
|
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
scip-query status --capabilities
|
|
35
|
-
scip-query
|
|
35
|
+
scip-query status --capabilities
|
|
36
|
+
# If freshness is stale, missing, or unknown:
|
|
37
|
+
# scip-query reindex
|
|
36
38
|
scip-query files <feature-or-error-term>
|
|
37
39
|
scip-query outline <candidate-file>
|
|
38
40
|
scip-query trace <candidate-symbol>
|
|
@@ -88,7 +90,9 @@ Name the smallest symbol or file that should change. If the blast radius is larg
|
|
|
88
90
|
Apply the minimal code change, then run:
|
|
89
91
|
|
|
90
92
|
```bash
|
|
91
|
-
scip-query
|
|
93
|
+
scip-query status --capabilities
|
|
94
|
+
# If freshness is stale, missing, or unknown:
|
|
95
|
+
# scip-query reindex
|
|
92
96
|
scip-query diff-gate --json
|
|
93
97
|
```
|
|
94
98
|
|
|
@@ -32,7 +32,9 @@ Start with current graph facts:
|
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
scip-query status --capabilities
|
|
35
|
-
scip-query
|
|
35
|
+
scip-query status --capabilities
|
|
36
|
+
# If freshness is stale, missing, or unknown:
|
|
37
|
+
# scip-query reindex
|
|
36
38
|
```
|
|
37
39
|
|
|
38
40
|
Collect only the commands needed for the diagram:
|
|
@@ -24,7 +24,7 @@ A migration slice is the smallest set of file moves and import updates that can
|
|
|
24
24
|
3. Preserve working conventions. Existing boundaries are not wrong just because they are broad; central folders such as `errors`, `routes`, `workflows`, `schemas`, `contracts`, or `features` may be doing real work.
|
|
25
25
|
4. Do not reward generic `shared`. A shared folder is justified only when the shared concept has a name, owner, and consumers across real boundaries.
|
|
26
26
|
5. Treat messy repos honestly. If ownership concepts are not stable, produce a discovery map and decision list instead of pretending the repo has a clean target structure.
|
|
27
|
-
6. Prefer small verified moves. Broad reorganizations need staged migration slices with import updates, tests,
|
|
27
|
+
6. Prefer small verified moves. Broad reorganizations need staged migration slices with import updates, tests, a fresh scip-query index, and `scip-query diff-gate --json`.
|
|
28
28
|
|
|
29
29
|
## Workflow
|
|
30
30
|
|
|
@@ -46,7 +46,9 @@ Run:
|
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
48
|
scip-query status
|
|
49
|
-
scip-query
|
|
49
|
+
scip-query status --capabilities
|
|
50
|
+
# If freshness is stale, missing, or unknown:
|
|
51
|
+
# scip-query reindex
|
|
50
52
|
scip-query stats
|
|
51
53
|
find . -maxdepth 3 -type d | sort
|
|
52
54
|
```
|
|
@@ -155,7 +157,9 @@ When the user asks to proceed, pick the smallest high-confidence slice. Before e
|
|
|
155
157
|
Then move files with normal filesystem tools, update imports with project tooling where available, and run:
|
|
156
158
|
|
|
157
159
|
```bash
|
|
158
|
-
scip-query
|
|
160
|
+
scip-query status --capabilities
|
|
161
|
+
# If freshness is stale, missing, or unknown:
|
|
162
|
+
# scip-query reindex
|
|
159
163
|
scip-query incomplete-migration
|
|
160
164
|
scip-query recent-duplicates
|
|
161
165
|
scip-query co-change <moved-file-or-config>
|
|
@@ -30,7 +30,9 @@ descriptive.
|
|
|
30
30
|
### 1. Build the evidence-backed worklist
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
scip-query
|
|
33
|
+
scip-query status --capabilities
|
|
34
|
+
# If freshness is stale, missing, or unknown:
|
|
35
|
+
# scip-query reindex
|
|
34
36
|
scip-query doc-drift # all living docs, ranked by staleness
|
|
35
37
|
scip-query doc-drift agent-os/standards # scoped to a standards tree
|
|
36
38
|
```
|
|
@@ -77,10 +77,10 @@ Start by making sure the SCIP facts are current enough to trust:
|
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
79
|
scip-query status # Check index location, freshness, and project root
|
|
80
|
-
scip-query
|
|
80
|
+
scip-query status --capabilities # Reindex only when freshness is stale, missing, or unknown
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
If `status` is unavailable or inconclusive, run `scip-query stats` and `scip-query reindex` when the repository has changed. Do not explore from an index you know is stale.
|
|
83
|
+
If `status` is unavailable or inconclusive, run `scip-query stats` and then `scip-query reindex` only when the repository has changed or freshness cannot be proven. Do not explore from an index you know is stale.
|
|
84
84
|
|
|
85
85
|
### Step 1: Orient — What are we looking at?
|
|
86
86
|
|
|
@@ -34,7 +34,9 @@ Then collect the current state:
|
|
|
34
34
|
```bash
|
|
35
35
|
scip-query doctor
|
|
36
36
|
scip-query status --capabilities
|
|
37
|
-
scip-query
|
|
37
|
+
scip-query status --capabilities
|
|
38
|
+
# If freshness is stale, missing, or unknown:
|
|
39
|
+
# scip-query reindex
|
|
38
40
|
scip-query health --json --full
|
|
39
41
|
scip-query diff-gate --json
|
|
40
42
|
scip-query capability-matrix --json
|
|
@@ -139,7 +141,9 @@ When the user has asked for cleanup or the current workflow is post-setup cleanu
|
|
|
139
141
|
After every batch:
|
|
140
142
|
|
|
141
143
|
```bash
|
|
142
|
-
scip-query
|
|
144
|
+
scip-query status --capabilities
|
|
145
|
+
# If freshness is stale, missing, or unknown:
|
|
146
|
+
# scip-query reindex
|
|
143
147
|
scip-query diff-gate --json
|
|
144
148
|
scip-query health --json --full
|
|
145
149
|
```
|
|
@@ -40,7 +40,9 @@ Collect the baseline before ranking:
|
|
|
40
40
|
```bash
|
|
41
41
|
scip-query doctor
|
|
42
42
|
scip-query status --capabilities
|
|
43
|
-
scip-query
|
|
43
|
+
scip-query status --capabilities
|
|
44
|
+
# If freshness is stale, missing, or unknown:
|
|
45
|
+
# scip-query reindex
|
|
44
46
|
scip-query health --json --full
|
|
45
47
|
scip-query diff-gate --json
|
|
46
48
|
scip-query capability-matrix --json
|
|
@@ -116,7 +118,9 @@ Then repeat:
|
|
|
116
118
|
2. Run the project check that proves the touched behavior.
|
|
117
119
|
3. Run:
|
|
118
120
|
```bash
|
|
119
|
-
scip-query
|
|
121
|
+
scip-query status --capabilities
|
|
122
|
+
# If freshness is stale, missing, or unknown:
|
|
123
|
+
# scip-query reindex
|
|
120
124
|
scip-query diff-gate --json
|
|
121
125
|
scip-query health --json --full
|
|
122
126
|
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scip-hyper-optimization
|
|
3
|
+
description: Run scientific performance optimization campaigns with scip-query evidence, command ledgers, and benchmark corpora. Use when the user asks to hyper optimize, make commands blazing fast, speed up a CLI/tool/app, benchmark regressions, or compare targeted tuning against radically different implementations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SCIP Hyper Optimization
|
|
7
|
+
Use this skill to make a command, workflow, service, page, or tool as fast as
|
|
8
|
+
feasibly possible without changing its observable result. Hyper optimization is
|
|
9
|
+
a bounded campaign that improves runtime, memory use, or computational cost
|
|
10
|
+
against objective measurements; every accepted change is proven by a repeatable
|
|
11
|
+
benchmark and unchanged output.
|
|
12
|
+
|
|
13
|
+
A measurement harness is the repeatable set of commands, fixtures, corpora,
|
|
14
|
+
environment notes, and result documents used to decide whether performance
|
|
15
|
+
changed. A command ledger is the living document for one target: what it
|
|
16
|
+
returns, what code runs, where time is spent, what was tried, and what evidence
|
|
17
|
+
accepted or rejected each idea.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
1. Do not optimize until a measurement harness exists or has been created.
|
|
22
|
+
2. Use scip-query for code understanding: `status`, `plan-context`, `trace`,
|
|
23
|
+
`call-graph`, `code`, `dataflow`, `complexity`, `diff-impact`, `diff-gate`.
|
|
24
|
+
3. Capture representative inputs, required output behavior, and correctness
|
|
25
|
+
checks before editing.
|
|
26
|
+
4. Measure cold and warm paths when both matter; record exact commands, corpus,
|
|
27
|
+
elapsed time, repetitions, and outliers.
|
|
28
|
+
5. Work both tracks: tune the current pipeline and evaluate radically different
|
|
29
|
+
algorithms or data models that preserve the same result.
|
|
30
|
+
6. Keep only changes that improve real workloads without reducing accuracy,
|
|
31
|
+
diagnostics, safety checks, or supported inputs.
|
|
32
|
+
|
|
33
|
+
## Phase 0: Measurement Harness
|
|
34
|
+
If the target repository is not already a reliable scip-query workspace, invoke
|
|
35
|
+
`scip-query-setup` first. Do not run setup-ci in this workflow.
|
|
36
|
+
|
|
37
|
+
Create or update a benchmark note before code changes. Prefer the repo's
|
|
38
|
+
existing convention; otherwise use
|
|
39
|
+
`docs/benchmarks/YYYY-MM-DD-<target>-baseline.md`. Include target, machine/date
|
|
40
|
+
context, corpus or fixture list, cold/warm/correctness commands, baseline
|
|
41
|
+
timings, output-contract evidence, and slowest stages.
|
|
42
|
+
|
|
43
|
+
Choose the measurement mechanism from the target's real workload. For app
|
|
44
|
+
paths, use the app's benchmark, test, route smoke, build, profiler, load test,
|
|
45
|
+
or timing script; if none exists, create the smallest repeatable timing command.
|
|
46
|
+
For scip-query command, detector, or indexer targets, benchmark the relevant
|
|
47
|
+
command matrix:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
scip-query bench --json
|
|
51
|
+
scip-query bench --json --cold-index --include-heavy --timeout-ms 600000
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Phase 1: Command Ledger
|
|
55
|
+
Create one ledger per target:
|
|
56
|
+
`docs/benchmarks/YYYY-MM-DD-<target>-ledger.md`. Include Output Contract,
|
|
57
|
+
Current Pipeline, Measurements, Current-Pipeline Optimizations, Alternative
|
|
58
|
+
Designs, and Decisions.
|
|
59
|
+
|
|
60
|
+
## Phase 2: Trace Current Behavior
|
|
61
|
+
Trace the target end to end and write the actual path into the ledger:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
scip-query status --capabilities
|
|
65
|
+
# If stale, missing, or unknown: scip-query reindex
|
|
66
|
+
scip-query plan-context <entry-symbol-or-file>
|
|
67
|
+
scip-query trace <entry-symbol>
|
|
68
|
+
scip-query call-graph <entry-symbol>
|
|
69
|
+
scip-query code <entry-symbol>
|
|
70
|
+
scip-query dataflow <entry-symbol>
|
|
71
|
+
scip-query complexity <hot-symbol>
|
|
72
|
+
scip-query change-surface <touched-file> --json --full
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Record input parsing, lookups, database queries, graph traversal, source scans,
|
|
76
|
+
semantic calls, cache reads/writes, rendering, and verification.
|
|
77
|
+
|
|
78
|
+
## Phase 3: Find Speedups
|
|
79
|
+
For the current pipeline, look for repeated work, broad scans, N+1 lookups,
|
|
80
|
+
uncached pure work, avoidable source or semantic reads, large arrays, late
|
|
81
|
+
filters, batchable per-file work, and safe parallelism.
|
|
82
|
+
|
|
83
|
+
For alternative designs, restate the output contract first. Ask whether SQLite
|
|
84
|
+
can answer directly, an index/cache/precomputed table can move work out of the
|
|
85
|
+
hot path, batch queries can replace loops, a cheap pruning stage can precede
|
|
86
|
+
exact work, or workers can run independent phases safely.
|
|
87
|
+
|
|
88
|
+
## Phase 4: Implement and Verify
|
|
89
|
+
Make the smallest reversible change that tests one performance hypothesis.
|
|
90
|
+
Update the ledger with hypothesis, changed files/symbols, before/after timings,
|
|
91
|
+
output comparison, tests, and gates.
|
|
92
|
+
|
|
93
|
+
Run the narrow correctness check, benchmark cases, `scip-query diff-impact
|
|
94
|
+
--json`, and `scip-query diff-gate --json`; reindex first if freshness is not
|
|
95
|
+
proven. Also run postchecks matching the change type. End with starting time,
|
|
96
|
+
final time, percentage change, accepted changes, rejected ideas, remaining
|
|
97
|
+
bottlenecks, and the next target.
|
|
@@ -28,7 +28,7 @@ System compression belongs inside this review. A system compression is a maintai
|
|
|
28
28
|
|
|
29
29
|
## Hard Rules
|
|
30
30
|
|
|
31
|
-
1. **Evidence first.** Use `scip-query` to ground claims in files, symbols, references, call graphs, dependencies, surfaces, and blast radius.
|
|
31
|
+
1. **Evidence first.** Use `scip-query` to ground claims in files, symbols, references, call graphs, dependencies, surfaces, and blast radius. Check `scip-query status --capabilities`; if freshness is `stale`, `missing`, or `unknown`, run `scip-query reindex` before trusting graph facts.
|
|
32
32
|
|
|
33
33
|
2. **Do not chase health scores.** `scip-query health`, detector counts, and LOC estimates are diagnostic signals. They are not the objective. A change is valuable only when it reduces real maintenance burden while preserving behavior.
|
|
34
34
|
|
|
@@ -83,7 +83,7 @@ Start from current code intelligence:
|
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
85
|
scip-query status
|
|
86
|
-
scip-query
|
|
86
|
+
scip-query status --capabilities # Reindex only when freshness is stale, missing, or unknown
|
|
87
87
|
scip-query stats
|
|
88
88
|
scip-query system <scope>
|
|
89
89
|
scip-query surface <scope>
|
|
@@ -264,7 +264,10 @@ Always finish implemented maintainability work with:
|
|
|
264
264
|
|
|
265
265
|
```bash
|
|
266
266
|
scip-query diff-impact --json
|
|
267
|
-
scip-query
|
|
267
|
+
scip-query status --capabilities
|
|
268
|
+
# If freshness is stale, missing, or unknown:
|
|
269
|
+
# scip-query reindex
|
|
270
|
+
scip-query diff-gate --json
|
|
268
271
|
```
|
|
269
272
|
|
|
270
273
|
Treat `diff-gate` findings as unfinished work. Fix them or state a concrete acceptance reason; do not silently report success.
|
|
@@ -10,8 +10,11 @@ Your job here is only to route: identify the phase of work, invoke the right
|
|
|
10
10
|
specialist skill, and enforce the non-negotiable checks. Do not improvise a
|
|
11
11
|
workflow when a specialist skill exists for it.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
`scip-query
|
|
13
|
+
Before trusting graph facts, check freshness with `scip-query status --capabilities`
|
|
14
|
+
or `scip-query status --json`. If the index is `fresh`, continue without
|
|
15
|
+
reindexing. If it is `stale`, `missing`, or `unknown`, run `scip-query reindex`
|
|
16
|
+
before using code-intelligence results. Project hooks auto-refresh stale indexes
|
|
17
|
+
by default unless `.scipquery.json` sets `watch.autoRefresh: false`.
|
|
15
18
|
|
|
16
19
|
## The default loop for any implementation request
|
|
17
20
|
|
|
@@ -22,9 +25,9 @@ When the user asks you to build, change, or fix something non-trivial:
|
|
|
22
25
|
2. **Implement** the plan.
|
|
23
26
|
3. **Verify** — invoke `scip-verify`, then run the post-checks that match what
|
|
24
27
|
you changed (table below).
|
|
25
|
-
4. **Gate before done** —
|
|
26
|
-
`scip-query diff-gate --json`; fix findings or state
|
|
27
|
-
accepted.
|
|
28
|
+
4. **Gate before done** — check freshness; reindex only when the index is not
|
|
29
|
+
`fresh`, then run `scip-query diff-gate --json`; fix findings or state
|
|
30
|
+
explicitly why each is accepted.
|
|
28
31
|
|
|
29
32
|
## Route by phase of work
|
|
30
33
|
|
|
@@ -37,8 +40,10 @@ When the user asks you to build, change, or fix something non-trivial:
|
|
|
37
40
|
| Plan a feature, fix, or refactor | `concrete-plan` | `scip-query plan-context <target>` |
|
|
38
41
|
| Assess a public API, route, CLI, config, schema, or boundary change | `scip-api-impact` | `scip-query surface <module>`, `scip-query affected <symbol>`, `scip-query co-change <file>` |
|
|
39
42
|
| Pick high-signal commands for an unfamiliar language | `scip-language-playbook` | — |
|
|
43
|
+
| Benchmark indexing, command runtime, or detector performance | `scip-query` | `scip-query bench --json`, `scip-query bench --cold-index --include-heavy` |
|
|
44
|
+
| Hyper-optimize a command, workflow, indexer, detector, or app path with benchmark ledgers and alternative designs | `scip-hyper-optimization` | `scip-query bench --json`, `scip-query plan-context <target>`, command-specific correctness checks |
|
|
40
45
|
| Adopt or bootstrap scip-query in a repository | `scip-adoption` | `scip-query setup --json`, `scip-query check-deps`, `scip-query capability-matrix --json` |
|
|
41
|
-
| Verify work you just finished (any implementation, refactor, or extraction) | `scip-verify` | `scip-query
|
|
46
|
+
| Verify work you just finished (any implementation, refactor, or extraction) | `scip-verify` | `scip-query status --capabilities`, `scip-query diff-gate --json` |
|
|
42
47
|
| Confirm post-setup health signals before cleanup | `scip-health-audit` | `scip-query health --json --full`, `scip-query diff-gate --json` |
|
|
43
48
|
| Raise the health score as high as reasonably possible with autonomous verified cleanup | `scip-health-improve` | `scip-query health --json --full`, `scip-query cleanup-plan --verify --json`, `scip-query diff-gate --json` |
|
|
44
49
|
| Audit dead code, duplication, unnecessary abstractions, or structural bloat and produce a prioritized cleanup plan | `scip-debloat` | `scip-query health` |
|
|
@@ -59,6 +64,9 @@ Use these boundaries before loading a specialist skill:
|
|
|
59
64
|
- `scip-health-improve` is the autonomous campaign. Use it when the user asks
|
|
60
65
|
to raise/maximize the health score, keep working with minimal interaction, or
|
|
61
66
|
get the repo as clean as reasonably possible.
|
|
67
|
+
- `scip-hyper-optimization` is the benchmark-led performance campaign. Use it
|
|
68
|
+
when the user asks to make a command, detector, indexer, workflow, or app path
|
|
69
|
+
as fast as possible while preserving output.
|
|
62
70
|
- `scip-debloat` is a bloat audit and cleanup plan. Use it when the user wants
|
|
63
71
|
dead code, duplication, unnecessary abstractions, wrappers, or structural
|
|
64
72
|
waste found and prioritized, but has not asked for a score-maxing campaign.
|
|
@@ -44,7 +44,7 @@ The setup command also installs skills and configures project-local hooks, but r
|
|
|
44
44
|
scip-query setup --json
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
This pass installs bundled skills, configures project-local hooks, checks indexer readiness, attempts configured indexer remediation, refreshes the index, verifies capabilities, smoke-tests representative command families, writes `docs/scip-query/health-dossier.md` and `docs/scip-query/health-dossier.json`, and seeds agent guidance.
|
|
47
|
+
This pass installs bundled skills, configures project-local hooks, checks indexer readiness, attempts configured indexer remediation, refreshes or reuses the index, verifies capabilities, smoke-tests representative command families, writes `docs/scip-query/health-dossier.md` and `docs/scip-query/health-dossier.json`, and seeds agent guidance.
|
|
48
48
|
|
|
49
49
|
If setup reports `blocked`, run:
|
|
50
50
|
|
|
@@ -64,11 +64,14 @@ scip-query config-validate
|
|
|
64
64
|
|
|
65
65
|
Keep `.scipquery.json` minimal. Add settings only when they are justified by observed repo facts, reviewed false positives, declared coupling, or explicit suppressions.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
For TypeScript monorepos with multiple discovered project shards, prefer persistent `indexer.typescript.projectMode: "workspace"`. Add `indexerConcurrency` only when the repo has enough CPU/memory or measured cold-index timing justifies a project-specific worker cap.
|
|
68
|
+
|
|
69
|
+
6. Inspect freshness and refresh only when setup repairs anything or the index is not fresh.
|
|
68
70
|
|
|
69
71
|
```bash
|
|
70
|
-
scip-query reindex
|
|
71
72
|
scip-query status --capabilities
|
|
73
|
+
# If freshness is stale, missing, or unknown:
|
|
74
|
+
# scip-query reindex
|
|
72
75
|
scip-query capabilities --json
|
|
73
76
|
scip-query stats
|
|
74
77
|
```
|
|
@@ -79,7 +82,7 @@ If an upstream indexer skipped source files that should still be searchable or v
|
|
|
79
82
|
scip-query augment-sources
|
|
80
83
|
```
|
|
81
84
|
|
|
82
|
-
|
|
85
|
+
Project hooks auto-refresh stale indexes for agent sessions unless `.scipquery.json` sets `watch.autoRefresh: false`. Use `scip-query watch` only when a human explicitly wants a long-running live watcher in a terminal.
|
|
83
86
|
|
|
84
87
|
7. Confirm health signals before cleanup.
|
|
85
88
|
|
|
@@ -132,7 +135,9 @@ If the repo has no mature boundaries, the correct setup result is a note, not a
|
|
|
132
135
|
10. Finish with the standard gate.
|
|
133
136
|
|
|
134
137
|
```bash
|
|
135
|
-
scip-query
|
|
138
|
+
scip-query status --capabilities
|
|
139
|
+
# If freshness is stale, missing, or unknown:
|
|
140
|
+
# scip-query reindex
|
|
136
141
|
scip-query diff-gate --json
|
|
137
142
|
```
|
|
138
143
|
|
|
@@ -21,7 +21,9 @@ Refresh the code intelligence before trusting graph facts:
|
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
scip-query status
|
|
24
|
-
scip-query
|
|
24
|
+
scip-query status --capabilities
|
|
25
|
+
# If freshness is stale, missing, or unknown:
|
|
26
|
+
# scip-query reindex
|
|
25
27
|
```
|
|
26
28
|
|
|
27
29
|
Run the React review commands uncapped when doing a serious frontend pass. Do not combine `--full` with `--limit`.
|
|
@@ -83,7 +85,10 @@ scip-query unused-params
|
|
|
83
85
|
scip-query wrapper-candidates --scope <react-source-scope> --full --json
|
|
84
86
|
scip-query passthrough-candidates --scope <react-source-scope> --full --json
|
|
85
87
|
scip-query stale-abstractions --scope <react-source-scope> --include-low-confidence --full --json
|
|
86
|
-
scip-query
|
|
88
|
+
scip-query status --capabilities
|
|
89
|
+
# If freshness is stale, missing, or unknown:
|
|
90
|
+
# scip-query reindex
|
|
91
|
+
scip-query diff-gate --json
|
|
87
92
|
```
|
|
88
93
|
|
|
89
94
|
Use the results this way:
|
|
@@ -34,7 +34,9 @@ If key facts are missing but the repo can answer them, investigate. Ask the user
|
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
36
|
scip-query status --capabilities
|
|
37
|
-
scip-query
|
|
37
|
+
scip-query status --capabilities
|
|
38
|
+
# If freshness is stale, missing, or unknown:
|
|
39
|
+
# scip-query reindex
|
|
38
40
|
scip-query files <issue-term>
|
|
39
41
|
scip-query outline <candidate-file>
|
|
40
42
|
scip-query system <module-or-scope>
|
|
@@ -101,7 +103,7 @@ Write the packet before filing or fixing:
|
|
|
101
103
|
1. Add or update failing test/smoke check.
|
|
102
104
|
2. Make the smallest code change.
|
|
103
105
|
3. Run targeted test.
|
|
104
|
-
4. Run `scip-query reindex`.
|
|
106
|
+
4. Run `scip-query status --capabilities`; if freshness is `stale`, `missing`, or `unknown`, run `scip-query reindex`.
|
|
105
107
|
5. Run `scip-query diff-gate --json`.
|
|
106
108
|
6. Invoke `scip-verify`.
|
|
107
109
|
|
|
@@ -10,7 +10,7 @@ Verify the actual diff, not your intention. A verification pass proves that the
|
|
|
10
10
|
## Hard Rules
|
|
11
11
|
|
|
12
12
|
1. Run environment checks before trusting graph facts.
|
|
13
|
-
2.
|
|
13
|
+
2. Check index freshness before final verification. Reindex only when freshness is `stale`, `missing`, or `unknown`, unless a just-finished command already refreshed the index and no files changed afterward.
|
|
14
14
|
3. Treat `scip-query diff-gate --json` as the primary blocker for diff-specific risk. Manual checks are drill-down evidence, not a replacement.
|
|
15
15
|
4. Run the postchecks that match the actual change type.
|
|
16
16
|
5. Prefer fixing findings. Use `scip-query suppress <id> --reason "<specific reason>"` only for intentional design, compatibility shims, framework entry points, or accepted false positives with durable evidence.
|
|
@@ -30,7 +30,9 @@ If either command reports missing indexers, stale indexes, invalid config, or un
|
|
|
30
30
|
### 2. Refresh and assess the diff
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
scip-query
|
|
33
|
+
scip-query status --capabilities
|
|
34
|
+
# If freshness is stale, missing, or unknown:
|
|
35
|
+
# scip-query reindex
|
|
34
36
|
scip-query diff-impact --json
|
|
35
37
|
```
|
|
36
38
|
|
|
@@ -155,4 +157,4 @@ Remaining risk:
|
|
|
155
157
|
- accepted suppressions, blocked capabilities, or checks not run
|
|
156
158
|
```
|
|
157
159
|
|
|
158
|
-
Do not claim "safe to commit" unless
|
|
160
|
+
Do not claim "safe to commit" unless freshness is `fresh` after the final file edit and `scip-query diff-gate --json` passed.
|
|
@@ -21,7 +21,9 @@ Refresh the code intelligence before trusting graph facts:
|
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
scip-query status
|
|
24
|
-
scip-query
|
|
24
|
+
scip-query status --capabilities
|
|
25
|
+
# If freshness is stale, missing, or unknown:
|
|
26
|
+
# scip-query reindex
|
|
25
27
|
```
|
|
26
28
|
|
|
27
29
|
If Vue files need rich internals, find the relevant TypeScript project and augment the index:
|
|
@@ -89,7 +91,10 @@ scip-query unused-params
|
|
|
89
91
|
scip-query wrapper-candidates --scope <vue-source-scope> --full --json
|
|
90
92
|
scip-query passthrough-candidates --scope <vue-source-scope> --full --json
|
|
91
93
|
scip-query stale-abstractions --scope <vue-source-scope> --include-low-confidence --full --json
|
|
92
|
-
scip-query
|
|
94
|
+
scip-query status --capabilities
|
|
95
|
+
# If freshness is stale, missing, or unknown:
|
|
96
|
+
# scip-query reindex
|
|
97
|
+
scip-query diff-gate --json
|
|
93
98
|
```
|
|
94
99
|
|
|
95
100
|
Use the results this way:
|