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
package/skills/_shared/SKILL.md
CHANGED
|
@@ -1,250 +1,99 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: _shared
|
|
3
|
-
description:
|
|
3
|
+
description: Load only as reference material from within another scip-* workflow skill when that skill's own shortlist is insufficient — never invoke _shared directly as the owning workflow for a task.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Purpose
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
`_shared` is the catalog every other scip-* skill draws its command vocabulary and correctness rules from: freshness/lookup mechanics, the full command-family list, detector precision tiers, postcheck rules, the event ledger, and the subagent evidence-boundary contract. It is not a workflow — no task should end with "I invoked `_shared`". Come here mid-task from another skill when that skill's own shortlist runs out.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
A SCIP index is the compiler-derived map of a repository: source files, symbols, references, imports, calls, dependencies. It differs from text search because it records what the language toolchain actually resolved, so a claim backed by it can name definitions and consumers rather than matching strings. A **graph fact** is anything produced from that index — a definition line, a reference site, a caller, a dependency, a reverse dependency, an affected consumer.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
scip-query
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
scip-query
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
scip-query files
|
|
72
|
-
scip-query
|
|
73
|
-
scip-query
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
scip-query
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
scip-query
|
|
82
|
-
scip-query
|
|
83
|
-
scip-query
|
|
84
|
-
scip-query
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
scip-query
|
|
96
|
-
scip-query
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
scip-query react-hook-candidates [file] # Find heuristic React hook extraction candidates from shared state, effects, requests, and handlers
|
|
101
|
-
scip-query react-large-component-pressure [file] # Find heuristic large React component pressure candidates from component lines, JSX structure, and hook behavior
|
|
102
|
-
scip-query vue-component-duplicates [file] # Find heuristic duplicated Vue component structure candidates from template tags, bindings, slots, and directives
|
|
103
|
-
scip-query vue-composable-candidates [file] # Find heuristic Vue composable extraction candidates from shared state, effects, requests, and template bindings
|
|
104
|
-
scip-query vue-large-view-pressure [file] # Find heuristic large Vue view pressure candidates from template, script, style, and external script line counts
|
|
105
|
-
scip-query similar-chains # Find heuristic similar-chain candidates from dependency flows
|
|
106
|
-
scip-query extract-candidates # Find heuristic extraction candidates from isolated callee clusters
|
|
107
|
-
scip-query locality-candidates [symbol-or-file] # Find directory-locality and ancestry candidates from consumer ownership
|
|
108
|
-
scip-query cleanup-plan # Ordered, batched deletion plan: graph-fact dead code plus the cascade candidates it unlocks
|
|
109
|
-
scip-query cleanup-apply # Apply a compiler-verified cleanup-plan batch to the working tree
|
|
110
|
-
scip-query recent-duplicates # Directional duplicate candidates: recent code that re-implements established callable, React, or Vue code
|
|
111
|
-
scip-query doc-drift [doc] # Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped
|
|
112
|
-
scip-query unused-params # Speculative-generality candidates: trailing parameters no body ever uses (TS/JS)
|
|
113
|
-
scip-query drift [module] # Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context
|
|
114
|
-
scip-query wrapper-candidates # Find heuristic wrapper candidates only called by one consumer (high false-positive rate on codebases with intentional layering/ambient types — treat as exploration, not findings)
|
|
115
|
-
scip-query passthrough-candidates # Find heuristic passthrough candidates that forward to one callee
|
|
116
|
-
scip-query stale-abstractions # Find heuristic stale abstraction candidates with 0-1 consumers (high false-positive rate on codebases with intentional layering/ambient types — treat as exploration, not findings)
|
|
117
|
-
scip-query complexity-hotspots # Find heuristic complexity hotspot candidates from LOC x fan-in x fan-out
|
|
118
|
-
scip-query convergence <symbol1> <symbol2> # Deprecated alias for similar <symbol1> <symbol2> --plan
|
|
119
|
-
scip-query redundant-reexports # Find barrel re-exports that nobody imports through
|
|
120
|
-
scip-query duplicate-bodies # Find exact duplicate small-body candidates across files
|
|
121
|
-
scip-query twin-drift # Twin drift candidates: same-name (or near-name) functions across files with diverged bodies
|
|
122
|
-
scip-query twin-ab <symbolA> <symbolB> # Generate a behavioral A/B scaffold comparing two same-concept twins (scip-integrity-audit drill 5) — a ready-to-fill vitest file, not an auto-executor
|
|
123
|
-
scip-query not-implemented # Reachable placeholder stub candidates (throw-stub, TODO+return-default, empty body) — production callers can actually reach these; an unreachable stub is dead's job, not this one's
|
|
124
|
-
scip-query decorative-checkers # Decorative checker candidates: validate*/verify*/check*/assert*/is*/has* callables with no reachable failure exit anywhere in their body
|
|
125
|
-
scip-query test-quality # Test-quality candidates: assertion-free it/test bodies, a skipped-test ledger with git-blame age, and mock-echo tests that assert the same literal they stubbed into a mock
|
|
126
|
-
scip-query similar-signatures # Find functions with near-identical type signatures (same shape)
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
### Graph
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
scip-query hotspots # Most-referenced symbols in the codebase (choke points)
|
|
133
|
-
scip-query fan-in [symbol] # Count files referencing an exact symbol; top JSON rows include exact symbol identity
|
|
134
|
-
scip-query fan-out [file] # How many external symbols a file uses (or top fan-out across codebase)
|
|
135
|
-
scip-query coupling [file1] [file2] # Coupling between two files, or top coupled pairs in codebase
|
|
136
|
-
scip-query cycles # Detect circular dependency chains between files
|
|
137
|
-
scip-query architecture # Evaluate project-owned architectural boundaries and dependency rules
|
|
138
|
-
scip-query bottlenecks # Find coupling hubs: high fan-in AND high fan-out
|
|
139
|
-
scip-query deep-chains # Find the longest condensed dependency-component chains
|
|
140
|
-
scip-query call-graph <symbol> # Show incoming callers and outgoing callees for a symbol
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### Impact
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
scip-query affected <symbol> # Transitive closure of symbols that could break if this symbol changes
|
|
147
|
-
scip-query change-surface <file> # Pre-change briefing: exports, consumers, and blast-radius risk
|
|
148
|
-
scip-query co-change [file] # Files that change together in git history without a dependency edge — hidden coupling candidates
|
|
149
|
-
scip-query diff-gate # Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings
|
|
150
|
-
scip-query incomplete-migration # Partially-completed extraction candidates: new helpers in the diff wired into some sites while similar un-migrated sites remain
|
|
151
|
-
scip-query diff-impact # Compute changed symbols and downstream consumers from current git diff
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Formal Models
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
scip-query tla <operation> [spec] # TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Planning
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
scip-query plan-context <target> # Pre-edit planning context for a symbol, file, or module
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### Health
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
scip-query self-audit # Score cheap evidence paths against the best available semantic/source oracle on sampled symbols
|
|
170
|
-
scip-query health # Composite codebase health report with prioritized action list
|
|
171
|
-
scip-query complexity <symbol> # Per-symbol complexity: branches, cyclomatic estimate, fan-in/out, callees
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### Maintenance
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
scip-query bench # Benchmark indexing and command runtimes for this repository
|
|
178
|
-
scip-query work-audit <profile> # Rank exact repeated computations in a profiling JSONL file by measured avoidable time
|
|
179
|
-
scip-query install-skills # Install skills (_shared, scip-query, scip-setup, scip-calibrate, scip-cleanup-audit, scip-cleanup-improve, scip-integrity-audit, scip-twin-drift, scip-claim-audit, scip-probe-reachability, scip-hyper-optimization, scip-api-impact, scip-concrete-plan, scip-conductor, scip-debug, scip-explore, scip-root-cause, scip-triage-issue, scip-diagram, scip-doc-reconcile, scip-directory-architecture, scip-maintainability, scip-react-maintainability, scip-vue-maintainability, scip-verify, scip-language-playbook, scip-tla-model-system) into Claude Code, Codex, and shared agent roots
|
|
180
|
-
scip-query setup-hooks # Install or refresh project-local Codex and Claude Code lifecycle hooks
|
|
181
|
-
scip-query check-deps # Check whether scip-query and the detected language indexers are actually runnable
|
|
182
|
-
scip-query capabilities # Report which evidence and verification capabilities are available in this project
|
|
183
|
-
scip-query capability-matrix # Deprecated alias for capabilities --matrix
|
|
184
|
-
scip-query init # Create a .scipquery.json config file for this project
|
|
185
|
-
scip-query config-validate # Validate .scipquery.json, including structured suppressions and declared coupling groups
|
|
186
|
-
scip-query suppress <id> # Record an accepted finding as a file under .scipquery/suppressions/ with a required reason
|
|
187
|
-
scip-query effectiveness # Per-check effectiveness from the committed outcome ledger: caught, comparison-verified fixes, suppressed, unverified disappearances, and precision
|
|
188
|
-
scip-query doctor # Diagnose config, index freshness, dependency readiness, and project capabilities
|
|
189
|
-
scip-query setup # Bootstrap this project: enable automatic indexing, install agent skills, refresh the index, verify capabilities, and report health
|
|
190
|
-
scip-query 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
|
|
191
|
-
scip-query setup-ci # Write a GitHub Actions workflow that runs scip-query reindex and diff-gate on pull requests
|
|
192
|
-
scip-query uninstall # Remove scip-query-owned skill links, project hooks, and managed agent setup blocks
|
|
193
|
-
scip-query watch # Watch in the foreground or manage the per-project background refresh service
|
|
194
|
-
scip-query status # Show index status for this project
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
<!-- END GENERATED COMMAND FAMILIES -->
|
|
198
|
-
|
|
199
|
-
## Detector Reliability
|
|
200
|
-
|
|
201
|
-
Calibrated against two external production repos on 2026-07-01
|
|
202
|
-
(docs/validation/2026-07-01-external-calibration-\*.md). Weight findings by
|
|
203
|
-
measured precision, not by volume:
|
|
204
|
-
|
|
205
|
-
- **Strong signal** — `complexity-hotspots` (~90%), `recent-duplicates` (~75%), graph facts (`refs`, `trace`, `deps`), compiler-verified `cleanup-plan --verify`.
|
|
206
|
-
- **Good with review** — `duplicate-bodies`, `similar`, `co-change`, `doc-drift`, `twin-drift` (post-retune defaults).
|
|
207
|
-
- **Exploration only** — `wrapper-candidates`, `stale-abstractions`, `drift --patterns`: near-zero precision on codebases with intentional layering or ambient types. Never file their findings without reading the cited code.
|
|
208
|
-
- **Advisory gate findings** (marked `(advisory)`) never block; they are context, not obligations.
|
|
209
|
-
- **False-dead archetypes (2026-07-02 remediation, docs/plans/2026-07-02-followups.md items 1-3)**: `import type`-only consumers (incl. tsconfig `paths`-aliased specifiers) and pnpm/npm/yarn workspace cross-package consumers (incl. unbuilt `dist/` exports maps) are now resolved by the shared reference-counting layer that `dead`/`isolated`/`new-dead`/`stale-abstractions`/`production-callables` all consume; Vue `<script setup>` composable consumers were already correctly resolved (verified live, no code change needed). One narrow residual gap remains: a symbol with an **ambiguous leaf name** (a same-named definition exists elsewhere in the project) reached only through a **re-exporting barrel file** in a workspace package can still misattribute — `new-dead` labels that specific shape `unconfirmed (cross-package ambiguous-name resolution gap)` with `evidence: "heuristic"` and lowered confidence instead of asserting `dead`; treat those as "verify manually," not as a fact. Everything else in this class is a normal graph-fact `dead` claim again — confirm with `refs` when in doubt, same as any other finding.
|
|
210
|
-
- **Ledger nudges**: when `diff-gate --hook` reports "this check is rarely acted on in this repo", either tune that check's config, suppress the standing findings with reasons, or consciously accept the noise — do not let unresolved findings accumulate as wallpaper.
|
|
211
|
-
- **Effectiveness ledger**: every completed diff-gate run, including JSON and hook mode, writes each caught/resolved/suppressed transition to its own committed `.scipquery/events/*.json` file. Independent branches add independent paths instead of editing a shared log; commit the event files with your changes. Legacy `.scipquery/ledger/events.jsonl` records remain readable and migrate on the next gate write. Query the history with `scip-query effectiveness [--since 30d] [--check <check>] [--json]`: per check it reports findings caught, comparison-verified fixed, suppressed, still open, `moved` (rename noise), legacy/non-comparable `unverified` resolutions, precision (verified fixed ÷ verified fixed plus suppressed), and median days-to-fix. A pre-commit rerun reuses the same base directly; after `HEAD` advances, a clean run automatically replays the stored comparison commit. A dirty or unavailable replay leaves the finding pending instead of manufacturing a fix. Standalone detector commands are not outcome-tracked until they expose complete-scan evidence.
|
|
212
|
-
|
|
213
|
-
## Diff Gate Checks
|
|
214
|
-
|
|
215
|
-
`diff-gate` recognizes ten checks (`--skip <check>` accepts any of these): `echo` (recent-duplicate-style echoes in the diff), `incomplete-migration`, `co-change-partner` (missing historically-paired file), `twin-partner` (advisory — unedited same-name twin), `coverage-contract` (a configured `coverageContracts` enumeration drifted from its ground truth — see `scip-setup`), `architecture` (a declared boundary violation absent from the shared baseline), `doc-reference` (uncited or stale doc claim), `unused-params`, `new-dead` (dead code introduced by this diff), and `baseline` (only with `--baseline`: compares all non-architecture health identities against the committed `.scipquery-baseline.json`, distinct from `health --baseline`). The architecture check runs by default only when enforceable architecture rules and a baseline exist; it uses that same file without running the full health suite. Findings print grouped under a `Root-cause groups (N):` header before the flat list — a group's remediation usually clears every finding under it, and the same remediation may then repeat in the flat list below; that repetition is expected, not a separate issue. Baseline-backed findings additionally carry an `actionTier`: `direct` (act on this finding alone), `signal` (corroborating evidence — read before acting), `support` (context only).
|
|
216
|
-
|
|
217
|
-
## Postchecks
|
|
218
|
-
|
|
219
|
-
Run the rows that match the actual edit:
|
|
220
|
-
|
|
221
|
-
| Change made | Check |
|
|
222
|
-
| ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
223
|
-
| Extracted a helper or abstraction | `scip-query incomplete-migration --json --full` |
|
|
224
|
-
| Added a helper, module, component, hook, composable, or adapter | `scip-query similar <symbol> --json --full` and `scip-query recent-duplicates --json --full` |
|
|
225
|
-
| Added parameters, options, props, config flags, or broad option objects | `scip-query unused-params --json --full` |
|
|
226
|
-
| Added a wrapper, facade, forwarding layer, alias, or re-export | `scip-query wrapper-candidates --json --full`, `scip-query passthrough-candidates --json --full`, and `scip-query redundant-reexports` when exports changed |
|
|
227
|
-
| Added an interface, base class, adapter contract, or type alias | `scip-query stale-abstractions --json --full` |
|
|
228
|
-
| Changed schema, config, generated files, public contracts, command descriptors, or docs-backed behavior | `scip-query co-change <file> --json --full` and `scip-query doc-drift --json --full` |
|
|
229
|
-
| Deleted code | `scip-query cleanup-plan --verify --json` |
|
|
230
|
-
| Changed React components or hooks | the React frontend commands above |
|
|
231
|
-
| Changed Vue SFCs or composables | the Vue frontend commands above |
|
|
232
|
-
|
|
233
|
-
Every implemented change ends with:
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
scip-query status --capabilities
|
|
237
|
-
scip-query diff-gate --json
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
Fix findings or record a specific acceptance reason. Do not report success while a diff-gate finding is unexplained.
|
|
241
|
-
|
|
242
|
-
## Subagents
|
|
243
|
-
|
|
244
|
-
When a subagent is used for scip-query evidence, include these rules in its prompt:
|
|
245
|
-
|
|
246
|
-
```text
|
|
247
|
-
Use scip-query for all code references. Do not use grep, rg, cat, or file reads as evidence for code behavior. Every file path, line number, and behavioral claim must cite the exact scip-query command that produced it. If scip-query cannot verify a claim, say so.
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
Reject subagent findings that cite text search or raw file reads as code evidence when graph facts were required.
|
|
13
|
+
**Match evidence to the claim.** Native search and file reads are valid for literal text, exact local source, and unambiguous local logic (e.g. a helper defined two lines down in the same file is not a resolution claim). Use scip-query whenever the claim depends on compiler-resolved identity or on a relationship set being complete — definitions, references, callers, dependencies, consumers, affected units, public surface. Many scip-query commands return a bounded/capped sample rather than an exhaustive set; say so explicitly rather than treating a bounded result as proof of completeness.
|
|
14
|
+
|
|
15
|
+
## Triage table
|
|
16
|
+
|
|
17
|
+
| Need | Where |
|
|
18
|
+
|---|---|
|
|
19
|
+
| Human-oriented command vocabulary and when-to-use notes | `references/command-catalog.md` |
|
|
20
|
+
| Descriptor-owned questions, returned units, and default coverage for every command | `references/agent-contract-catalog.md` |
|
|
21
|
+
| Detector precision tiers, diff-gate's ten checks, root-cause groups, event ledger, effectiveness | `references/detector-precision-and-diffgate.md` |
|
|
22
|
+
| Subagent evidence-boundary contract, dead-code reference-counting status and residual gap | `references/evidence-and-dead-code.md` |
|
|
23
|
+
| The edit-to-postcheck table (which postcheck to run after which kind of edit) | `scip-verify` skill — authoritative, do not duplicate it here |
|
|
24
|
+
|
|
25
|
+
## Freshness gate
|
|
26
|
+
|
|
27
|
+
Before trusting any graph fact: run `scip-query status --capabilities`. If freshness reports `fresh`, continue. If it reports `stale`, `missing`, or `unknown`, run `scip-query reindex` first — it indexes the codebase and converts it to SQLite — then re-check status before proceeding.
|
|
28
|
+
|
|
29
|
+
## Symbol lookup fallback ladder
|
|
30
|
+
|
|
31
|
+
Look symbols up by partial name, no parentheses: `scip-query code parseConfig`, `scip-query trace loadSettings`. If a lookup is ambiguous or comes back empty:
|
|
32
|
+
1. Retry with a shorter symbol name.
|
|
33
|
+
2. If still unresolved, run `scip-query outline <file>` to get a tree of that file's symbols with line ranges.
|
|
34
|
+
3. If outline doesn't resolve it, run `scip-query trace <name>` (definition plus every reference).
|
|
35
|
+
4. Last resort, once you already know the file and line range: `scip-query code 'path/to/file.ts:START-END'`.
|
|
36
|
+
|
|
37
|
+
`scip-query files <pattern>` is the step before step 1 when you have a name fragment but no path — feed its result into outline or the lookup ladder. `scip-query stats` gives index statistics; reach for it when validating that a reindex actually populated the index (e.g. during setup/calibration, not mid-exploration).
|
|
38
|
+
|
|
39
|
+
## Reading a symbol once located
|
|
40
|
+
|
|
41
|
+
- `scip-query members <symbol>` — every child of a symbol (methods, fields, nested types). Use once `hierarchy` or `by-kind` has identified a class/type, to see its full surface before editing or removing it.
|
|
42
|
+
- `scip-query hierarchy <symbol>` — a method's ancestry chain up to its class and module. Use before editing a method, to understand the containing type's contract.
|
|
43
|
+
- `scip-query by-kind <kind>` — every symbol of a SCIP kind (class, interface, enum, function…). Use after `scip-query kind-counts` (a histogram of kinds in the codebase) narrows down which kind is worth a systematic sweep.
|
|
44
|
+
- `scip-query refs <symbol>` — every file referencing a symbol. This is the strong-signal confirmation step: whenever a dead-code or "is this used" claim needs checking, run `refs` before asserting it.
|
|
45
|
+
|
|
46
|
+
## Structural surveys before a change
|
|
47
|
+
|
|
48
|
+
- `scip-query system <module>` — full module map (files, symbols, deps in/out). Use to onboard to an unfamiliar module or produce a module-level briefing.
|
|
49
|
+
- `scip-query surface <module>` — the symbols consumers actually use from a module. Compare against its declared exports to see whether public API can be pruned.
|
|
50
|
+
- `scip-query imports <file>` — what a file imports. Use to audit a file's dependency footprint before moving or refactoring it.
|
|
51
|
+
- `scip-query deps <file>` — internal files this file depends on (upstream blast radius).
|
|
52
|
+
- `scip-query rdeps <file>` — files that depend on this file/module (downstream blast radius: who breaks if it changes).
|
|
53
|
+
|
|
54
|
+
## Deeper semantics
|
|
55
|
+
|
|
56
|
+
- `scip-query dataflow <symbol>` — reference-level dataflow: definition sites, usage sites, producers, consumers. Use when debugging or planning a change and location alone (`refs`) isn't enough — you need to know how data moves through the symbol.
|
|
57
|
+
- `scip-query slice <symbol>` — a reference-level program slice, backward (what affects this symbol) or forward (what this symbol affects). Use to scope the minimum code touched by a targeted refactor.
|
|
58
|
+
|
|
59
|
+
## Dead code and duplication
|
|
60
|
+
|
|
61
|
+
- `scip-query dead [scope]` — repository-dead code, file-internal symbols, implicit-usage signals. Cross-check any hit with `refs` before deleting; see `references/evidence-and-dead-code.md` for the one residual false-dead gap (ambiguous leaf name reached only through a re-exporting barrel in a workspace package).
|
|
62
|
+
- `scip-query isolated` — completely orphaned symbols with no references at all; the stricter sibling of `dead`, same reference-counting layer, same residual gap caveat.
|
|
63
|
+
- `scip-query similar [symbol] [other]` — heuristic function-similarity candidates from callee fingerprints. Good-with-review signal: read the code before treating a hit as a real duplicate.
|
|
64
|
+
- `scip-query similar-files [file]` — heuristic similar-file candidates from dependency profiles. Use before writing a new file, to check whether a sibling already does the job; review before acting.
|
|
65
|
+
|
|
66
|
+
## Coupling and architecture health
|
|
67
|
+
|
|
68
|
+
- `scip-query fan-in [symbol]` — how many files reference an exact symbol. Use to gauge a symbol's criticality/blast-radius before changing its signature.
|
|
69
|
+
- `scip-query fan-out [file]` — how many external symbols a file uses (or the top-fan-out list across the codebase). Use to gauge a file's coupling debt before deciding whether to split it.
|
|
70
|
+
- `scip-query coupling [file1] [file2]` — coupling between two named files, or the top coupled pairs codebase-wide. Use when a specific pair is suspected of hidden coupling, or when scanning for the worst offenders.
|
|
71
|
+
- `scip-query cycles` — circular dependency chains between files. Use when investigating why files resist clean layering or isolated testing.
|
|
72
|
+
- `scip-query bottlenecks` — symbols/files with high fan-in *and* high fan-out (coupling hubs). Use to prioritize a maintainability review.
|
|
73
|
+
- `scip-query architecture` — evaluates project-owned architectural boundaries and dependency rules. Its baseline is what diff-gate's `architecture` check reads from directly (see `references/detector-precision-and-diffgate.md`).
|
|
74
|
+
|
|
75
|
+
## History
|
|
76
|
+
|
|
77
|
+
- `scip-query co-change [file]` — files that change together in git history without a dependency edge: hidden-coupling candidates the graph misses. Good-with-review signal. Use before splitting a file to check whether its historical co-change partner also needs updating.
|
|
78
|
+
|
|
79
|
+
## Governance: config, suppression, effectiveness
|
|
80
|
+
|
|
81
|
+
1. `scip-query init` — creates `.scipquery.json` for a project. Run once, at bootstrap, before any config-dependent command.
|
|
82
|
+
2. `scip-query config-validate` — validates `.scipquery.json`, including structured suppressions and declared coupling groups. Run after hand-editing either.
|
|
83
|
+
3. `scip-query suppress <id>` — records an accepted finding as a file under `.scipquery/suppressions/` with a required reason, the moment you decide a finding is a false positive or an accepted risk. This is what feeds the "suppressed" count in effectiveness.
|
|
84
|
+
4. `scip-query effectiveness [--since 30d] [--check <check>] [--json]` — per-check history from the committed outcome ledger: findings caught, comparison-verified fixed, suppressed, still open, "moved" (rename noise), legacy/non-comparable "unverified" resolutions, precision (verified-fixed ÷ (verified-fixed + suppressed)), and median days-to-fix. Run this periodically, or the moment diff-gate feels noisy, to see which checks are earning their keep — then either tune that check's config, suppress the standing findings with reasons, or consciously accept the noise. Do not let unresolved findings accumulate as wallpaper.
|
|
85
|
+
|
|
86
|
+
Standalone detector commands (outside diff-gate) are not outcome-tracked in this ledger until they expose complete-scan evidence. A pre-commit rerun of diff-gate reuses the same comparison base directly; after HEAD advances, a clean diff-gate run automatically replays the stored comparison commit. A dirty or unavailable replay leaves the effectiveness finding pending rather than manufacturing a fix result.
|
|
87
|
+
|
|
88
|
+
## Postcheck
|
|
89
|
+
|
|
90
|
+
Every implemented change ends with `scip-query status --capabilities` and `scip-query diff-gate --json`. Fix each finding, or record a specific acceptance reason for each one left unresolved (findings marked `(advisory)` never block — treat them as context, not obligations). Do not report success while a diff-gate finding is unexplained. The authoritative table of *which* postcheck to run for *which* kind of edit lives in `scip-verify`; invoke that skill rather than re-deriving it here.
|
|
91
|
+
|
|
92
|
+
## Subagent evidence boundary
|
|
93
|
+
|
|
94
|
+
When a subagent gathers scip-query evidence, its prompt must carry these rules verbatim:
|
|
95
|
+
- Use scip-query for any compiler-resolved-identity or completeness claim; native search/file reads are valid only for literal source content and unambiguous local logic (e.g. a helper defined in the same file).
|
|
96
|
+
- The trigger is resolution or completeness, not whether execution crosses a call boundary: asserting what `handler(x)` does without resolving what `handler` is requires scip-query evidence; reading a helper defined two lines down in the same file does not.
|
|
97
|
+
- Cite the evidence source appropriate to each claim, and state plainly when neither source establishes a claim completely.
|
|
98
|
+
|
|
99
|
+
Reject a subagent's finding if it sources a resolution or completeness claim from text search alone. Do not reject a literal-content claim merely for citing a file read as its evidence.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "SCIP Shared Reference"
|
|
3
3
|
short_description: "Reference only - not a workflow"
|
|
4
|
-
default_prompt: "
|
|
4
|
+
default_prompt: "Load $_shared only from inside another SCIP skill when its own command shortlist is insufficient."
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Descriptor-owned command contracts
|
|
2
|
+
|
|
3
|
+
Use this catalog when choosing between commands or deciding whether a result
|
|
4
|
+
can support a complete claim. Each row is generated from the CLI descriptor
|
|
5
|
+
that also drives help and JSON metadata. “Default coverage” describes the
|
|
6
|
+
normal invocation; the actual JSON result remains authoritative when options,
|
|
7
|
+
scope, runtime capability, or pagination change it.
|
|
8
|
+
|
|
9
|
+
<!-- BEGIN GENERATED AGENT CONTRACT CATALOG -->
|
|
10
|
+
| Command | Questions it answers | Returns | Default coverage |
|
|
11
|
+
| --- | --- | --- | --- |
|
|
12
|
+
| `scip-query reindex` | Can the repository index be refreshed, and which language shards succeeded? | index generation, shard statuses, reuse diagnostics, and failures | `complete` |
|
|
13
|
+
| `scip-query augment-sources` | Can source files omitted by upstream indexers be added to the index? | added document counts and augmentation status | `complete` |
|
|
14
|
+
| `scip-query augment-vue` | Can Vue SFC references be compiler-resolved and added to the index? | Vue augmentation counts, project, and diagnostics | `complete` |
|
|
15
|
+
| `scip-query stats` | How large and fresh is the current index? | document, symbol, definition, reference, size, and build-time totals | `complete` |
|
|
16
|
+
| `scip-query files <pattern>` | Which indexed files match this text pattern? | matching file paths | `complete` |
|
|
17
|
+
| `scip-query methods <className>` | Which methods belong to this class? | method names and line ranges | `complete` |
|
|
18
|
+
| `scip-query refs <symbol>` | Which files reference this symbol?; Is this symbol used anywhere, or only defined? | referencing file paths; reference line numbers grouped by file | `bounded` |
|
|
19
|
+
| `scip-query trace <symbol>` | Where is this symbol defined, and everywhere is it referenced? | definition sites with source and signature; referencing files with line numbers | `bounded` |
|
|
20
|
+
| `scip-query deps <file>` | Which internal files does this file depend on? | dependency file paths | `complete` |
|
|
21
|
+
| `scip-query rdeps <file>` | Which internal files depend on this file? | reverse-dependency file paths | `complete` |
|
|
22
|
+
| `scip-query system <module>` | What is in this module?; What does this module depend on, and what depends on it? | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` |
|
|
23
|
+
| `scip-query surface <module>` | Which exported symbols do external consumers actually use? | consumer paths and consumed symbol identities | `complete` |
|
|
24
|
+
| `scip-query dead [scope]` | Which symbols have no repository use or only file-internal use? | symbol identities, ranges, liveness classes, and evidence | `bounded` |
|
|
25
|
+
| `scip-query hotspots` | Which symbols are the largest reference choke points? | ranked symbol identities with reference and file counts | `bounded` |
|
|
26
|
+
| `scip-query imports <file>` | Which symbols does this file import? | imported symbol identities and source files | `bounded` |
|
|
27
|
+
| `scip-query imported-by <symbol>` | Which files import this symbol? | importing file paths | `complete` |
|
|
28
|
+
| `scip-query unused-imports <file>` | Which imports in this file are unused? | import symbol identities and source ranges | `bounded` |
|
|
29
|
+
| `scip-query outline <file>` | What symbols and nesting exist in this file? | symbol names, nesting, and line ranges | `complete` |
|
|
30
|
+
| `scip-query members <symbol>` | Which members or nested symbols belong to this symbol? | child symbol identities, kinds, and ranges | `complete` |
|
|
31
|
+
| `scip-query fan-in [symbol]` | How many files reference this symbol, or which symbols have highest fan-in? | exact symbols with referencing-file counts | `bounded` |
|
|
32
|
+
| `scip-query fan-out [file]` | How many external symbols does this file use, or which files have highest fan-out? | files with external-symbol counts | `bounded` |
|
|
33
|
+
| `scip-query coupling [file1] [file2]` | How strongly are these files coupled, or which pairs are most coupled? | file pairs with coupling evidence and scores | `bounded` |
|
|
34
|
+
| `scip-query cycles` | Which file dependency cycles exist? | dependency-cycle file chains | `bounded` |
|
|
35
|
+
| `scip-query architecture` | Does the repository obey its declared architecture boundaries? | boundary coverage and dependency-rule violations | `complete` |
|
|
36
|
+
| `scip-query bottlenecks` | Which files are high-connectivity coupling hubs? | ranked files with fan-in and fan-out counts | `bounded` |
|
|
37
|
+
| `scip-query isolated` | Which symbols are disconnected from the repository reference graph? | isolated symbol identities and files | `bounded` |
|
|
38
|
+
| `scip-query by-kind <kind>` | Which symbols have this SCIP kind? | symbol identities, kinds, files, and ranges | `bounded` |
|
|
39
|
+
| `scip-query kind-counts` | How many indexed symbols exist for each kind? | symbol-kind counts | `complete` |
|
|
40
|
+
| `scip-query deep-chains` | Which dependency chains are deepest and riskiest? | ranked component chains with depth, risk, and recommendation | `bounded` |
|
|
41
|
+
| `scip-query hierarchy <symbol>` | What lexical ownership chain contains this symbol? | ancestor symbol identities and depths | `complete` |
|
|
42
|
+
| `scip-query call-graph <symbol>` | Who calls this symbol and what does it call? | caller and callee symbol identities with files | `bounded` |
|
|
43
|
+
| `scip-query similar [symbol] [other]` | Which callable resembles this one, or how similar are these two? | symbol pairs, similarity scores, and shared evidence | `bounded` |
|
|
44
|
+
| `scip-query similar-files [file]` | Which files have similar callable structure? | file pairs with similarity scores and shared symbols | `bounded` |
|
|
45
|
+
| `scip-query react-component-duplicates [file]` | Which React components appear to duplicate one another? | component pairs with structural similarity evidence | `bounded` |
|
|
46
|
+
| `scip-query react-hook-candidates [file]` | Which repeated React logic could become a custom hook? | component groups and shared hook-shaped behavior | `bounded` |
|
|
47
|
+
| `scip-query react-large-component-pressure [file]` | Which React components have evidence of being too large or overloaded? | component identities with size and responsibility pressure | `bounded` |
|
|
48
|
+
| `scip-query vue-component-duplicates [file]` | Which Vue components appear to duplicate one another? | component pairs with structural similarity evidence | `bounded` |
|
|
49
|
+
| `scip-query vue-composable-candidates [file]` | Which repeated Vue logic could become a composable? | component groups and shared composable-shaped behavior | `bounded` |
|
|
50
|
+
| `scip-query vue-large-view-pressure [file]` | Which Vue views have evidence of being too large or overloaded? | view identities with size and responsibility pressure | `bounded` |
|
|
51
|
+
| `scip-query similar-chains` | Which transitive chains of similar symbols suggest repeated designs? | similarity-connected symbol chains and scores | `bounded` |
|
|
52
|
+
| `scip-query extract-candidates` | Which cohesive code regions are strong extraction candidates? | symbol identities with cohesion, reuse, and extraction evidence | `bounded` |
|
|
53
|
+
| `scip-query locality-candidates [symbol-or-file]` | Which definitions live far from most of their consumers? | symbols, current homes, consumer locality, and suggested homes | `bounded` |
|
|
54
|
+
| `scip-query affected <symbol>` | Which downstream symbols could break if this symbol changes? | affected symbol identities, files, and traversal depths | `bounded` |
|
|
55
|
+
| `scip-query change-surface <file>` | What public surface and consumers make this file risky to change? | defined symbols, external consumer counts, and risk levels | `bounded` |
|
|
56
|
+
| `scip-query cleanup-plan` | What code can be deleted safely, and in what dependency order? | ordered cleanup batches, evidence, and optional verification outcomes | `bounded` |
|
|
57
|
+
| `scip-query cleanup-apply` | Can a compiler-verified cleanup batch be applied to this working tree? | applied files, deletions, verification, and refusal reasons | `bounded` |
|
|
58
|
+
| `scip-query co-change [file]` | Which files repeatedly change together without a declared dependency? | file pairs, co-change counts, confidence, and history context | `bounded` |
|
|
59
|
+
| `scip-query recent-duplicates` | Did recent code reimplement established code? | recent and established symbol pairs with similarity evidence | `bounded` |
|
|
60
|
+
| `scip-query doc-drift [doc]` | Which documentation may be stale relative to changing code? | document paths, coupled code subjects, and history evidence | `bounded` |
|
|
61
|
+
| `scip-query unused-params` | Which trailing parameters are never read by their bodies? | candidate parameters with callable and file identities | `bounded` |
|
|
62
|
+
| `scip-query diff-gate` | Does my current diff introduce something this repo blocks on?; What must I fix or explicitly accept before reporting the work done? | 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` |
|
|
63
|
+
| `scip-query incomplete-migration` | Did this diff leave a helper extraction only partly migrated? | new helpers and similar unmigrated call sites | `bounded` |
|
|
64
|
+
| `scip-query tla <operation> [spec]` | Does this TLA+ model and code mapping agree, or can the requested model artifact be generated? | checker status, conformance findings, trace coverage, or generated artifact paths | `bounded` |
|
|
65
|
+
| `scip-query plan-context <target>` | What must I know before editing this target?; Who consumes it, and what breaks if I change it?; Has this target historically changed together with anything else? | definitions and references; callers and callees; dataflow producers and consumers; backward and forward slices; affected symbols; change-surface risk; dependencies and reverse dependencies; module files and exports; external surface use; complexity; churn; co-change partners; active suppressions | `bounded` |
|
|
66
|
+
| `scip-query diff-impact` | Which symbols changed in this diff and which downstream consumers are affected? | changed symbols, downstream consumer identities, and impact paths | `bounded` |
|
|
67
|
+
| `scip-query drift [module]` | Where has a module or abstraction drifted across parallel implementations? | drifted symbol families, files, and evidence | `bounded` |
|
|
68
|
+
| `scip-query wrapper-candidates` | Which callables are unnecessary forwarding wrappers? | wrapper identities, targets, and forwarding evidence | `bounded` |
|
|
69
|
+
| `scip-query passthrough-candidates` | Which parameters are passed through layers without local use? | parameter paths across call chains | `bounded` |
|
|
70
|
+
| `scip-query stale-abstractions` | Which abstractions no longer earn their indirection? | abstraction identities with usage, change, and replacement evidence | `bounded` |
|
|
71
|
+
| `scip-query complexity-hotspots` | Which symbols combine high complexity with high change pressure? | ranked symbols with complexity and churn evidence | `bounded` |
|
|
72
|
+
| `scip-query self-audit` | How accurate are the fast evidence paths on a sample? | sample coverage, agreement scores, and disagreements | `sampled` |
|
|
73
|
+
| `scip-query health` | What are the highest-priority verified health problems in this codebase? | health score, findings, priorities, baselines, and coverage notes | `bounded` |
|
|
74
|
+
| `scip-query bench` | How fast are indexing and selected commands under this benchmark matrix? | timings, command outcomes, environment, and optional profiles | `sampled` |
|
|
75
|
+
| `scip-query work-audit <profile>` | Which repeated computations in this profile waste the most measured time? | ranked repeated-work groups, counts, and avoidable duration | `bounded` |
|
|
76
|
+
| `scip-query convergence <symbol1> <symbol2>` | How should these two similar symbols converge? | deprecated alias result for a two-symbol similarity plan | `bounded` |
|
|
77
|
+
| `scip-query code <symbol>` | What is the compiler-resolved definition source for this symbol? | definition identity, source, and line range | `complete` |
|
|
78
|
+
| `scip-query complexity <symbol>` | How structurally complex and connected is this symbol? | LOC, branch, complexity, callee, fan-in, and fan-out counts | `bounded` |
|
|
79
|
+
| `scip-query dataflow <symbol>` | What defines, uses, produces, and consumes this symbol? | definition sites, usage sites, producer symbols, and consumer symbols | `bounded` |
|
|
80
|
+
| `scip-query slice <symbol>` | What transitively affects this symbol, or what does it affect? | connected symbols with relationship and depth | `bounded` |
|
|
81
|
+
| `scip-query install-skills` | Which scip-query skills were installed, updated, skipped, or conflicted? | skill target paths and install outcomes | `complete` |
|
|
82
|
+
| `scip-query setup-hooks` | Were project-local agent hooks installed or removed safely? | hook config targets, changes, skips, and warnings | `complete` |
|
|
83
|
+
| `scip-query check-deps` | Which scip-query and language-indexer dependencies are runnable? | dependency readiness statuses and remediation | `complete` |
|
|
84
|
+
| `scip-query capabilities` | Which evidence and verification capabilities are available here? | capability matrix with availability and reasons | `complete` |
|
|
85
|
+
| `scip-query capability-matrix` | Which evidence and verification capabilities are available here? | deprecated alias of the capability matrix | `complete` |
|
|
86
|
+
| `scip-query redundant-reexports` | Which re-exports add no useful API boundary? | re-export sites, original definitions, and consumer evidence | `bounded` |
|
|
87
|
+
| `scip-query duplicate-bodies` | Which callable bodies are exact duplicates? | callable groups with exact normalized-body identity | `bounded` |
|
|
88
|
+
| `scip-query twin-drift` | Which same-concept twin implementations have drifted? | twin symbol pairs, history, and divergence evidence | `bounded` |
|
|
89
|
+
| `scip-query twin-ab <symbolA> <symbolB>` | How do these two twin implementations differ in structure and behavior? | side-by-side symbol evidence and divergence classification | `complete` |
|
|
90
|
+
| `scip-query not-implemented` | Which callables are placeholders rather than real implementations? | callable identities and placeholder evidence | `bounded` |
|
|
91
|
+
| `scip-query decorative-checkers` | Which validation checks cannot meaningfully fail? | checker identities, call sites, and decorative behavior evidence | `bounded` |
|
|
92
|
+
| `scip-query test-quality` | Which tests have weak assertions or poor production-code reach? | test identities with assertion and reachability evidence | `bounded` |
|
|
93
|
+
| `scip-query similar-signatures` | Which callables have suspiciously similar signatures? | callable pairs with signature similarity evidence | `bounded` |
|
|
94
|
+
| `scip-query init` | Can a starter scip-query configuration be created for this project? | configuration path and creation outcome | `complete` |
|
|
95
|
+
| `scip-query config-validate` | Is this project configuration valid and internally consistent? | validation diagnostics with config paths | `complete` |
|
|
96
|
+
| `scip-query suppress <id>` | Can this accepted finding be recorded with an auditable reason? | suppression identity, path, scope, and expiry | `complete` |
|
|
97
|
+
| `scip-query effectiveness` | Which diff-gate checks catch actionable findings with verified outcomes? | per-check caught, fixed, suppressed, unresolved, and precision counts | `complete` |
|
|
98
|
+
| `scip-query doctor` | Why is scip-query unhealthy or unavailable in this project? | config, freshness, dependency, and capability diagnostics | `complete` |
|
|
99
|
+
| `scip-query setup` | Can scip-query be bootstrapped end to end in this project? | setup step outcomes, files, capabilities, smoke tests, and warnings | `complete` |
|
|
100
|
+
| `scip-query setup-agent` | Can project agent guidance and optional git enforcement be seeded? | written, unchanged, and skipped agent files or hooks | `complete` |
|
|
101
|
+
| `scip-query setup-ci` | Can a CI workflow enforce reindex and diff-gate on pull requests? | workflow path, rendered content, and write outcome | `complete` |
|
|
102
|
+
| `scip-query uninstall` | Which scip-query-owned integrations can be removed without touching user-owned files? | removed, retained, skipped, and dry-run targets | `complete` |
|
|
103
|
+
| `scip-query watch` | What is the watcher doing, or can its background service be started or stopped? | watcher/service state, generation, activity, and errors | `complete` |
|
|
104
|
+
| `scip-query status` | Is the index fresh, complete, and usable for this project? | freshness, generation, language shards, watcher, and optional capabilities | `complete` |
|
|
105
|
+
<!-- END GENERATED AGENT CONTRACT CATALOG -->
|