scip-query 0.19.4 → 0.19.6
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/CHANGELOG.md +75 -1
- package/README.md +242 -49
- package/dist/augment-vue-worker.js +1 -1
- package/dist/{chunk-2YU7I3QO.js → chunk-24QNP7MN.js} +2 -2
- package/dist/{chunk-CNKAGUPL.js → chunk-26X7KCJR.js} +2 -2
- package/dist/{chunk-GPBBJ5Y4.js → chunk-273W2U4Y.js} +3 -3
- package/dist/{chunk-7GXM52MI.js → chunk-2CVXCGL4.js} +2 -2
- package/dist/{chunk-ABMYA4TN.js → chunk-2EZSOTSY.js} +2 -2
- package/dist/{chunk-HKEHS2AS.js → chunk-2GSQR6YA.js} +2 -2
- package/dist/{chunk-FECYOO5O.js → chunk-2OXVAGGT.js} +2 -2
- package/dist/chunk-2ZOCHAL2.js +8 -0
- package/dist/{chunk-QGXBRIM5.js → chunk-336DC5NJ.js} +2 -2
- package/dist/chunk-35SQLYCQ.js +2 -0
- package/dist/{chunk-VXQNNXJE.js → chunk-3OIKRYU5.js} +2 -2
- package/dist/{chunk-52ZYCAEO.js → chunk-47X75ZKH.js} +2 -2
- package/dist/{chunk-NPKYOIFM.js → chunk-4CGVLUDP.js} +2 -2
- package/dist/chunk-4RI4BJGT.js +8 -0
- package/dist/{chunk-P2PC2WGR.js → chunk-52HQTTPB.js} +2 -2
- package/dist/{chunk-YNRNA5LK.js → chunk-5OC3HWP5.js} +2 -2
- package/dist/{chunk-STOL2BTL.js → chunk-6XFC7PQ5.js} +2 -2
- package/dist/{chunk-J77UIT3I.js → chunk-6XHTISLI.js} +2 -2
- package/dist/chunk-6YTSKJJ3.js +2 -0
- package/dist/{chunk-BTEE5NZQ.js → chunk-7E3TH5ZN.js} +2 -2
- package/dist/{chunk-X6D5IC6I.js → chunk-7LABSJSR.js} +2 -2
- package/dist/chunk-7Q6VYYCH.js +2 -0
- package/dist/{chunk-FWUUZTIO.js → chunk-A43URCQ3.js} +2 -2
- package/dist/chunk-A63U2W3P.js +3 -0
- package/dist/{chunk-3MJ5YA4Y.js → chunk-ADFSIJP2.js} +2 -2
- package/dist/chunk-AOLE4DYM.js +6 -0
- package/dist/chunk-APMMR5Y2.js +2 -0
- package/dist/chunk-B5MHCHP3.js +107 -0
- package/dist/{chunk-4RSI5EMG.js → chunk-CSTYYXKC.js} +2 -2
- package/dist/{chunk-25LPM4DG.js → chunk-CYJM7CYF.js} +2 -2
- package/dist/{chunk-S44IULR6.js → chunk-DD5BOU5I.js} +2 -2
- package/dist/{chunk-YGAGTIDK.js → chunk-DGMCFMPG.js} +7 -7
- package/dist/{chunk-UOAV44HR.js → chunk-E2ZXPB7J.js} +2 -2
- package/dist/{chunk-IZKFSVBV.js → chunk-EVOC5I5I.js} +2 -2
- package/dist/{chunk-XTX6QHOF.js → chunk-F42A3AKG.js} +2 -2
- package/dist/{chunk-Q4IIEGXJ.js → chunk-FHCTEANE.js} +2 -2
- package/dist/{chunk-3SVWW4PN.js → chunk-FKGN4A4E.js} +2 -2
- package/dist/{chunk-IG7N5ZIK.js → chunk-FQTPPXNA.js} +2 -2
- package/dist/{chunk-F6O7AAC3.js → chunk-G4UQL4CP.js} +2 -2
- package/dist/chunk-GA64UPMI.js +6 -0
- package/dist/{chunk-ZXJYMGD3.js → chunk-GK3GRUJX.js} +2 -2
- package/dist/chunk-HEBAY673.js +2 -0
- package/dist/chunk-HELS7KFF.js +2 -0
- package/dist/{chunk-B5NLK2B3.js → chunk-IPDCSB6N.js} +2 -2
- package/dist/{chunk-M7MTH5NR.js → chunk-IYAOX36F.js} +2 -2
- package/dist/{chunk-YVVCVR2L.js → chunk-J7VT2CRB.js} +2 -2
- package/dist/{chunk-4333ETTV.js → chunk-JELJLXEE.js} +2 -2
- package/dist/{chunk-LBMJEAEW.js → chunk-JERWGHQT.js} +2 -2
- package/dist/chunk-JJJCO4QC.js +945 -0
- package/dist/{chunk-6E7UTQY7.js → chunk-JZNLMHWY.js} +2 -2
- package/dist/{chunk-R4FQGQ4X.js → chunk-K42M2KWT.js} +2 -2
- package/dist/{chunk-H7UKLTWJ.js → chunk-KLVJABXA.js} +2 -2
- package/dist/chunk-KP4KBDVF.js +3 -0
- package/dist/{chunk-RV2FQIX3.js → chunk-LMFVTUW2.js} +2 -2
- package/dist/chunk-LRTP3DKL.js +3 -0
- package/dist/{chunk-U6WNH5GC.js → chunk-MGBJHRFB.js} +2 -2
- package/dist/{chunk-QDV6RDCP.js → chunk-MLGTCX56.js} +2 -2
- package/dist/{chunk-54HA4ZXH.js → chunk-N3SE646F.js} +2 -2
- package/dist/{chunk-KP6XRY5Z.js → chunk-NBRUH7OE.js} +2 -2
- package/dist/{chunk-M7AIS73L.js → chunk-NN4ZIRPK.js} +2 -2
- package/dist/{chunk-I5RJM53C.js → chunk-NQLSSVOB.js} +2 -2
- package/dist/{chunk-4SALD7RU.js → chunk-OBKDTVZ3.js} +2 -2
- package/dist/{chunk-GBQ5NYPR.js → chunk-OHWZKLVA.js} +6 -6
- package/dist/{chunk-6NSFJYRC.js → chunk-OP3MTFJR.js} +2 -2
- package/dist/{chunk-EOOJGLDU.js → chunk-OQ2A4G2G.js} +2 -2
- package/dist/{chunk-DLWR3NUU.js → chunk-P6HBYNBE.js} +2 -2
- package/dist/{chunk-QVWS2VWZ.js → chunk-PC44K7RF.js} +2 -2
- package/dist/{chunk-A2EZV2UM.js → chunk-QBYYWGAT.js} +2 -2
- package/dist/{chunk-QRGV2F7L.js → chunk-QHKUY4FW.js} +2 -2
- package/dist/chunk-QHRL4LKM.js +2 -0
- package/dist/{chunk-I5AWSI2G.js → chunk-QQWOFXNW.js} +2 -2
- package/dist/{chunk-WQTAC523.js → chunk-RBFFD4V2.js} +2 -2
- package/dist/{chunk-SOAT6NLA.js → chunk-RJHCPSZ7.js} +2 -2
- package/dist/{chunk-VGRICIQI.js → chunk-RWRLUZ6U.js} +2 -2
- package/dist/{chunk-4T3LTWUS.js → chunk-S2GP3CU3.js} +2 -2
- package/dist/{chunk-HEXVUYFQ.js → chunk-SHKZ7OVJ.js} +2 -2
- package/dist/{chunk-NSS46APD.js → chunk-TFUU5MQQ.js} +2 -2
- package/dist/{chunk-IUFDSKGG.js → chunk-TYQ76QHQ.js} +2 -2
- package/dist/{chunk-NRCXJDHL.js → chunk-U5CNPPTZ.js} +2 -2
- package/dist/{chunk-MITTUCEH.js → chunk-UQK5CRUK.js} +2 -2
- package/dist/{chunk-XLTP42QA.js → chunk-UUJBLG6J.js} +2 -2
- package/dist/chunk-UXP636P5.js +144 -0
- package/dist/{chunk-64RFXJT5.js → chunk-VEVBIAOJ.js} +6 -6
- package/dist/chunk-VKRQDBW5.js +9 -0
- package/dist/{chunk-C7NIYIQ4.js → chunk-VOQFGC2W.js} +4 -4
- package/dist/{chunk-DZ74OMG6.js → chunk-VP542C25.js} +2 -2
- package/dist/{chunk-Q3AFUTGB.js → chunk-WMXRRBII.js} +2 -2
- package/dist/{chunk-ZGZUZ7XE.js → chunk-WXAAURU7.js} +2 -2
- package/dist/chunk-X3NLZHPA.js +20 -0
- package/dist/{chunk-WER3B7MI.js → chunk-XF3KLXN3.js} +2 -2
- package/dist/{chunk-NH5ALKPW.js → chunk-XVJ3V7LM.js} +2 -2
- package/dist/{chunk-4XTA5OMB.js → chunk-YGQN3XGZ.js} +2 -2
- package/dist/{chunk-CFMXJPHH.js → chunk-YHXBD52M.js} +2 -2
- package/dist/{chunk-7B3UPBVA.js → chunk-YLVE3SXZ.js} +2 -2
- package/dist/{chunk-YIJ7ZAA4.js → chunk-YTUD45PU.js} +2 -2
- package/dist/{chunk-VTKGCT3V.js → chunk-YWB2EBNB.js} +2 -2
- package/dist/{chunk-UKZBVX4U.js → chunk-Z2LHPIOM.js} +2 -2
- package/dist/chunk-Z5QQPJ3U.js +30 -0
- package/dist/{chunk-NZL2DBT7.js → chunk-ZLJLE6LK.js} +2 -2
- package/dist/{chunk-XYADIZHU.js → chunk-ZTTISZ7J.js} +2 -2
- package/dist/cli.js +3 -3
- package/dist/command-descriptors-SJDZ7QGR.js +617 -0
- package/dist/{config-types-D20KuvvZ.d.ts → config-types-BWQ5xPGI.d.ts} +4 -0
- package/dist/{db-G_II8yXU.d.ts → db-B0r1o7Vt.d.ts} +18 -1
- package/dist/direct-navigation-HTKOZEOM.js +3 -0
- package/dist/{health-oblXYgkF.d.ts → health-CFnlCiTz.d.ts} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/postinstall.js +1 -1
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/architecture.d.ts +2 -2
- package/dist/queries/architecture.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/decorative-checkers.d.ts +3 -3
- package/dist/queries/decorative-checkers.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 +30 -2
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.d.ts +2 -2
- 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/duplicate-bodies.d.ts +2 -2
- package/dist/queries/duplicate-bodies.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 +2 -2
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +17 -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/not-implemented.d.ts +3 -3
- package/dist/queries/not-implemented.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 +2 -2
- 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/stats.js +1 -1
- 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/test-quality.d.ts +2 -2
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +3 -3
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +2 -2
- package/dist/queries/twin-drift.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 +23 -24
- package/dist/reindex.d.ts +10 -4
- package/dist/reindex.js +33 -38
- package/dist/runtime.d.ts +167 -11
- package/dist/runtime.js +3 -2
- package/dist/rust-semantic-session-server.js +1 -1
- package/dist/rust-semantic-session-worker.js +1 -1
- package/dist/rust-semantic-worker.js +1 -1
- package/dist/{scip-cli-kRpaexVJ.d.ts → scip-cli-DCvnlZCu.d.ts} +5 -1
- package/dist/watch-server.js +5 -5
- package/docs/AGENT_GUIDE.md +1 -1
- package/docs/AI_FAILURE_MODES.md +18 -18
- package/docs/API_EVOLUTION.md +71 -0
- package/docs/CLI_JSON_OUTPUT.md +83 -0
- package/docs/COMMAND_REFERENCE.md +10 -8
- package/docs/COMMITTED_RECORD_COMPATIBILITY.md +117 -0
- package/docs/CONFIGURATION_WRITE_SAFETY.md +130 -0
- package/docs/DETECTOR_GUIDE.md +47 -47
- package/docs/DURABILITY.md +103 -0
- package/docs/INDEX_GENERATIONS.md +121 -0
- package/docs/LOCK_PROTOCOL.md +133 -0
- package/docs/MAILBOX_LIFECYCLE.md +197 -0
- package/docs/REINDEX_METADATA_COMPATIBILITY.md +84 -0
- package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
- package/docs/TELEMETRY_RETENTION.md +72 -0
- package/docs/TIME_SEMANTICS.md +77 -0
- package/docs/WATCH_REFRESH_REQUESTS.md +110 -0
- package/docs/WINDOWS_SIDECAR_RELEASE.md +298 -0
- package/docs/analyzer-validation-ledger.md +24 -23
- package/docs/schemas/cli-json-envelope.schema.json +53 -0
- package/docs/schemas/npm-release-state.schema.json +146 -0
- package/docs/schemas/outcome-event-record.schema.json +39 -0
- package/docs/schemas/project-config.schema.json +247 -0
- package/docs/schemas/suppression-record.schema.json +31 -0
- package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
- package/package.json +15 -5
- package/scripts/build-scip-windows.mjs +180 -61
- package/scripts/scip-windows-provenance.mjs +364 -0
- package/scripts/verify-scip-windows.mjs +29 -0
- package/skills/_shared/SKILL.md +91 -242
- package/skills/_shared/agents/openai.yaml +1 -1
- package/skills/_shared/references/agent-contract-catalog.md +105 -0
- package/skills/_shared/references/command-catalog.md +118 -0
- package/skills/_shared/references/detector-precision-and-diffgate.md +59 -0
- package/skills/_shared/references/evidence-and-dead-code.md +25 -0
- package/skills/scip-audit/SKILL.md +76 -0
- package/skills/scip-audit/agents/openai.yaml +4 -0
- package/skills/scip-audit/references/claims.md +98 -0
- package/skills/scip-audit/references/cleanup.md +101 -0
- package/skills/scip-audit/references/directory.md +222 -0
- package/skills/scip-audit/references/frontend.md +130 -0
- package/skills/scip-audit/references/integrity.md +154 -0
- package/skills/scip-audit/references/maintainability.md +162 -0
- package/skills/scip-audit/references/twin-drift.md +104 -0
- package/skills/scip-diagnose/SKILL.md +52 -0
- package/skills/scip-diagnose/agents/openai.yaml +4 -0
- package/skills/scip-diagnose/references/debug.md +117 -0
- package/skills/{scip-probe-reachability/SKILL.md → scip-diagnose/references/probe-reachability.md} +12 -27
- package/skills/scip-diagnose/references/root-cause.md +145 -0
- package/skills/scip-diagnose/references/triage.md +119 -0
- package/skills/scip-explore/SKILL.md +53 -84
- package/skills/scip-explore/agents/openai.yaml +2 -2
- package/skills/scip-explore/references/diagrams.md +40 -0
- package/skills/scip-explore/references/language-playbook.md +49 -0
- package/skills/scip-improve/SKILL.md +56 -0
- package/skills/scip-improve/agents/openai.yaml +4 -0
- package/skills/scip-improve/references/cleanup-batches.md +53 -0
- package/skills/scip-improve/references/directory-moves.md +53 -0
- package/skills/scip-improve/references/doc-reconcile.md +30 -0
- package/skills/scip-improve/references/frontend-extraction.md +39 -0
- package/skills/scip-improve/references/maintainability-mechanism.md +43 -0
- package/skills/scip-improve/references/twin-drift.md +35 -0
- package/skills/scip-plan/SKILL.md +68 -0
- package/skills/scip-plan/agents/openai.yaml +4 -0
- package/skills/scip-plan/references/api-impact.md +19 -0
- package/skills/scip-plan/references/conductor.md +41 -0
- package/skills/scip-plan/references/high-assurance.md +43 -0
- package/skills/scip-plan/references/hyper-optimization.md +50 -0
- package/skills/scip-plan/references/tla-model.md +88 -0
- package/skills/scip-query/SKILL.md +52 -97
- package/skills/scip-query/agents/openai.yaml +2 -2
- package/skills/scip-setup/SKILL.md +65 -176
- package/skills/scip-setup/agents/openai.yaml +3 -3
- package/skills/scip-setup/references/bootstrap-workflow.md +120 -0
- package/skills/scip-setup/references/language-verification.md +61 -0
- package/skills/scip-setup/references/lifecycle-commands.md +119 -0
- package/skills/scip-setup/references/per-repo-triage.md +24 -0
- package/skills/scip-verify/SKILL.md +123 -70
- package/skills/scip-verify/agents/openai.yaml +2 -2
- package/skills/scip-verify/references/calibrate-detectors.md +170 -0
- package/dist/chunk-2CTX5CMX.js +0 -4
- package/dist/chunk-2Y373BDD.js +0 -2
- package/dist/chunk-C2QSK7E7.js +0 -2
- package/dist/chunk-D4U5Q3FT.js +0 -7
- package/dist/chunk-K2ERX4UT.js +0 -3
- package/dist/chunk-KHE7J5ZN.js +0 -3
- package/dist/chunk-L7SPDE73.js +0 -84
- package/dist/chunk-LHMNRHGV.js +0 -3
- package/dist/chunk-LM72NQ7T.js +0 -3
- package/dist/chunk-MSWVMDAH.js +0 -122
- package/dist/chunk-NH7WNNQC.js +0 -20
- package/dist/chunk-OMPZHGHO.js +0 -2
- package/dist/chunk-SVLTAG5O.js +0 -927
- package/dist/chunk-U7DSEKOM.js +0 -30
- package/dist/chunk-V27BEQJN.js +0 -7
- package/dist/chunk-VMNZB6WI.js +0 -4
- package/dist/chunk-XBN5VO53.js +0 -2
- package/dist/chunk-ZAIILQNP.js +0 -5
- package/dist/command-descriptors-MFU4BCJ7.js +0 -612
- package/dist/direct-navigation-MRMQFIRB.js +0 -3
- package/skills/scip-api-impact/SKILL.md +0 -139
- package/skills/scip-api-impact/agents/openai.yaml +0 -4
- package/skills/scip-calibrate/SKILL.md +0 -131
- package/skills/scip-calibrate/agents/openai.yaml +0 -4
- package/skills/scip-claim-audit/SKILL.md +0 -106
- package/skills/scip-claim-audit/agents/openai.yaml +0 -4
- package/skills/scip-cleanup-audit/SKILL.md +0 -126
- package/skills/scip-cleanup-audit/agents/openai.yaml +0 -4
- package/skills/scip-cleanup-improve/SKILL.md +0 -84
- package/skills/scip-cleanup-improve/agents/openai.yaml +0 -4
- package/skills/scip-concrete-plan/SKILL.md +0 -262
- package/skills/scip-concrete-plan/agents/openai.yaml +0 -4
- package/skills/scip-conductor/SKILL.md +0 -133
- package/skills/scip-conductor/agents/openai.yaml +0 -4
- package/skills/scip-debug/SKILL.md +0 -130
- package/skills/scip-debug/agents/openai.yaml +0 -4
- package/skills/scip-diagram/SKILL.md +0 -110
- package/skills/scip-diagram/agents/openai.yaml +0 -4
- package/skills/scip-directory-architecture/SKILL.md +0 -254
- package/skills/scip-directory-architecture/agents/openai.yaml +0 -4
- package/skills/scip-doc-reconcile/SKILL.md +0 -89
- package/skills/scip-doc-reconcile/agents/openai.yaml +0 -4
- package/skills/scip-hyper-optimization/SKILL.md +0 -156
- package/skills/scip-hyper-optimization/agents/openai.yaml +0 -4
- package/skills/scip-integrity-audit/SKILL.md +0 -152
- package/skills/scip-integrity-audit/agents/openai.yaml +0 -4
- package/skills/scip-language-playbook/SKILL.md +0 -106
- package/skills/scip-language-playbook/agents/openai.yaml +0 -4
- package/skills/scip-maintainability/SKILL.md +0 -158
- package/skills/scip-maintainability/agents/openai.yaml +0 -4
- package/skills/scip-probe-reachability/agents/openai.yaml +0 -4
- package/skills/scip-react-maintainability/SKILL.md +0 -101
- package/skills/scip-react-maintainability/agents/openai.yaml +0 -4
- package/skills/scip-root-cause/SKILL.md +0 -150
- package/skills/scip-root-cause/agents/openai.yaml +0 -4
- package/skills/scip-tla-model-system/SKILL.md +0 -148
- package/skills/scip-tla-model-system/agents/openai.yaml +0 -4
- package/skills/scip-triage-issue/SKILL.md +0 -126
- package/skills/scip-triage-issue/agents/openai.yaml +0 -4
- package/skills/scip-twin-drift/SKILL.md +0 -107
- package/skills/scip-twin-drift/agents/openai.yaml +0 -4
- package/skills/scip-vue-maintainability/SKILL.md +0 -107
- package/skills/scip-vue-maintainability/agents/openai.yaml +0 -4
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Language-specific verification
|
|
2
|
+
|
|
3
|
+
Used in bootstrap workflow step 4, and any time an index or capability report
|
|
4
|
+
looks wrong for a specific language.
|
|
5
|
+
|
|
6
|
+
## TypeScript, JavaScript, and Vue
|
|
7
|
+
|
|
8
|
+
Require these capability rows to explain their state:
|
|
9
|
+
|
|
10
|
+
- `scip-typescript` is runnable for SCIP indexing;
|
|
11
|
+
- the detected Tree-sitter TypeScript/JavaScript parser is available for
|
|
12
|
+
source facts;
|
|
13
|
+
- ts-morph semantic readiness is available for TypeScript;
|
|
14
|
+
- the demand-started service is enabled and status exposes TypeScript
|
|
15
|
+
semantic and TypeScript index session counters.
|
|
16
|
+
|
|
17
|
+
For a real multi-project TypeScript monorepo, set
|
|
18
|
+
`indexer.typescript.projectMode: "workspace"`. This makes project/tsconfig
|
|
19
|
+
boundaries the sub-shards, so a changed project and its project-reference,
|
|
20
|
+
workspace-package, or tsconfig-path dependents rebuild while unrelated
|
|
21
|
+
project shards are reused. Use `indexer.typescript.projects` only when
|
|
22
|
+
automatic discovery is too broad; a non-empty list there is authoritative.
|
|
23
|
+
|
|
24
|
+
Do not enable TypeScript workspace mode for a single-project repository
|
|
25
|
+
merely to seek speed — the normal incremental document producer and
|
|
26
|
+
persistent ts-morph service already reuse unchanged work.
|
|
27
|
+
|
|
28
|
+
## Rust
|
|
29
|
+
|
|
30
|
+
Require these distinct facts:
|
|
31
|
+
|
|
32
|
+
- `rust-analyzer` is runnable and supports `rust-analyzer scip` for indexing;
|
|
33
|
+
- the Tree-sitter Rust grammar is available for source facts;
|
|
34
|
+
- Rust semantic readiness is available for compiler-backed references,
|
|
35
|
+
callees, signatures, and module/use evidence;
|
|
36
|
+
- status reports the durable Rust transport with worker fallback.
|
|
37
|
+
|
|
38
|
+
A `stopped` state for the Rust transport (or any demand-started helper) is
|
|
39
|
+
healthy when no semantic request currently needs the clean-idle helper —
|
|
40
|
+
lifecycle state is not the same signal as capability availability.
|
|
41
|
+
|
|
42
|
+
If `rust-analyzer` is missing and `rustup` is available, `setup` can run
|
|
43
|
+
`rustup component add rust-analyzer`. `SCIP_RUST_SEMANTIC_DURABLE_SESSION=0`
|
|
44
|
+
is an explicit worker-only fallback, not the optimal default — do not set it
|
|
45
|
+
as a default recommendation.
|
|
46
|
+
|
|
47
|
+
## Other languages
|
|
48
|
+
|
|
49
|
+
Trust the capability matrix, not a language name. `setup` may install
|
|
50
|
+
supported indexers automatically (for example Python or Go), may provide only
|
|
51
|
+
source facts through a detected Tree-sitter grammar, or may report a manual
|
|
52
|
+
install URL. A missing semantic provider must be reported as unsupported,
|
|
53
|
+
never as a clean semantic analysis.
|
|
54
|
+
|
|
55
|
+
## Verification commands
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
scip-query status --capabilities
|
|
59
|
+
scip-query reindex --json
|
|
60
|
+
scip-query watch --status --json
|
|
61
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Lifecycle commands
|
|
2
|
+
|
|
3
|
+
`setup` runs most of these internally during a full bootstrap. Reach for one
|
|
4
|
+
directly when only a slice of the footprint needs installing, refreshing, or
|
|
5
|
+
removing — not a full re-bootstrap.
|
|
6
|
+
|
|
7
|
+
## install-skills
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
scip-query install-skills
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
When: bundled skills are missing, out of date after a scip-query upgrade, or
|
|
14
|
+
a new agent root (Claude Code, Codex, or a shared agent root) needs the skill
|
|
15
|
+
set that another root already has. Installs `_shared`, `scip-query`,
|
|
16
|
+
`scip-setup`, and the consolidated workflow family into Claude Code, Codex, and
|
|
17
|
+
shared agent roots.
|
|
18
|
+
|
|
19
|
+
Output to check: the list of skills written or linked per root. Confirm no
|
|
20
|
+
root was silently skipped — an agent root present in the repo but absent from
|
|
21
|
+
the output means that root did not get the skills.
|
|
22
|
+
|
|
23
|
+
## setup-agent
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
scip-query setup-agent
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
When: `AGENTS.md`/`CLAUDE.md` has no block pointing agents at the scip-query
|
|
30
|
+
skills and diff gate, or the block is stale relative to the installed
|
|
31
|
+
version. Seeds that guidance block, plus an optional git pre-commit backstop.
|
|
32
|
+
|
|
33
|
+
Output to check: the diff to `AGENTS.md`/`CLAUDE.md` — confirm the block was
|
|
34
|
+
added or refreshed in place rather than duplicated.
|
|
35
|
+
|
|
36
|
+
## setup-hooks
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
scip-query setup-hooks
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
When: project-local Codex or Claude Code lifecycle hooks are missing (never
|
|
43
|
+
installed, or wiped by a settings reset) or need refreshing after a
|
|
44
|
+
scip-query upgrade changed hook contracts.
|
|
45
|
+
|
|
46
|
+
Output to check: which hook files were written per tool; treat a tool with no
|
|
47
|
+
hook file as not covered.
|
|
48
|
+
|
|
49
|
+
## setup-ci
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
scip-query setup-ci
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
When: the user explicitly asks for CI setup — do not run this unless asked.
|
|
56
|
+
Writes a GitHub Actions workflow that runs `scip-query reindex` and
|
|
57
|
+
`diff-gate` on pull requests.
|
|
58
|
+
|
|
59
|
+
Output to check: the workflow file path written. Tell the user to commit it
|
|
60
|
+
and confirm it triggers on the next PR; this command only writes the file, it
|
|
61
|
+
does not verify the workflow runs.
|
|
62
|
+
|
|
63
|
+
## check-deps
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
scip-query check-deps
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
When: you need a fast preflight on whether scip-query and the detected
|
|
70
|
+
language indexers are actually runnable, without running the full `setup`
|
|
71
|
+
sequence — for example, diagnosing a `doctor` complaint about a specific
|
|
72
|
+
indexer, or confirming an environment before a CI run.
|
|
73
|
+
|
|
74
|
+
Output to check: per-indexer runnable/not-runnable verdicts. A "not runnable"
|
|
75
|
+
verdict here is the reason to go fix that indexer before trusting any index
|
|
76
|
+
built from it.
|
|
77
|
+
|
|
78
|
+
## augment-sources
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
scip-query augment-sources
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
When: files are missing from the index even after a clean `reindex`, because
|
|
85
|
+
the upstream SCIP indexer for that language skips them (common for
|
|
86
|
+
non-source files, generated files it doesn't recognize, or files outside its
|
|
87
|
+
project graph). Adds those source files to the SQLite documents table
|
|
88
|
+
directly so source-fact queries can see them.
|
|
89
|
+
|
|
90
|
+
Output to check: the count and list of files added. If a file you expected is
|
|
91
|
+
still absent, it means the indexer skip reason is not one `augment-sources`
|
|
92
|
+
covers — investigate the specific file rather than re-running the command.
|
|
93
|
+
|
|
94
|
+
## capability-matrix
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
scip-query capability-matrix
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Deprecated alias for `capabilities --matrix`. If you see this in an older
|
|
101
|
+
script or muscle memory, prefer `scip-query capabilities --matrix` directly —
|
|
102
|
+
same output, current name.
|
|
103
|
+
|
|
104
|
+
## uninstall
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
scip-query uninstall
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
When: the user wants scip-query's footprint removed from the repo —
|
|
111
|
+
decommissioning, or before trying an alternative tool. Removes
|
|
112
|
+
scip-query-owned skill links, project hooks, and managed agent setup blocks.
|
|
113
|
+
|
|
114
|
+
Output to check: confirm the removal list covers every artifact `setup`
|
|
115
|
+
reported writing (skills, hooks, agent guidance blocks). Anything `setup`
|
|
116
|
+
wrote that `uninstall` doesn't list as removed needs manual follow-up — for
|
|
117
|
+
example config files (`.scipquery.json`) and the SQLite index are
|
|
118
|
+
intentionally left in place since they may hold data the user still wants;
|
|
119
|
+
tell the user explicitly if they want those gone too.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Per-repo triage (once, after setup)
|
|
2
|
+
|
|
3
|
+
New repos surface standing findings that are intentional. Encode them once so
|
|
4
|
+
every later gate run is precise, instead of re-litigating the same findings
|
|
5
|
+
every time `diff-gate` runs.
|
|
6
|
+
|
|
7
|
+
1. Sweep initial findings with `health --json` and `diff-gate --json`. For
|
|
8
|
+
each accepted finding, run `suppress <id> --reason <why>` — reasons are
|
|
9
|
+
required and audited.
|
|
10
|
+
2. Declare files that legitimately change together in `.scipquery.json`
|
|
11
|
+
`declaredCouplings`.
|
|
12
|
+
3. List dated snapshot docs (benchmarks, validation ledgers, historical
|
|
13
|
+
plans/reviews) in `docs.snapshotPaths` so doc checks skip them with a
|
|
14
|
+
labeled exclusion instead of recurring findings.
|
|
15
|
+
4. Seed `coverageContracts` for every hand-maintained enumeration (policy
|
|
16
|
+
maps, capability tables, registry lists) so enumeration rot fails the gate
|
|
17
|
+
the day it happens.
|
|
18
|
+
5. Set a hygiene cadence: run the twin-drift and claim scenarios in
|
|
19
|
+
`scip-audit` after
|
|
20
|
+
large refactor campaigns or quarterly. The gate only sees diffs; these
|
|
21
|
+
lenses see accumulated state.
|
|
22
|
+
|
|
23
|
+
Complete only when a clean working tree produces a finding-free `diff-gate`
|
|
24
|
+
and every suppression carries a reason a reviewer would accept.
|
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-verify
|
|
3
|
-
description:
|
|
3
|
+
description: Use after finishing a change and before committing: reindex, run the postchecks matching what you edited, diff-gate, and try to refute your own PASS — including verifying that a React or Vue refactor actually achieved the reuse it claimed. Also use to calibrate detector precision once a repo is already set up and its findings look too noisy or too clean. For an existing status claim with no just-finished diff, use scip-audit instead. Distinct from the `review` skill: that one reviews a branch against coding standards and the originating spec; this one runs reindex, routed postchecks and diff-gate on a change you just made.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template: 'scip-query diff-gate --json'
|
|
12
|
-
when: 'Run the gate: the primary blocker for diff-specific risk.'
|
|
13
|
-
- template: 'scip-query health --baseline'
|
|
14
|
-
when: 'Check health: compare findings against the committed baseline.'
|
|
15
|
-
- template: 'scip-query doc-drift --json --full'
|
|
16
|
-
when: 'Check docs: run when docs, AGENTS.md, or command surfaces changed.'
|
|
5
|
+
- template: "scip-query doctor"
|
|
6
|
+
when: "Prove the workspace and configuration are usable before trusting evidence."
|
|
7
|
+
- template: "scip-query diff-impact --json"
|
|
8
|
+
when: "Compare changed files, symbols, and affected consumers with the intended diff."
|
|
9
|
+
- template: "scip-query diff-gate --json --compact"
|
|
10
|
+
when: "Run the complete finished-diff gate without blind line truncation."
|
|
17
11
|
---
|
|
18
12
|
|
|
19
13
|
# scip-verify
|
|
20
14
|
|
|
21
|
-
|
|
15
|
+
## Purpose
|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
Verification is the evidence pass that proves a finished change is wired,
|
|
18
|
+
safe, and regression-free: the workspace can answer, the index is current,
|
|
19
|
+
the changed symbols and files match intent, every postcheck the edit calls
|
|
20
|
+
for ran, and diff-gate findings are resolved. A PASS is the verdict nobody
|
|
21
|
+
re-checks, so the flow below ends by trying to break it before it's claimed.
|
|
22
|
+
|
|
23
|
+
Calibration is the companion problem: a detector tuned on one codebase's
|
|
24
|
+
conventions can be precise there and noisy elsewhere, so before any of the
|
|
25
|
+
above output is trusted on a repo, someone has to find out which it is.
|
|
26
|
+
|
|
27
|
+
Load shared mechanics — command syntax, the evidence contract, diff-gate's
|
|
24
28
|
|
|
25
29
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
30
|
## Commands for this skill
|
|
27
31
|
|
|
28
|
-
| Command | Purpose | When |
|
|
29
|
-
| --- | --- | --- |
|
|
30
|
-
| `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | Prove the workspace
|
|
31
|
-
| `scip-query
|
|
32
|
-
| `scip-query diff-
|
|
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. |
|
|
32
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
33
|
+
| --- | --- | --- | --- | --- |
|
|
34
|
+
| `scip-query doctor` | Diagnose config, index freshness, dependency readiness, and project capabilities | config, freshness, dependency, and capability diagnostics | `complete` | Prove the workspace and configuration are usable before trusting evidence. |
|
|
35
|
+
| `scip-query diff-impact --json` | Compute changed symbols and downstream consumers from current git diff | changed symbols, downstream consumer identities, and impact paths | `bounded` | Compare changed files, symbols, and affected consumers with the intended diff. |
|
|
36
|
+
| `scip-query diff-gate --json --compact` | 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 complete finished-diff gate without blind line truncation. |
|
|
36
37
|
|
|
37
38
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
39
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
40
|
+
ten checks, detector-precision tiers — from `_shared`. This skill's own
|
|
41
|
+
shortlist covers `doctor`, `status`, `diff-impact`, `diff-gate`, `health`,
|
|
42
|
+
`doc-drift`, `self-audit`, `suppress`, and `config-validate`.
|
|
39
43
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
3. Run every postcheck that matches the actual edit, not only the check you expected to need.
|
|
45
|
-
4. If `.scipquery.json` or suppressions changed, run `scip-query config-validate`.
|
|
46
|
-
5. Prefer fixing findings. Suppress only intentional design, compatibility shims, framework entry points, or accepted false positives with a specific reason.
|
|
47
|
-
6. A PASS ends scrutiny, so it must survive refutation first: construct the cheapest checks that could still break this diff and run them before claiming PASS. A FAIL needs no refutation — report it with the evidence.
|
|
44
|
+
| Situation | Go to |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| You just finished editing and need to verify it before committing | Verify a finished change, below |
|
|
47
|
+
| Findings on this repo feel too noisy, too clean, or you're adopting scip-query in a new repo | [`references/calibrate-detectors.md`](references/calibrate-detectors.md) |
|
|
48
48
|
|
|
49
|
-
##
|
|
49
|
+
## Verify a finished change
|
|
50
50
|
|
|
51
51
|
### 1. Prove the workspace
|
|
52
52
|
|
|
@@ -55,7 +55,9 @@ scip-query doctor
|
|
|
55
55
|
scip-query status --capabilities
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Complete only when missing indexers, invalid config, stale indexes, or
|
|
59
|
+
unavailable relevant capabilities are fixed or reported as blockers. Verify
|
|
60
|
+
environment and index freshness before trusting any graph fact that follows.
|
|
59
61
|
|
|
60
62
|
### 2. Assess the diff
|
|
61
63
|
|
|
@@ -63,15 +65,40 @@ This step is complete only when missing indexers, invalid config, stale indexes,
|
|
|
63
65
|
scip-query diff-impact --json
|
|
64
66
|
```
|
|
65
67
|
|
|
66
|
-
Compare changed files, changed symbols, and downstream consumers
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
Compare changed files, changed symbols, and downstream consumers against the
|
|
69
|
+
intended work. An unexpected blast radius is itself a finding even if every
|
|
70
|
+
later gate passes. Complete only when the diff's shape is understood.
|
|
69
71
|
|
|
70
72
|
### 3. Run routed postchecks
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
Run every row that matches what the diff actually did — not only the check
|
|
75
|
+
you expected to need going in:
|
|
76
|
+
|
|
77
|
+
| Change made | Check |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| Extracted a helper or abstraction | `scip-query incomplete-migration` |
|
|
80
|
+
| Added a helper, module, component, hook, composable, or adapter | `scip-query recent-duplicates` (and `similar <symbol>`) |
|
|
81
|
+
| Added parameters, options, props, config flags, or option objects | `scip-query unused-params` |
|
|
82
|
+
| Added a wrapper, facade, forwarding layer, alias, or re-export | `scip-query wrapper-candidates`, `passthrough-candidates`, `redundant-reexports` |
|
|
83
|
+
| Added an interface, base class, adapter contract, or type alias | `scip-query stale-abstractions` |
|
|
84
|
+
| Changed schema, config, generated files, public contracts, command descriptors, or docs-backed behavior | `scip-query co-change <file>` and `doc-drift` |
|
|
85
|
+
| Deleted code | `scip-query cleanup-plan --verify` |
|
|
86
|
+
| Changed React components or hooks | the React commands in `_shared` |
|
|
87
|
+
| Changed Vue SFCs or composables | the Vue commands in `_shared` |
|
|
88
|
+
|
|
89
|
+
Add `--json --full` to any of these when an unbounded machine-readable result
|
|
90
|
+
is needed rather than the bounded default. This table is authoritative — the
|
|
91
|
+
shared reference links here instead of duplicating it, so don't assume a
|
|
92
|
+
different mapping. Complete only when each applicable postcheck has a result
|
|
93
|
+
and every actionable finding is fixed, accepted with evidence, or blocked by
|
|
94
|
+
a named constraint.
|
|
95
|
+
|
|
96
|
+
If `.scipquery.json` or a suppression file changed as part of the diff, also
|
|
97
|
+
run:
|
|
73
98
|
|
|
74
|
-
|
|
99
|
+
```bash
|
|
100
|
+
scip-query config-validate
|
|
101
|
+
```
|
|
75
102
|
|
|
76
103
|
### 4. Run the gate
|
|
77
104
|
|
|
@@ -79,93 +106,119 @@ This step is complete only when each applicable postcheck has a result and every
|
|
|
79
106
|
scip-query diff-gate --json
|
|
80
107
|
```
|
|
81
108
|
|
|
82
|
-
|
|
109
|
+
This is the primary blocker for diff-specific risk: architecture regressions
|
|
110
|
+
plus echo, migration, coordination, doc-drift, unused-param, and new-dead
|
|
111
|
+
candidates, exiting 1 on blocking findings. Fix findings or record the
|
|
112
|
+
acceptance reason. Prefer fixing a real finding over suppressing it — only
|
|
113
|
+
suppress intentional design, compatibility shims, framework entry points, or
|
|
114
|
+
an accepted false positive, and only with a specific reason:
|
|
83
115
|
|
|
84
116
|
```bash
|
|
85
117
|
scip-query suppress <id> --reason "<specific reason>"
|
|
86
118
|
```
|
|
87
119
|
|
|
88
120
|
`suppress` writes one file per suppression under `.scipquery/suppressions/` —
|
|
89
|
-
commit
|
|
90
|
-
bypass: every suppression counts against that detector's precision in
|
|
91
|
-
`scip-query effectiveness
|
|
92
|
-
|
|
93
|
-
stored base automatically.
|
|
94
|
-
|
|
95
|
-
This step is complete only when `diff-gate` passes or every finding has a durable explanation.
|
|
121
|
+
commit it with the change that produced it. Suppressing is a real decision,
|
|
122
|
+
not a bypass: every suppression counts against that detector's precision in
|
|
123
|
+
`scip-query effectiveness`. A rerun against the same resolved comparison base
|
|
124
|
+
earns verified credit instead; once `HEAD` advances, a clean run replays that
|
|
125
|
+
stored base automatically. Complete only when `diff-gate` passes or every
|
|
126
|
+
finding has a durable explanation.
|
|
96
127
|
|
|
97
|
-
### 5. Check health, docs, and
|
|
128
|
+
### 5. Check health, docs, and generated surfaces when relevant
|
|
98
129
|
|
|
99
|
-
Run
|
|
130
|
+
Run
|
|
100
131
|
|
|
101
132
|
```bash
|
|
102
133
|
scip-query health --baseline
|
|
103
134
|
```
|
|
104
135
|
|
|
105
|
-
when a committed baseline exists. If docs, AGENTS.md, CLAUDE.md, command
|
|
136
|
+
when a committed baseline exists. If docs, AGENTS.md, CLAUDE.md, command
|
|
137
|
+
docs, generated docs, or skill instructions changed, run
|
|
106
138
|
|
|
107
139
|
```bash
|
|
108
140
|
scip-query doc-drift --json --full
|
|
109
141
|
```
|
|
110
142
|
|
|
111
|
-
|
|
143
|
+
and read the returned stale-doc candidates against the diff.
|
|
144
|
+
|
|
145
|
+
If the change touches generated command surfaces, detectors/analyzers, or
|
|
146
|
+
evidence-labeling behavior, also run
|
|
112
147
|
|
|
113
148
|
```bash
|
|
114
149
|
scip-query self-audit
|
|
115
150
|
```
|
|
116
151
|
|
|
117
|
-
|
|
152
|
+
It scores scip-query's own cheap evidence paths (source-fallback, regex)
|
|
153
|
+
against the best available semantic/compiler oracle on sampled symbols. Read
|
|
154
|
+
whether the surface you just changed still agrees with the oracle at the
|
|
155
|
+
sampled sites before trusting its output elsewhere in this flow — a
|
|
156
|
+
regression here means every downstream postcheck may be reading
|
|
157
|
+
degraded evidence, not just this one command.
|
|
118
158
|
|
|
119
|
-
|
|
159
|
+
Complete only when changed documentation and config surfaces are checked or
|
|
160
|
+
explicitly declared out of scope.
|
|
120
161
|
|
|
121
|
-
|
|
162
|
+
### 6. Refute the PASS
|
|
122
163
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
164
|
+
A PASS ends scrutiny, so attack it before making it. Construct at least two
|
|
165
|
+
refutation attempts and run the cheapest check that would expose each. Prefer
|
|
166
|
+
an executed probe — run the consumer's test, invoke the command, feed the
|
|
167
|
+
edge input — over an argued one. Pick attacks that fit the diff:
|
|
126
168
|
|
|
127
|
-
|
|
169
|
+
- **Unexercised consumer** — take a caller from step 2's `diff-impact` output
|
|
170
|
+
whose tests did not run, and either run them or trace the contract it
|
|
171
|
+
depends on.
|
|
172
|
+
- **Unexercised input** — find an edge the changed code newly handles or
|
|
173
|
+
newly rejects, and execute it.
|
|
174
|
+
- **The intent gap** — find one case the stated goal implies that the diff
|
|
175
|
+
does not visibly cover, then show where it's handled or show it's missing.
|
|
128
176
|
|
|
129
|
-
|
|
177
|
+
Record every attempt. An attempt that breaks the diff converts the verdict to
|
|
178
|
+
FAIL with a finding; the attempt stays in the record either way. Complete
|
|
179
|
+
only when every refutation attempt has an executed result.
|
|
130
180
|
|
|
131
|
-
|
|
181
|
+
### Report
|
|
132
182
|
|
|
133
|
-
End with:
|
|
183
|
+
End with this fixed template:
|
|
134
184
|
|
|
135
185
|
```markdown
|
|
136
186
|
Verification: PASS/FAIL — <n> postchecks, <m> refutation attempts, <k> broke
|
|
137
187
|
|
|
138
188
|
Environment:
|
|
139
|
-
|
|
140
189
|
- doctor:
|
|
141
190
|
- status:
|
|
142
191
|
|
|
143
192
|
Diff:
|
|
144
|
-
|
|
145
193
|
- changed files/symbols:
|
|
146
194
|
- unexpected blast radius:
|
|
147
195
|
|
|
148
196
|
Postchecks:
|
|
149
|
-
|
|
150
197
|
- <command>: <result>
|
|
151
198
|
|
|
152
199
|
Gate:
|
|
153
|
-
|
|
154
200
|
- `scip-query diff-gate --json`: <result>
|
|
155
201
|
|
|
156
|
-
Health/docs/
|
|
157
|
-
|
|
202
|
+
Health/docs/self-audit:
|
|
158
203
|
- <commands and results>
|
|
159
204
|
|
|
160
205
|
Refutation attempts:
|
|
161
|
-
|
|
162
206
|
- R1: <attack> → survived (evidence) | broke (finding)
|
|
163
207
|
|
|
164
208
|
Remaining risk:
|
|
165
|
-
|
|
166
209
|
- <accepted findings, unavailable capabilities, or checks not run>
|
|
167
210
|
```
|
|
168
211
|
|
|
169
|
-
Do not claim ready-to-ship unless freshness is `fresh` after the final
|
|
212
|
+
Do not claim ready-to-ship unless index freshness is `fresh` after the final
|
|
213
|
+
edit, `diff-gate` is passed or fully explained, and the PASS survived every
|
|
214
|
+
refutation attempt.
|
|
215
|
+
|
|
216
|
+
### Detector reliability for this flow
|
|
170
217
|
|
|
171
|
-
|
|
218
|
+
`dead`/`new-dead` correctly resolve `import type` consumers, tsconfig
|
|
219
|
+
`paths` aliases, pnpm/npm/yarn workspace cross-package imports, and Vue
|
|
220
|
+
`<script setup>` composables — these are not sources of false positives. The
|
|
221
|
+
one residual gap is a same-named symbol reached only through a re-exporting
|
|
222
|
+
barrel file in a workspace package; that shape self-labels `unconfirmed
|
|
223
|
+
(cross-package ambiguous-name resolution gap)` in the finding, and only that
|
|
224
|
+
specific label should be treated as unconfirmed until `refs` agrees.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "SCIP Verify"
|
|
3
|
-
short_description: "Verify
|
|
4
|
-
default_prompt: "Use $scip-verify to
|
|
3
|
+
short_description: "Verify a finished change before it ships"
|
|
4
|
+
default_prompt: "Use $scip-verify to confirm this change is wired, safe and regression-free before committing it."
|