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
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-directory-architecture
|
|
3
|
-
description: Review directory architecture with scip-query evidence. Use to evaluate, design, reorganize, or migrate folder structure, ownership boundaries, locality config, messy repos, AI-generated layout, or safe file-move slices.
|
|
4
|
-
commands:
|
|
5
|
-
- template: "scip-query system <scope>"
|
|
6
|
-
when: "Inventory evidence: files, symbols, deps in/out for the scope."
|
|
7
|
-
- template: "scip-query locality-candidates --json --full"
|
|
8
|
-
when: "Inventory evidence: directory-locality candidates from consumer ownership."
|
|
9
|
-
- template: "scip-query similar-files --full --json"
|
|
10
|
-
when: "Inventory evidence: files with overlapping dependency profiles."
|
|
11
|
-
- template: "scip-query cycles"
|
|
12
|
-
when: "Inventory evidence: circular dependency chains between files."
|
|
13
|
-
- template: "scip-query architecture --json"
|
|
14
|
-
when: "Measure configured boundaries, actual dependency traffic, forbidden edges, reciprocal pairs, and boundary cycles."
|
|
15
|
-
- template: "scip-query drift --architecture"
|
|
16
|
-
when: "Review direct drift findings together with boundary coverage and architecture signals."
|
|
17
|
-
- template: "scip-query co-change --json --full"
|
|
18
|
-
when: "Inventory evidence: hidden file-level coupling from git history."
|
|
19
|
-
- template: "scip-query health --write-baseline"
|
|
20
|
-
when: "Record reviewed existing debt before enabling architecture regression enforcement."
|
|
21
|
-
- template: "scip-query diff-gate"
|
|
22
|
-
when: "Verify that the current diff introduces no new declared architecture violation."
|
|
23
|
-
- template: "scip-query config-validate --json"
|
|
24
|
-
when: "Implement a slice: validate locality config after a move."
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# scip-directory-architecture
|
|
28
|
-
|
|
29
|
-
Use this skill to answer where code should live. Directory architecture is the filesystem arrangement of source files by their main reason to change; what distinguishes a good structure is that a maintainer can predict where a concept belongs before reading every import.
|
|
30
|
-
|
|
31
|
-
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
32
|
-
|
|
33
|
-
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
34
|
-
## Commands for this skill
|
|
35
|
-
|
|
36
|
-
| Command | Purpose | When |
|
|
37
|
-
| --- | --- | --- |
|
|
38
|
-
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | Inventory evidence: files, symbols, deps in/out for the scope. |
|
|
39
|
-
| `scip-query locality-candidates --json --full` | Find directory-locality and ancestry candidates from consumer ownership | Inventory evidence: directory-locality candidates from consumer ownership. |
|
|
40
|
-
| `scip-query similar-files --full --json` | Find heuristic similar-file candidates from dependency profiles | Inventory evidence: files with overlapping dependency profiles. |
|
|
41
|
-
| `scip-query cycles` | Detect circular dependency chains between files | Inventory evidence: circular dependency chains between files. |
|
|
42
|
-
| `scip-query architecture --json` | Evaluate project-owned architectural boundaries and dependency rules | Measure configured boundaries, actual dependency traffic, forbidden edges, reciprocal pairs, and boundary cycles. |
|
|
43
|
-
| `scip-query drift --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | Review direct drift findings together with boundary coverage and architecture signals. |
|
|
44
|
-
| `scip-query co-change --json --full` | Files that change together in git history without a dependency edge — hidden coupling candidates | Inventory evidence: hidden file-level coupling from git history. |
|
|
45
|
-
| `scip-query health --write-baseline` | Composite codebase health report with prioritized action list | Record reviewed existing debt before enabling architecture regression enforcement. |
|
|
46
|
-
| `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 | Verify that the current diff introduces no new declared architecture violation. |
|
|
47
|
-
| `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | Implement a slice: validate locality config after a move. |
|
|
48
|
-
|
|
49
|
-
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
50
|
-
<!-- END GENERATED SKILL COMMANDS -->
|
|
51
|
-
|
|
52
|
-
## Terms
|
|
53
|
-
|
|
54
|
-
An ownership boundary is a folder, package, module, or convention that groups code around one stable responsibility.
|
|
55
|
-
|
|
56
|
-
A dependency edge points from code that relies on something to the code it relies on. For imports, `A -> B` means A imports B.
|
|
57
|
-
|
|
58
|
-
A forbidden edge is an actual cross-boundary dependency rejected by an explicit project rule. Directory distance or an unusual import does not make an edge forbidden by itself.
|
|
59
|
-
|
|
60
|
-
A layer is a responsibility ordered by dependency direction, such as presentation depending on application. A subsystem is a responsibility that owns an end-to-end capability, such as authentication or rendering. A package is a publication or build unit. A service is an independently running unit. Do not force all four into one layer hierarchy.
|
|
61
|
-
|
|
62
|
-
A reciprocal dependency is dependency traffic in both directions between two boundaries. It is a review signal because the boundaries exert mutual change pressure, not proof that either import is wrong.
|
|
63
|
-
|
|
64
|
-
An architecture ratchet is an enforcement rule that records existing violations while preventing new ones, allowing a large codebase to improve without a speculative rewrite.
|
|
65
|
-
|
|
66
|
-
A target structure is a proposed future layout that expresses an ownership model, not merely a prettier tree.
|
|
67
|
-
|
|
68
|
-
A migration slice is the smallest set of file moves and import updates that can be verified independently.
|
|
69
|
-
|
|
70
|
-
A slop codebase is a codebase whose files are arranged by accident, convenience, or recent edits rather than stable ownership rules.
|
|
71
|
-
|
|
72
|
-
## Rules
|
|
73
|
-
|
|
74
|
-
1. Start with evidence, not taste.
|
|
75
|
-
2. Separate review from migration; do not move files unless asked.
|
|
76
|
-
3. Preserve broad boundaries when evidence shows they are intentional.
|
|
77
|
-
4. Do not reward generic `shared` unless the shared concept has a name, owner, and cross-boundary consumers.
|
|
78
|
-
5. For messy repos, produce a discovery map and decisions instead of pretending the target is obvious.
|
|
79
|
-
6. Prefer small verified moves.
|
|
80
|
-
7. Configure descriptive boundaries before closing dependency rules.
|
|
81
|
-
8. Treat graph shape as evidence about responsibilities, never as a substitute for identifying them.
|
|
82
|
-
|
|
83
|
-
## Workflow
|
|
84
|
-
|
|
85
|
-
### 1. Bound the question
|
|
86
|
-
|
|
87
|
-
Classify the request: review, target structure, locality config, migration plan, or implementation.
|
|
88
|
-
|
|
89
|
-
This step is complete only when the scope and deliverable are explicit.
|
|
90
|
-
|
|
91
|
-
### 2. Inventory evidence
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
scip-query stats
|
|
95
|
-
scip-query system <scope>
|
|
96
|
-
scip-query files <pattern>
|
|
97
|
-
scip-query surface <scope>
|
|
98
|
-
scip-query deps <file>
|
|
99
|
-
scip-query rdeps <file>
|
|
100
|
-
scip-query change-surface <file>
|
|
101
|
-
scip-query plan-context <file-or-symbol>
|
|
102
|
-
scip-query locality-candidates --json --full
|
|
103
|
-
scip-query cycles
|
|
104
|
-
scip-query architecture --json
|
|
105
|
-
scip-query drift --architecture
|
|
106
|
-
scip-query co-change
|
|
107
|
-
scip-query similar-files --min-similarity 0.6 --min-deps 3
|
|
108
|
-
scip-query similar-chains --min-similarity 0.5
|
|
109
|
-
scip-query recent-duplicates
|
|
110
|
-
scip-query drift
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Also read durable project guidance that names architecture, modules, ownership, routes, workflows, contracts, or domains.
|
|
114
|
-
|
|
115
|
-
This step is complete only when each folder under review has evidence for exports, entry points, consumers, tests, co-change partners, and claimed ownership rules.
|
|
116
|
-
|
|
117
|
-
### 3. Classify boundary maturity
|
|
118
|
-
|
|
119
|
-
Classify each candidate:
|
|
120
|
-
|
|
121
|
-
- Mature: repeated, documented, and enforced by imports, tests, routes, packages, standards, or review history.
|
|
122
|
-
- Emerging: meaningful and partly repeated, but not consistent enough to configure.
|
|
123
|
-
- Accidental: convenience bucket, legacy pile, generated artifact, recent edit cluster, or mixed reasons to change.
|
|
124
|
-
|
|
125
|
-
This step is complete only when mature, emerging, and accidental boundaries are separated.
|
|
126
|
-
|
|
127
|
-
### 4. Build a descriptive architecture model
|
|
128
|
-
|
|
129
|
-
For a large existing codebase, identify real system units before calling them layers. Inventory:
|
|
130
|
-
|
|
131
|
-
- workspace packages and public exports;
|
|
132
|
-
- applications, services, and deployable entry points;
|
|
133
|
-
- domain capabilities and end-to-end subsystems;
|
|
134
|
-
- persistence, network, rendering, compiler, and other technical responsibilities;
|
|
135
|
-
- tests, routes, contracts, and ownership or architecture documentation;
|
|
136
|
-
- dependency and co-change evidence that shows which files already move as a unit.
|
|
137
|
-
|
|
138
|
-
Add mature boundary path patterns to `.scipquery.json` without `allowedDependencies` rows first:
|
|
139
|
-
|
|
140
|
-
```json
|
|
141
|
-
{
|
|
142
|
-
"architecture": {
|
|
143
|
-
"boundaries": [
|
|
144
|
-
{ "name": "domain", "paths": ["src/domain/**"] },
|
|
145
|
-
{ "name": "runtime", "paths": ["src/runtime/**"] }
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Then run:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
scip-query config-validate --json
|
|
155
|
-
scip-query architecture --json
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Use unmapped and ambiguous files to repair boundary membership. Use actual boundary edges, reciprocal pairs, and strongly connected groups to test whether the names describe real separation.
|
|
159
|
-
|
|
160
|
-
This step is complete only when every configured boundary has a stated responsibility and the mapping gaps are understood.
|
|
161
|
-
|
|
162
|
-
### 5. Declare only supported dependency rules
|
|
163
|
-
|
|
164
|
-
An `allowedDependencies` row is closed: an outgoing target omitted from a present row is forbidden. A missing row makes no dependency claim.
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"architecture": {
|
|
169
|
-
"boundaries": [
|
|
170
|
-
{ "name": "domain", "paths": ["src/domain/**"] },
|
|
171
|
-
{ "name": "runtime", "paths": ["src/runtime/**"] }
|
|
172
|
-
],
|
|
173
|
-
"allowedDependencies": {
|
|
174
|
-
"domain": [],
|
|
175
|
-
"runtime": ["domain"]
|
|
176
|
-
},
|
|
177
|
-
"requireAcyclic": true
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
For each closed row, record the evidence for its intended direction. Do not copy the current dependency graph into the allow-list merely to obtain zero findings. Leave emerging or disputed rows undeclared.
|
|
183
|
-
|
|
184
|
-
This step is complete only when every forbidden edge is understood as either implementation debt, a false boundary, or a policy mistake.
|
|
185
|
-
|
|
186
|
-
### 6. Propose structure or decisions
|
|
187
|
-
|
|
188
|
-
Use this shape:
|
|
189
|
-
|
|
190
|
-
```markdown
|
|
191
|
-
# Directory Architecture Review
|
|
192
|
-
|
|
193
|
-
## Scope
|
|
194
|
-
## Current Structure Map
|
|
195
|
-
## Boundary Maturity
|
|
196
|
-
## Descriptive Architecture Model
|
|
197
|
-
## Dependency Rules
|
|
198
|
-
## Forbidden-Edge Ledger
|
|
199
|
-
## Reciprocal and Cycle Review
|
|
200
|
-
## Target Structure
|
|
201
|
-
## Move Ledger
|
|
202
|
-
## Locality Config
|
|
203
|
-
## No-Move Decisions
|
|
204
|
-
## Deferred Decisions
|
|
205
|
-
## Migration Order
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
List no-move decisions when broad consumers, route/package/contract surfaces, infrastructure roles, generic shared risk, or weak evidence make a move harmful.
|
|
209
|
-
|
|
210
|
-
This step is complete only when every proposed move has a reason and verification path.
|
|
211
|
-
|
|
212
|
-
### 7. Ratchet, then implement one slice when asked
|
|
213
|
-
|
|
214
|
-
For a large repository with existing violations, review the direct findings and
|
|
215
|
-
write the shared health baseline:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
scip-query drift --architecture
|
|
219
|
-
scip-query health --write-baseline
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
The baseline records stable architecture identities by boundary pair, not by
|
|
223
|
-
whichever example file happens to sort first. The default `scip-query
|
|
224
|
-
diff-gate` architecture check then compares only architecture identities; it
|
|
225
|
-
does not run every health detector. `diff-gate --baseline` remains the opt-in
|
|
226
|
-
full health ratchet and does not duplicate architecture findings.
|
|
227
|
-
|
|
228
|
-
Commit `.scipquery-baseline.json` with `.scipquery.json`. A missing baseline
|
|
229
|
-
causes the architecture gate to report that enforcement is not enabled; it
|
|
230
|
-
does not silently treat the current graph as accepted.
|
|
231
|
-
|
|
232
|
-
Prefer inspecting the least-broad edge inside a boundary cycle first, but
|
|
233
|
-
determine whether the repair is a move, dependency inversion, named shared
|
|
234
|
-
contract, boundary merge, or policy correction.
|
|
235
|
-
|
|
236
|
-
Before editing, state files to move, imports/exports/tests/docs to update, expected verification, and rollback risk. Then move the smallest high-confidence slice and run:
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
scip-query incomplete-migration
|
|
240
|
-
scip-query recent-duplicates
|
|
241
|
-
scip-query co-change <moved-file-or-config>
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
Also run project tests or typecheck for the affected workspace. If `.scipquery.json` locality changed, run:
|
|
245
|
-
|
|
246
|
-
```bash
|
|
247
|
-
scip-query config-validate
|
|
248
|
-
scip-query locality-candidates --json --full
|
|
249
|
-
scip-query architecture --json
|
|
250
|
-
scip-query drift --architecture
|
|
251
|
-
scip-query diff-gate
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
Then invoke `scip-verify`. The implementation is complete only when imports, tests, locality signals, and verification are checked.
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-doc-reconcile
|
|
3
|
-
description: Reconcile living docs with current code using scip-query doc-drift. Use for stale standards, broken file references, docs that cite moved code, agent guidance, or normative contradictions between documentation and implementation.
|
|
4
|
-
commands:
|
|
5
|
-
- template: "scip-query doc-drift --json --full"
|
|
6
|
-
when: "Build the worklist: every stale-doc candidate, ranked."
|
|
7
|
-
- template: "scip-query doc-drift <doc>"
|
|
8
|
-
when: "Reconcile one doc: staleness detail for a single target."
|
|
9
|
-
- template: "scip-query outline <subject-file>"
|
|
10
|
-
when: "Reconcile one doc: current shape of the code the doc describes."
|
|
11
|
-
- template: "scip-query trace <symbol>"
|
|
12
|
-
when: "Reconcile one doc: verify a symbol the doc mentions still exists as described."
|
|
13
|
-
- template: "scip-query code <symbol>"
|
|
14
|
-
when: "Reconcile one doc: re-derive a snippet from current source."
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# scip-doc-reconcile
|
|
18
|
-
|
|
19
|
-
Use this skill to make living documentation true again. A living doc is documentation agents or maintainers use to make present-day changes, such as AGENTS.md, CLAUDE.md, standards, command docs, or workflow docs.
|
|
20
|
-
|
|
21
|
-
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
22
|
-
|
|
23
|
-
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
|
-
## Commands for this skill
|
|
25
|
-
|
|
26
|
-
| Command | Purpose | When |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Build the worklist: every stale-doc candidate, ranked. |
|
|
29
|
-
| `scip-query doc-drift <doc>` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Reconcile one doc: staleness detail for a single target. |
|
|
30
|
-
| `scip-query outline <subject-file>` | Tree view of symbols in a file, with line ranges | Reconcile one doc: current shape of the code the doc describes. |
|
|
31
|
-
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Reconcile one doc: verify a symbol the doc mentions still exists as described. |
|
|
32
|
-
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Reconcile one doc: re-derive a snippet from current source. |
|
|
33
|
-
|
|
34
|
-
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
|
-
<!-- END GENERATED SKILL COMMANDS -->
|
|
36
|
-
|
|
37
|
-
## Rule
|
|
38
|
-
|
|
39
|
-
Separate statement types:
|
|
40
|
-
|
|
41
|
-
- Descriptive claims say what the code currently does or where it lives. Update them when code moves.
|
|
42
|
-
- Normative claims say what code must or should do. If code violates them, fix the code or escalate the contradiction; do not weaken the standard silently.
|
|
43
|
-
|
|
44
|
-
This distinction is the core of doc reconciliation.
|
|
45
|
-
|
|
46
|
-
## Workflow
|
|
47
|
-
|
|
48
|
-
### 1. Build the worklist
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
scip-query doc-drift --json --full
|
|
52
|
-
scip-query doc-drift <doc-or-tree>
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Prioritize broken references, highest staleness, then docs agents read most. Do not reconcile archival records such as dated plans, ADRs, or reports — list them in `.scipquery.json` `docs.snapshotPaths` so `doc-drift` excludes them with a labeled exclusion instead of resurfacing them every sweep.
|
|
56
|
-
|
|
57
|
-
This step is complete only when each target doc is selected for a current-use reason.
|
|
58
|
-
|
|
59
|
-
### 2. Reconcile one doc
|
|
60
|
-
|
|
61
|
-
For each doc:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
scip-query doc-drift <doc>
|
|
65
|
-
scip-query outline <subject-file>
|
|
66
|
-
scip-query system <module>
|
|
67
|
-
scip-query trace <symbol-the-doc-mentions>
|
|
68
|
-
scip-query code <symbol>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Use Git history only to understand why a subject changed, not as a substitute for current code evidence.
|
|
72
|
-
|
|
73
|
-
Fix broken references by finding the current code or deleting the obsolete claim. Rewrite stale descriptive claims from current source evidence. Re-derive snippets from `scip-query code`. Record normative contradictions instead of changing standards to bless drifted code.
|
|
74
|
-
|
|
75
|
-
This step is complete only when every edited claim is supported by evidence from this session.
|
|
76
|
-
|
|
77
|
-
### 3. Verify
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
scip-query doc-drift <doc>
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Invoke `scip-verify` when the documentation change is part of a codebase diff. The doc is complete only when staleness drops to zero or the remaining contradiction is explicitly reported.
|
|
84
|
-
|
|
85
|
-
### 4. Report
|
|
86
|
-
|
|
87
|
-
Report staleness before and after, broken references fixed, claims updated, normative contradictions, and docs recommended for deletion.
|
|
88
|
-
|
|
89
|
-
Do not claim reconciliation is done until `doc-drift` has been rerun.
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-hyper-optimization
|
|
3
|
-
description: Optimize performance scientifically with scip-query evidence. Use for benchmarking, profiling, speeding up commands, workflows, indexers, detectors, app paths, cold/warm regressions, memory/cost reduction, or comparing current-pipeline tuning with alternative designs.
|
|
4
|
-
commands:
|
|
5
|
-
- template: "scip-query bench --json"
|
|
6
|
-
when: "Target and harness: baseline timings for a scip-query command target."
|
|
7
|
-
- template: "scip-query bench --json --cold-index --include-heavy --timeout-ms 600000"
|
|
8
|
-
when: "Target and harness: cold-path and heavy-detector timings."
|
|
9
|
-
- template: "scip-query work-audit <profile> --json"
|
|
10
|
-
when: "Profile the chain: rank exact repeated computations by measured avoidable time."
|
|
11
|
-
- template: "scip-query plan-context <entry-symbol-or-file>"
|
|
12
|
-
when: "Trace behavior: pre-edit context for the profiled entry point."
|
|
13
|
-
- template: "scip-query call-graph <entry-symbol>"
|
|
14
|
-
when: "Trace behavior: callers/callees for the pipeline under test."
|
|
15
|
-
- template: "scip-query complexity <hot-symbol>"
|
|
16
|
-
when: "Diagnose: branches, cyclomatic estimate, fan-in/out for a hot symbol."
|
|
17
|
-
- template: "scip-query change-surface <touched-file> --json --full"
|
|
18
|
-
when: "Verify and report: blast radius of the optimization change."
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
# scip-hyper-optimization
|
|
22
|
-
|
|
23
|
-
Use this skill to make a command, workflow, service, page, or tool faster without changing its observable result. Hyper optimization is a bounded campaign that improves runtime, memory, or computational cost against repeatable measurements.
|
|
24
|
-
|
|
25
|
-
Campaign-level conduct — delegation, handoff verification, benchmark pre-registration across multiple phases — is `scip-conductor`; this skill is the performance-domain method that runs inside it (or standalone for a single target).
|
|
26
|
-
|
|
27
|
-
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
28
|
-
|
|
29
|
-
## Scale Gate
|
|
30
|
-
|
|
31
|
-
Choose the mode before starting:
|
|
32
|
-
|
|
33
|
-
- **QUICK** — a single command/function target with an obvious hot path: capture one `docs/benchmarks/runs/YYYY-MM-DD-<target>.jsonl` baseline, skip the ledger and the rest of the campaign artifact set, fix the hypothesis, measure after, done.
|
|
34
|
-
- **CAMPAIGN** — multiple targets, an unclear bottleneck, or a decision between competing designs: run the full machinery below (baseline doc, ledger, profiling, alternative-design track).
|
|
35
|
-
|
|
36
|
-
One sentence to decide: if you can already name the one function you expect to fix and a single before/after number will settle it, use QUICK; if naming that function requires investigation or the fix might be architectural, use CAMPAIGN.
|
|
37
|
-
|
|
38
|
-
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
39
|
-
## Commands for this skill
|
|
40
|
-
|
|
41
|
-
| Command | Purpose | When |
|
|
42
|
-
| --- | --- | --- |
|
|
43
|
-
| `scip-query bench --json` | Benchmark indexing and command runtimes for this repository | Target and harness: baseline timings for a scip-query command target. |
|
|
44
|
-
| `scip-query bench --json --cold-index --include-heavy --timeout-ms 600000` | Benchmark indexing and command runtimes for this repository | Target and harness: cold-path and heavy-detector timings. |
|
|
45
|
-
| `scip-query work-audit <profile> --json` | Rank exact repeated computations in a profiling JSONL file by measured avoidable time | Profile the chain: rank exact repeated computations by measured avoidable time. |
|
|
46
|
-
| `scip-query plan-context <entry-symbol-or-file>` | Pre-edit planning context for a symbol, file, or module | Trace behavior: pre-edit context for the profiled entry point. |
|
|
47
|
-
| `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | Trace behavior: callers/callees for the pipeline under test. |
|
|
48
|
-
| `scip-query complexity <hot-symbol>` | Per-symbol complexity: branches, cyclomatic estimate, fan-in/out, callees | Diagnose: branches, cyclomatic estimate, fan-in/out for a hot symbol. |
|
|
49
|
-
| `scip-query change-surface <touched-file> --json --full` | Pre-change briefing: exports, consumers, and blast-radius risk | Verify and report: blast radius of the optimization change. |
|
|
50
|
-
|
|
51
|
-
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
52
|
-
<!-- END GENERATED SKILL COMMANDS -->
|
|
53
|
-
|
|
54
|
-
## Terms
|
|
55
|
-
|
|
56
|
-
A measurement harness is the repeatable set of commands, fixtures, corpora, environment notes, and result documents used to decide whether performance changed.
|
|
57
|
-
|
|
58
|
-
A run history is the durable time series of measurements, with one record per run, command, subprocess, or profiled stage.
|
|
59
|
-
|
|
60
|
-
A profile span is one named timed piece of work inside the target process, such as input loading, cache reads, database queries, graph traversal, rendering, or a child process.
|
|
61
|
-
|
|
62
|
-
Hierarchical profiling is measuring coarse spans first, then recursively splitting only the dominant span until the expensive operation is concrete enough to fix.
|
|
63
|
-
|
|
64
|
-
A command ledger is the living document for one target: output contract, current pipeline, timings, tried ideas, and decisions.
|
|
65
|
-
|
|
66
|
-
## Rules
|
|
67
|
-
|
|
68
|
-
1. Do not optimize until a measurement harness exists or is created.
|
|
69
|
-
2. Capture representative inputs, output contract, and correctness checks before editing.
|
|
70
|
-
3. Record every benchmark in machine-readable run history.
|
|
71
|
-
4. Measure cold and warm paths separately when they can diverge.
|
|
72
|
-
5. Profile the internal chain before choosing a fix.
|
|
73
|
-
6. Attach cardinality to spans: files, rows, symbols, candidates, cache hits/misses, bytes, edges, nodes, retries, or output rows.
|
|
74
|
-
7. Work both tracks: tune the current pipeline and evaluate alternative algorithms or data models.
|
|
75
|
-
8. Keep only changes that improve real workloads without reducing accuracy, diagnostics, safety, or supported inputs.
|
|
76
|
-
|
|
77
|
-
## Workflow
|
|
78
|
-
|
|
79
|
-
### 1. Target and harness
|
|
80
|
-
|
|
81
|
-
If the repo is not a reliable scip-query workspace, invoke `scip-setup` first. Choose the target from user pain, telemetry, benchmark ranking, regression data, cost, frequency, or risk.
|
|
82
|
-
|
|
83
|
-
Create or update:
|
|
84
|
-
|
|
85
|
-
- `docs/benchmarks/YYYY-MM-DD-<target>-baseline.md` (CAMPAIGN only — QUICK skips this)
|
|
86
|
-
- `docs/benchmarks/runs/YYYY-MM-DD-<target>.jsonl` (both modes — the one required artifact)
|
|
87
|
-
|
|
88
|
-
For scip-query command targets, start with:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
scip-query bench --json
|
|
92
|
-
scip-query bench --json --cold-index --include-heavy --timeout-ms 600000
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
This step is complete only when baseline timings, output identity evidence, corpus, environment, and run-history location exist.
|
|
96
|
-
|
|
97
|
-
### 2. Create the ledger
|
|
98
|
-
|
|
99
|
-
CAMPAIGN only — QUICK mode skips this step and goes straight to tracing behavior with the single run-history file as its record.
|
|
100
|
-
|
|
101
|
-
Write `docs/benchmarks/YYYY-MM-DD-<target>-ledger.md` with Output Contract, Target Selection, Current Pipeline, Run History Location, Profile Spans, Bottleneck Candidates, Measurements, Current-Pipeline Optimizations, Alternative Designs, and Decisions.
|
|
102
|
-
|
|
103
|
-
This step is complete only when the ledger can explain what must not change.
|
|
104
|
-
|
|
105
|
-
### 3. Trace behavior
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
scip-query plan-context <entry-symbol-or-file>
|
|
109
|
-
scip-query trace <entry-symbol>
|
|
110
|
-
scip-query call-graph <entry-symbol>
|
|
111
|
-
scip-query code <entry-symbol>
|
|
112
|
-
scip-query dataflow <entry-symbol>
|
|
113
|
-
scip-query complexity <hot-symbol>
|
|
114
|
-
scip-query change-surface <touched-file> --json --full
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Record input parsing, option resolution, subprocesses, lookups, database queries, graph traversal, source scans, semantic calls, cache reads/writes, rendering, serialization, and verification.
|
|
118
|
-
|
|
119
|
-
This step is complete only when each major pipeline step can be timed as a profile span.
|
|
120
|
-
|
|
121
|
-
### 4. Profile the chain
|
|
122
|
-
|
|
123
|
-
0. Check whether the target app already has an instrumentation layer before adding spans — a bespoke profiling harness competes with the one the codebase already trusts. When the target is scip-query itself, its instrumentation is `src/instrumentation/profile.ts` (`profileSpan`/`profileAsyncSpan`, env-gated by `SCIP_QUERY_PROFILE`/`SCIP_QUERY_PROFILE_OUT`, with `SCIP_QUERY_PROFILE_CACHE_STATE` for cache-state labels and inherited workload/subsystem identities) — use it, don't add a parallel one.
|
|
124
|
-
1. Measure the target unprofiled.
|
|
125
|
-
2. Measure profiled once and compare overhead.
|
|
126
|
-
3. Measure distinct states: cold index, cold evidence/cache fill, warm cache hit, repeated focused run, production-like mixed state.
|
|
127
|
-
4. Add coarse spans covering the whole chain.
|
|
128
|
-
5. Split the largest workload-weighted span.
|
|
129
|
-
6. Repeat until the slow operation is a repeated lookup, initialization, scan, traversal, subprocess, serialization step, or wait.
|
|
130
|
-
7. Write span records with cardinality to run history.
|
|
131
|
-
8. When spans carry work identities, run `scip-query work-audit <profile> --json` to separate exact repeats from same-name work on different inputs.
|
|
132
|
-
|
|
133
|
-
This step is complete only when the dominant cost is concrete enough to form a falsifiable hypothesis.
|
|
134
|
-
|
|
135
|
-
### 5. Diagnose and test one hypothesis
|
|
136
|
-
|
|
137
|
-
Classify the dominant shape: cold-only setup, warm slow path, repeated setup, N+1 work, broad scan, database time, subprocess startup, serialization, or cache invalidation. Prefer fixes in this order:
|
|
138
|
-
|
|
139
|
-
1. Remove accidental repetition.
|
|
140
|
-
2. Batch scalar work.
|
|
141
|
-
3. Move stable derived work to an index/cache with invalidation.
|
|
142
|
-
4. Replace broad scans with indexed lookups.
|
|
143
|
-
5. Replace wrapper APIs only after output identity proves equivalence.
|
|
144
|
-
6. Add pruning only when mathematically equivalent or corpus-proven.
|
|
145
|
-
|
|
146
|
-
Make the smallest reversible change that tests one hypothesis.
|
|
147
|
-
|
|
148
|
-
This step is complete only when before/after timings, profile deltas, and output identity are recorded.
|
|
149
|
-
|
|
150
|
-
### 6. Verify and report
|
|
151
|
-
|
|
152
|
-
Run the narrow correctness check, benchmark cases, routed postchecks, and invoke `scip-verify`.
|
|
153
|
-
|
|
154
|
-
Reject faster changes that alter the output contract unless the user approved a behavior change.
|
|
155
|
-
|
|
156
|
-
End with a scoreboard from run history: starting value, current value, delta, scenario, corpus, commit/version, output identity, accepted changes, rejected ideas, remaining bottlenecks, and next target.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: 'SCIP Hyper Optimization'
|
|
3
|
-
short_description: 'Hierarchical profiling-driven optimization'
|
|
4
|
-
default_prompt: 'Use $scip-hyper-optimization to choose an optimization target, capture output identity, measure cold and warm controls, profile the dominant span hierarchically, then optimize without changing behavior.'
|