scip-query 0.19.5 → 0.19.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -1
- package/README.md +259 -53
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-2465DLHK.js +3 -0
- package/dist/{chunk-7GXM52MI.js → chunk-24GTWJ3N.js} +2 -2
- package/dist/{chunk-NH5ALKPW.js → chunk-2SNGN6U4.js} +2 -2
- package/dist/{chunk-3SVWW4PN.js → chunk-2U3OLUNJ.js} +2 -2
- package/dist/{chunk-XLTP42QA.js → chunk-33KUO7CG.js} +2 -2
- package/dist/{chunk-54HA4ZXH.js → chunk-33XTHFKR.js} +2 -2
- package/dist/{chunk-ZGZUZ7XE.js → chunk-3EDFLQ6A.js} +2 -2
- package/dist/chunk-3ZSJ3PWF.js +16 -0
- package/dist/{chunk-F6O7AAC3.js → chunk-43KC6EQZ.js} +2 -2
- package/dist/{chunk-I5RJM53C.js → chunk-464PLI5O.js} +2 -2
- package/dist/chunk-46XGSFNI.js +2 -0
- package/dist/{chunk-M7AIS73L.js → chunk-47BU5Z4T.js} +2 -2
- package/dist/chunk-4BV4QAZJ.js +5 -0
- package/dist/chunk-4YTUWQ6M.js +18 -0
- package/dist/{chunk-RV2FQIX3.js → chunk-5ML2BNRH.js} +2 -2
- package/dist/{chunk-6NSFJYRC.js → chunk-5YLUDDAF.js} +2 -2
- package/dist/chunk-67QRR5YC.js +6 -0
- package/dist/{chunk-GPBBJ5Y4.js → chunk-6GXYN7YA.js} +3 -3
- package/dist/{chunk-4333ETTV.js → chunk-6M7RONVB.js} +2 -2
- package/dist/chunk-6YTSKJJ3.js +2 -0
- package/dist/{chunk-QDV6RDCP.js → chunk-7FT5Y65S.js} +2 -2
- package/dist/{chunk-XTX6QHOF.js → chunk-7KYNAMMH.js} +2 -2
- package/dist/{chunk-DZ74OMG6.js → chunk-7LSVMFX7.js} +2 -2
- package/dist/{chunk-VTKGCT3V.js → chunk-7QHY3H7P.js} +2 -2
- package/dist/{chunk-MITTUCEH.js → chunk-7RAG65VK.js} +2 -2
- package/dist/{chunk-25LPM4DG.js → chunk-7SWJEWJF.js} +2 -2
- package/dist/{chunk-52ZYCAEO.js → chunk-7VCOXZH3.js} +2 -2
- package/dist/chunk-A2TNXAXO.js +8 -0
- package/dist/{chunk-IUFDSKGG.js → chunk-A3QXWFBK.js} +2 -2
- package/dist/{chunk-4T3LTWUS.js → chunk-AA4UWRNL.js} +2 -2
- package/dist/{chunk-4SALD7RU.js → chunk-ACAM6O5R.js} +2 -2
- package/dist/chunk-APMMR5Y2.js +2 -0
- package/dist/chunk-AQOFWNQJ.js +1 -0
- package/dist/chunk-AZFUMCQB.js +2 -0
- package/dist/{chunk-M7MTH5NR.js → chunk-BDOIKGDI.js} +2 -2
- package/dist/{chunk-BTEE5NZQ.js → chunk-BNXICU42.js} +2 -2
- package/dist/chunk-C5Q44Q5D.js +3 -0
- package/dist/{chunk-EOOJGLDU.js → chunk-CTF2GDEX.js} +2 -2
- package/dist/chunk-DHEQMPLW.js +2 -0
- package/dist/{chunk-IZKFSVBV.js → chunk-DQBCO2UY.js} +2 -2
- package/dist/{chunk-7B3UPBVA.js → chunk-DQGSM7RZ.js} +2 -2
- package/dist/chunk-E2LAW7SL.js +30 -0
- package/dist/chunk-E3HYEQO7.js +2 -0
- package/dist/chunk-E4NFOAD4.js +6 -0
- package/dist/chunk-E5HNT4X2.js +3 -0
- package/dist/{chunk-J77UIT3I.js → chunk-ELLMY7XJ.js} +2 -2
- package/dist/chunk-FD3HFKXR.js +5 -0
- package/dist/{chunk-SOAT6NLA.js → chunk-FIJCV235.js} +2 -2
- package/dist/{chunk-H7UKLTWJ.js → chunk-FJ5UDTQF.js} +2 -2
- package/dist/{chunk-HEXVUYFQ.js → chunk-GHKEJTCE.js} +2 -2
- package/dist/{chunk-LBMJEAEW.js → chunk-GLZTVKAB.js} +3 -3
- package/dist/{chunk-FWUUZTIO.js → chunk-GNC4JVAN.js} +2 -2
- package/dist/chunk-HIB452NU.js +949 -0
- package/dist/{chunk-NRCXJDHL.js → chunk-HZYDQPNY.js} +2 -2
- package/dist/chunk-IF6FP6B2.js +66 -0
- package/dist/{chunk-4RSI5EMG.js → chunk-JAY7YWS3.js} +2 -2
- package/dist/{chunk-STOL2BTL.js → chunk-JHF3E4YM.js} +2 -2
- package/dist/chunk-JORHF5AL.js +108 -0
- package/dist/{chunk-A2EZV2UM.js → chunk-K2WO7XY7.js} +2 -2
- package/dist/chunk-KFZNKUNT.js +2 -0
- package/dist/{chunk-YVVCVR2L.js → chunk-KJ2IIBZN.js} +2 -2
- package/dist/{chunk-QGXBRIM5.js → chunk-KKME5ZAI.js} +2 -2
- package/dist/chunk-KSGTULOS.js +9 -0
- package/dist/{chunk-UOAV44HR.js → chunk-KXDJAG4N.js} +3 -3
- package/dist/{chunk-UKZBVX4U.js → chunk-L4S2A7BV.js} +2 -2
- package/dist/chunk-LP3ARJKF.js +8 -0
- package/dist/chunk-LSOR3LQG.js +3 -0
- package/dist/{chunk-Q4IIEGXJ.js → chunk-MLFZP76A.js} +2 -2
- package/dist/{chunk-WQTAC523.js → chunk-MNSTUIDD.js} +2 -2
- package/dist/{chunk-VXQNNXJE.js → chunk-MSBDMFER.js} +2 -2
- package/dist/{chunk-X6D5IC6I.js → chunk-MZZBAITE.js} +5 -5
- package/dist/{chunk-I5AWSI2G.js → chunk-NE3TZUCI.js} +2 -2
- package/dist/{chunk-6E7UTQY7.js → chunk-NTUMF2X3.js} +2 -2
- package/dist/{chunk-S44IULR6.js → chunk-O23I56NA.js} +2 -2
- package/dist/{chunk-CFMXJPHH.js → chunk-O3O4XXO6.js} +2 -2
- package/dist/{chunk-IG7N5ZIK.js → chunk-OUBAF226.js} +2 -2
- package/dist/chunk-P3UO3EH3.js +2 -0
- package/dist/{chunk-YNRNA5LK.js → chunk-QGGLL3UH.js} +2 -2
- package/dist/chunk-QIQ63BHW.js +16 -0
- package/dist/{chunk-VGRICIQI.js → chunk-QJIVBYEK.js} +2 -2
- package/dist/chunk-QOXBSI6G.js +20 -0
- package/dist/chunk-QXK6UUSM.js +2 -0
- package/dist/{chunk-XYADIZHU.js → chunk-RA3AYNWP.js} +2 -2
- package/dist/chunk-RJMDJR3A.js +2 -0
- package/dist/{chunk-NSS46APD.js → chunk-RLH5VUMG.js} +2 -2
- package/dist/{chunk-GBQ5NYPR.js → chunk-S4S2WOIX.js} +6 -6
- package/dist/{chunk-YIJ7ZAA4.js → chunk-SERUIGV5.js} +2 -2
- package/dist/{chunk-FECYOO5O.js → chunk-SMQWE25B.js} +2 -2
- package/dist/{chunk-R4FQGQ4X.js → chunk-TAVELHYR.js} +2 -2
- package/dist/{chunk-U6WNH5GC.js → chunk-TWMJ3Y3G.js} +2 -2
- package/dist/chunk-VAXNI5NE.js +146 -0
- package/dist/chunk-VVY2G5ET.js +2 -0
- package/dist/{chunk-WER3B7MI.js → chunk-W3DBTGL4.js} +2 -2
- package/dist/{chunk-CNKAGUPL.js → chunk-WANA4KAQ.js} +2 -2
- package/dist/chunk-WJL2L6MV.js +60 -0
- package/dist/chunk-WUW7YUAH.js +11 -0
- package/dist/{chunk-QVWS2VWZ.js → chunk-WWKWUPSU.js} +2 -2
- package/dist/{chunk-ABMYA4TN.js → chunk-WY45BHKQ.js} +2 -2
- package/dist/chunk-X4FR5BZF.js +9 -0
- package/dist/chunk-X6RKPDY7.js +2 -0
- package/dist/{chunk-ZXJYMGD3.js → chunk-YLFORA5G.js} +2 -2
- package/dist/{chunk-KP6XRY5Z.js → chunk-YTVWB7YJ.js} +2 -2
- package/dist/{chunk-4XTA5OMB.js → chunk-ZCEJ63SP.js} +2 -2
- package/dist/{chunk-HKEHS2AS.js → chunk-ZJ5CBXK3.js} +2 -2
- package/dist/chunk-ZL2OGDCD.js +2 -0
- package/dist/cli.js +8 -3
- package/dist/command-descriptors-ZW5J4ZEM.js +631 -0
- package/dist/{config-types-D20KuvvZ.d.ts → config-types-B6MEoRNy.d.ts} +8 -0
- package/dist/{db-G_II8yXU.d.ts → db-DYLKr9Wn.d.ts} +18 -1
- package/dist/direct-navigation-42YHQPOI.js +3 -0
- package/dist/{health-oblXYgkF.d.ts → health-DgxIDXJC.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 +26 -26
- package/dist/reindex.d.ts +14 -4
- package/dist/reindex.js +34 -38
- package/dist/runtime.d.ts +167 -18
- 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-Cc6c00-a.d.ts} +6 -2
- package/dist/watch-server.js +5 -5
- package/docs/AGENT_GUIDE.md +20 -4
- package/docs/AI_FAILURE_MODES.md +17 -17
- package/docs/API_EVOLUTION.md +71 -0
- package/docs/CLI_JSON_OUTPUT.md +168 -0
- package/docs/COMMAND_REFERENCE.md +10 -6
- package/docs/COMMITTED_RECORD_COMPATIBILITY.md +117 -0
- package/docs/CONFIGURATION_WRITE_SAFETY.md +130 -0
- package/docs/DETECTOR_GUIDE.md +46 -46
- 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/SECURITY_MODEL.md +129 -0
- package/docs/TELEMETRY_RETENTION.md +77 -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/cli-output-page.schema.json +104 -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 +21 -10
- 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 +90 -229
- 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 +77 -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} +11 -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 +54 -85
- 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 +53 -98
- package/skills/scip-query/agents/openai.yaml +2 -2
- package/skills/scip-setup/SKILL.md +69 -181
- 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 +126 -84
- 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-2YU7I3QO.js +0 -2
- package/dist/chunk-3MJ5YA4Y.js +0 -16
- package/dist/chunk-64RFXJT5.js +0 -16
- package/dist/chunk-7UY7SD7D.js +0 -927
- package/dist/chunk-B5NLK2B3.js +0 -6
- package/dist/chunk-C2QSK7E7.js +0 -2
- package/dist/chunk-C7NIYIQ4.js +0 -67
- package/dist/chunk-D4U5Q3FT.js +0 -7
- package/dist/chunk-DGAGY7RJ.js +0 -60
- package/dist/chunk-DLWR3NUU.js +0 -5
- 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-NPKYOIFM.js +0 -18
- package/dist/chunk-NZL2DBT7.js +0 -2
- package/dist/chunk-OMPZHGHO.js +0 -2
- package/dist/chunk-P2PC2WGR.js +0 -2
- package/dist/chunk-Q3AFUTGB.js +0 -8
- package/dist/chunk-QRGV2F7L.js +0 -2
- package/dist/chunk-TW4OG5FC.js +0 -4
- package/dist/chunk-U7DSEKOM.js +0 -30
- package/dist/chunk-V27BEQJN.js +0 -7
- package/dist/chunk-XAGAZSFE.js +0 -6
- package/dist/chunk-XBN5VO53.js +0 -2
- package/dist/chunk-YGAGTIDK.js +0 -11
- package/dist/command-descriptors-N2TL4XM2.js +0 -613
- package/dist/direct-navigation-DUCZCTOE.js +0 -3
- package/skills/scip-api-impact/SKILL.md +0 -140
- 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 -107
- package/skills/scip-claim-audit/agents/openai.yaml +0 -4
- package/skills/scip-cleanup-audit/SKILL.md +0 -130
- package/skills/scip-cleanup-audit/agents/openai.yaml +0 -4
- package/skills/scip-cleanup-improve/SKILL.md +0 -85
- package/skills/scip-cleanup-improve/agents/openai.yaml +0 -4
- package/skills/scip-concrete-plan/HIGH_ASSURANCE.md +0 -317
- package/skills/scip-concrete-plan/SKILL.md +0 -105
- 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 -266
- 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 -151
- 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 -133
- package/skills/scip-triage-issue/agents/openai.yaml +0 -4
- package/skills/scip-twin-drift/SKILL.md +0 -109
- 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,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 | Returns | Coverage | When |
|
|
42
|
-
| --- | --- | --- | --- | --- |
|
|
43
|
-
| `scip-query bench --json` | Benchmark indexing and command runtimes for this repository | timings, command outcomes, environment, and optional profiles | `sampled` | 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 | timings, command outcomes, environment, and optional profiles | `sampled` | 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 | ranked repeated-work groups, counts, and avoidable duration | `bounded` | 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 | 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` | 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 | caller and callee symbol identities with files | `bounded` | 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 | LOC, branch, complexity, callee, fan-in, and fan-out counts | `bounded` | 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 | defined symbols, external consumer counts, and risk levels | `bounded` | 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.'
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-integrity-audit
|
|
3
|
-
description: Audit whether implementations are real with scip-query. Use for suspected faked or half-implemented features, decorative checkers or verifiers that never fail, dead code paths hidden behind graceful fallbacks, metrics that may be lying, or a "does any of this actually work" interrogation of a system.
|
|
4
|
-
commands:
|
|
5
|
-
- scip-query refs <symbol>
|
|
6
|
-
- scip-query code <symbol>
|
|
7
|
-
- scip-query trace <symbol>
|
|
8
|
-
- scip-query call-graph <symbol>
|
|
9
|
-
- scip-query twin-drift -s <scope> --json
|
|
10
|
-
- scip-query twin-ab <symbolA> <symbolB>
|
|
11
|
-
- scip-query outline <file> --signatures
|
|
12
|
-
- scip-query decorative-checkers -s <scope> --json
|
|
13
|
-
- scip-query not-implemented -s <scope> --json
|
|
14
|
-
- scip-query test-quality -s <scope> --json
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# scip-integrity-audit
|
|
18
|
-
|
|
19
|
-
Use this skill to interrogate whether a system's claims are backed by real
|
|
20
|
-
implementations. Structural review asks "is this well organized?"
|
|
21
|
-
(`scip-maintainability`); this skill asks **"is this real?"** — it hunts
|
|
22
|
-
decorative checkers, adapters written against imagined data, features that
|
|
23
|
-
have silently never run, and numbers nobody ever recomputed.
|
|
24
|
-
|
|
25
|
-
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
26
|
-
|
|
27
|
-
## The Stance
|
|
28
|
-
|
|
29
|
-
A green result you have never seen fail is unverified. Every status word,
|
|
30
|
-
banner, and metric is testimony from the code, not evidence about the code —
|
|
31
|
-
cross-examine the producer before believing it. The most dangerous code is
|
|
32
|
-
not broken code; it is code that reports success without doing the work.
|
|
33
|
-
|
|
34
|
-
## Drills
|
|
35
|
-
|
|
36
|
-
Run all five over the chosen scope. Each has a checkable exit.
|
|
37
|
-
|
|
38
|
-
### 1. Falsify every checker
|
|
39
|
-
|
|
40
|
-
Inventory everything in scope that accepts/rejects, passes/fails, or
|
|
41
|
-
validates (checkers, gates, verifiers, validators — find producers with
|
|
42
|
-
`refs`/`call-graph` on the status words in output). For each one, construct
|
|
43
|
-
an input that MUST fail — a wrong binding, a corrupt file, an impossible
|
|
44
|
-
value — and run it. A checker that passes its should-fail input is
|
|
45
|
-
decorative: file it as a defect, not a note.
|
|
46
|
-
Before filing, attempt the defense: an accusation triggers a rewrite, so
|
|
47
|
-
search for the failure exit the drill may have missed — a config-gated
|
|
48
|
-
branch, an async rejection, one-hop delegation (the calibration's known
|
|
49
|
-
noise archetypes). File the defect with the executed should-fail input
|
|
50
|
-
attached and the defense attempt noted; a defense that succeeds clears the
|
|
51
|
-
checker and stays in the record as its witness.
|
|
52
|
-
Complete only when every checker in scope has been witnessed rejecting a
|
|
53
|
-
constructed should-fail input, or is listed with a reason it cannot be.
|
|
54
|
-
|
|
55
|
-
Mechanized by: `scip-query decorative-checkers` finds `validate*`/`verify*`/
|
|
56
|
-
`check*`/`assert*`/`is*`/`has*` callables with no reachable failure exit
|
|
57
|
-
anywhere in their body (calibrated 2026-07-03 against two external repos —
|
|
58
|
-
standalone-only; noise archetypes past one-hop delegation in
|
|
59
|
-
`docs/validation/2026-07-03-integrity-detector-calibration.md`). Run it first
|
|
60
|
-
to shortlist candidates before hand-constructing should-fail inputs.
|
|
61
|
-
|
|
62
|
-
### 2. Diff every adapter against captured reality
|
|
63
|
-
|
|
64
|
-
For each parser/adapter of an external format (tool output, XML/JSON
|
|
65
|
-
schemas, protocol messages): obtain ONE real sample from the actual source
|
|
66
|
-
and diff it against the code's assumptions and the tests' fixtures. Ask of
|
|
67
|
-
every fixture: was this generated from reality, or imagined? A parser and a
|
|
68
|
-
hand-written fixture can validate each other's shared hallucination
|
|
69
|
-
indefinitely.
|
|
70
|
-
Complete only when every adapter has been checked against at least one
|
|
71
|
-
captured-real sample.
|
|
72
|
-
|
|
73
|
-
### 3. Autopsy every fallback
|
|
74
|
-
|
|
75
|
-
Graceful degradation is where dead features hide: a primary path that has
|
|
76
|
-
never worked looks identical to a healthy fallback. For every catch block,
|
|
77
|
-
`?? fallback`, and degraded mode in scope: produce an execution witness that
|
|
78
|
-
the PRIMARY path runs (a test, a probe, a log). Use `scip-probe-reachability`
|
|
79
|
-
for parser/AST branch reachability. A fallback that always fires means the
|
|
80
|
-
feature above it is dead — date of death: birth.
|
|
81
|
-
Complete only when every fallback's primary path has a witness or a filed
|
|
82
|
-
defect.
|
|
83
|
-
|
|
84
|
-
Mechanized by: `scip-query not-implemented` finds reachable placeholder
|
|
85
|
-
stubs (`throw new Error('not implemented')`, TODO-comment + return-default,
|
|
86
|
-
empty bodies) that a real caller, entry surface, or package-surface export
|
|
87
|
-
can actually reach — the graph fact that separates "primary path never
|
|
88
|
-
built" from `dead`'s "primary path built but unreferenced." Standalone-only
|
|
89
|
-
(calibrated 2026-07-03; 0 live findings on two external repos post-fix, see
|
|
90
|
-
the calibration report) — treat a clean run as "nothing this shape found,"
|
|
91
|
-
not as "every fallback's primary path is proven live."
|
|
92
|
-
|
|
93
|
-
### 4. Hand-compute every metric twice
|
|
94
|
-
|
|
95
|
-
For each number the system reports (scores, counts, estimates): pick two
|
|
96
|
-
concrete instances, compute the expected value by hand from first
|
|
97
|
-
principles, and compare. Off-by-a-factor errors (double counting, inflated
|
|
98
|
-
estimates) survive for years because nobody ever recomputes one sample.
|
|
99
|
-
Complete only when every reported metric has two hand-verified samples.
|
|
100
|
-
|
|
101
|
-
### 5. Cross-examine same-concept twins
|
|
102
|
-
|
|
103
|
-
Where one concept is computed in more than one place, feed both the same
|
|
104
|
-
input and require the same answer. `twin-drift` finds the same-name cases
|
|
105
|
-
mechanically; for same-concept-different-name pairs, trace the concept's
|
|
106
|
-
consumers with `refs` and compare implementations with `code`. Once a pair
|
|
107
|
-
is identified, `scip-query twin-ab <symbolA> <symbolB>` scaffolds a
|
|
108
|
-
table-driven vitest file that imports both and asserts equal output —
|
|
109
|
-
fill in the input table and run it. Disagreement between twins means at
|
|
110
|
-
least one is wrong — determine which before consolidating.
|
|
111
|
-
Complete only when every discovered twin pair has been compared on a shared
|
|
112
|
-
input.
|
|
113
|
-
|
|
114
|
-
## Severity
|
|
115
|
-
|
|
116
|
-
Rank findings by what the failure does to a user who trusted the output:
|
|
117
|
-
a decorative checker or false "verified" banner outranks everything; a
|
|
118
|
-
dead-but-fallbacked feature outranks a wrong metric; a wrong metric outranks
|
|
119
|
-
structural mess. Route structural findings to `scip-maintainability` —
|
|
120
|
-
they are real but they are not lies.
|
|
121
|
-
|
|
122
|
-
## Reporting
|
|
123
|
-
|
|
124
|
-
File each finding with: the claim as displayed, the producer (file:line),
|
|
125
|
-
the drill that exposed it, the should-fail input or real sample used, and
|
|
126
|
-
the fix. The audit is complete only when every drill's exit criterion is
|
|
127
|
-
met for the scope, and every defect found has a regression artifact — a
|
|
128
|
-
test, fixture, or model that fails on the pre-fix behavior.
|
|
129
|
-
|
|
130
|
-
End with a derived verdict, not an impression:
|
|
131
|
-
|
|
132
|
-
```markdown
|
|
133
|
-
Integrity: <scope> — <c> checkers witnessed failing, <a> adapters diffed
|
|
134
|
-
against reality, <f> fallback primaries witnessed live, <m> metrics
|
|
135
|
-
recomputed, <t> twins compared; <d> defects filed, <u> unverifiable (reasons)
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
A suspect scope that produces zero defects is itself a claim: state what
|
|
139
|
-
made the suspicion wrong, or rerun the drill that should have caught it.
|
|
140
|
-
|
|
141
|
-
A regression artifact that doesn't actually assert anything, or asserts the
|
|
142
|
-
same literal it stubbed into its own mock, is a fake witness — the same
|
|
143
|
-
"reports success without doing the work" failure mode this skill hunts in
|
|
144
|
-
production code, just relocated to the test suite. Run `scip-query
|
|
145
|
-
test-quality -s <scope>` over the audit's own regression artifacts (and,
|
|
146
|
-
periodically, over the suite at large) to catch this: assertion-free test
|
|
147
|
-
bodies, a skipped-test ledger with git-blame age (a skip with no fix date
|
|
148
|
-
attached is a claim nobody is checking), and mock-echo (a test that only
|
|
149
|
-
proves its own stub). Standalone-only, mixed precision by sub-check
|
|
150
|
-
(calibrated 2026-07-03): assertion-free and skipped are high-precision;
|
|
151
|
-
mock-echo is intentionally low-precision (syntactic same-literal matching,
|
|
152
|
-
not dataflow) — treat its output as a reviewed candidate list, not a verdict.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "scip integrity audit"
|
|
3
|
-
short_description: "Interrogate whether implementations are real: falsify checkers, diff adapters against reality, autopsy fallbacks."
|
|
4
|
-
default_prompt: "Run the scip-integrity-audit drills over this codebase and report every decorative checker, dead-behind-fallback feature, and lying metric."
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-language-playbook
|
|
3
|
-
description: Choose language-specific scip-query commands. Use when entering an unfamiliar TypeScript, Python, Java, Scala, Kotlin, Rust, Go, C, C++, Ruby, C#, Visual Basic, Dart, PHP, Clojure, ClojureScript, or Vue codebase and you need high-signal exploration or de-bloat commands first.
|
|
4
|
-
commands:
|
|
5
|
-
- template: 'scip-query stats'
|
|
6
|
-
when: 'Universal first pass: repo-wide size and shape.'
|
|
7
|
-
- template: 'scip-query files <feature-or-module-name>'
|
|
8
|
-
when: 'Universal first pass: locate the files for a feature or module.'
|
|
9
|
-
- template: 'scip-query outline <file>'
|
|
10
|
-
when: 'Universal first pass: symbol tree for a candidate file.'
|
|
11
|
-
- template: 'scip-query trace <symbol>'
|
|
12
|
-
when: 'Universal first pass: definition plus every reference.'
|
|
13
|
-
- template: 'scip-query code <symbol>'
|
|
14
|
-
when: 'Universal first pass: confirm behavior claims with source.'
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# scip-language-playbook
|
|
18
|
-
|
|
19
|
-
Use this reference to pick the shortest command path from "what is this system doing?" to verified language-specific answers.
|
|
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 | Returns | Coverage | When |
|
|
27
|
-
| --- | --- | --- | --- | --- |
|
|
28
|
-
| `scip-query stats` | Show index statistics | document, symbol, definition, reference, size, and build-time totals | `complete` | Universal first pass: repo-wide size and shape. |
|
|
29
|
-
| `scip-query files <feature-or-module-name>` | Find files matching a pattern | matching file paths | `complete` | Universal first pass: locate the files for a feature or module. |
|
|
30
|
-
| `scip-query outline <file>` | Tree view of symbols in a file, with line ranges | symbol names, nesting, and line ranges | `complete` | Universal first pass: symbol tree for a candidate file. |
|
|
31
|
-
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Universal first pass: definition plus every reference. |
|
|
32
|
-
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | definition identity, source, and line range | `complete` | Universal first pass: confirm behavior claims with 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
|
-
## Rules
|
|
38
|
-
|
|
39
|
-
1. Start with the active language row before broader or noisier commands.
|
|
40
|
-
2. Pair relationship commands with `code` for behavior claims.
|
|
41
|
-
3. For de-bloat, cross-check multiple detector families.
|
|
42
|
-
4. When a command is weaker in a language, use the listed fallback.
|
|
43
|
-
|
|
44
|
-
## Universal First Pass
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
scip-query stats
|
|
48
|
-
scip-query kind-counts
|
|
49
|
-
scip-query files <feature-or-module-name>
|
|
50
|
-
scip-query outline <file>
|
|
51
|
-
scip-query by-kind function --scope <feature-or-module-name>
|
|
52
|
-
scip-query trace <symbol>
|
|
53
|
-
scip-query hierarchy <symbol>
|
|
54
|
-
scip-query code <symbol>
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Language Rows
|
|
58
|
-
|
|
59
|
-
| Language | Use first | De-bloat set | Fallback note |
|
|
60
|
-
| ----------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
61
|
-
| TypeScript | `system`, `surface`, `call-graph`, `dataflow`, `change-surface` | `health`, `dead`, `similar`, `similar --plan`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `unused-imports`, `redundant-reexports` | Strongest verified surface. Vue script blocks use this path too. |
|
|
62
|
-
| Python | `outline`, `kind-counts --scope`, `system`, `imports`, `imported-by`, `call-graph` | `dead`, `unused-imports`, `drift`, `similar-signatures`, `complexity`, `complexity-hotspots` | Prefer source-backed fallbacks when call/kind metadata is sparse. |
|
|
63
|
-
| Java | `system`, `surface`, `call-graph`, `deps`, `rdeps`, `slice` | `health`, `dead`, `similar-files`, `similar-chains`, `wrapper-candidates`, `stale-abstractions`, `extract-candidates` | Use module/package surfaces to avoid class-only tunnel vision. |
|
|
64
|
-
| Scala | `surface`, `trace`, `call-graph`, `imports`, `imported-by` | `dead`, `similar-files`, `similar-chains`, `extract-candidates`, `stale-abstractions`, `unused-imports` | Confirm behavior with `code`. |
|
|
65
|
-
| Kotlin | `surface`, `trace`, `call-graph`, `imports`, `imported-by` | `dead`, `similar-files`, `similar-chains`, `extract-candidates`, `stale-abstractions`, `unused-imports` | Confirm behavior with `code`. |
|
|
66
|
-
| Rust | `trace`, `call-graph`, `refs`, `methods`, `surface` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-signatures`, `redundant-reexports` | Methods and surface are usually high signal. |
|
|
67
|
-
| Go | `surface`, `trace`, `call-graph`, `refs`, `fan-in` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `similar-files`, `similar-signatures`, `complexity` | Use package-level surfaces and confirm exported APIs before cleanup. |
|
|
68
|
-
| C++ | `trace`, `refs`, `methods`, `surface`, `code` | `dead`, `wrapper-candidates`, `similar-files`, `similar-chains`, `extract-candidates`, `unused-imports` | Try `call-graph` after trace/refs/code. |
|
|
69
|
-
| C | `trace`, `call-graph`, `refs`, `outline`, `fan-out` | `dead`, `wrapper-candidates`, `similar-files`, `similar-chains`, `extract-candidates`, `unused-imports` | Skip class/member commands. |
|
|
70
|
-
| Ruby | `trace`, `call-graph`, `refs`, `imports`, `imported-by` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures` | Confirm dynamic-looking paths with source. |
|
|
71
|
-
| C# | `surface`, `call-graph`, `trace`, `methods`, `refs` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `extract-candidates` | Use surfaces and methods together. |
|
|
72
|
-
| Visual Basic | `surface`, `call-graph`, `trace`, `methods`, `refs` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `extract-candidates` | Use surfaces and methods together. |
|
|
73
|
-
| Dart | `surface`, `call-graph`, `trace`, `imports`, `imported-by` | `dead`, `wrapper-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures`, `redundant-reexports` | Confirm exported API shape with `surface`. |
|
|
74
|
-
| PHP | `trace`, `refs`, `methods`, `surface`, `code` | `dead`, `wrapper-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures`, `extract-candidates` | Try `call-graph` after trace/refs/code. |
|
|
75
|
-
| Clojure / ClojureScript | `files`, `outline`, `trace`, `refs`, `call-graph` | `dead`, `similar-files`, `similar-signatures`, `complexity`, `complexity-hotspots` | SCIP indexing comes from `scip-clojure`; no TypeScript-style semantic provider is available. |
|
|
76
|
-
|
|
77
|
-
## Minimal Workflows
|
|
78
|
-
|
|
79
|
-
Understand a feature:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
scip-query files <feature>
|
|
83
|
-
scip-query outline <file>
|
|
84
|
-
scip-query kind-counts --scope <feature>
|
|
85
|
-
scip-query fan-out <file>
|
|
86
|
-
scip-query trace <entry-symbol>
|
|
87
|
-
scip-query call-graph <entry-symbol>
|
|
88
|
-
scip-query code <entry-symbol>
|
|
89
|
-
scip-query surface <module>
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Find DRY and de-bloat wins:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
scip-query health
|
|
96
|
-
scip-query dead
|
|
97
|
-
scip-query wrapper-candidates
|
|
98
|
-
scip-query passthrough-candidates
|
|
99
|
-
scip-query stale-abstractions
|
|
100
|
-
scip-query similar-files
|
|
101
|
-
scip-query similar-chains
|
|
102
|
-
scip-query similar-signatures
|
|
103
|
-
scip-query extract-candidates
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
When recommending a command sequence, name the language and why these commands are highest-signal for it.
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scip-maintainability
|
|
3
|
-
description: Review maintainability with scip-query evidence. Use for hidden policies, scattered concepts, accidental variation, weak boundaries, system compression, architecture smells, structural refactors, or maintainability improvements beyond health scores.
|
|
4
|
-
commands:
|
|
5
|
-
- template: 'scip-query stats'
|
|
6
|
-
when: 'Map evidence: repo-wide size before bounding the review.'
|
|
7
|
-
- template: 'scip-query system <scope>'
|
|
8
|
-
when: 'Map evidence: files, symbols, deps in/out for the scope.'
|
|
9
|
-
- template: 'scip-query surface <scope>'
|
|
10
|
-
when: 'Map evidence: what consumers actually use from the scope.'
|
|
11
|
-
- template: 'scip-query change-surface <file>'
|
|
12
|
-
when: 'Map evidence: exports, consumers, and blast-radius risk.'
|
|
13
|
-
- template: 'scip-query affected <symbol>'
|
|
14
|
-
when: 'Map evidence: transitive consumers of a candidate symbol.'
|
|
15
|
-
- template: 'scip-query drift --patterns --architecture'
|
|
16
|
-
when: 'Map evidence: declared architecture violations plus boundary and pattern signals; treat opt-in pattern hits as leads, not findings.'
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
# scip-maintainability
|
|
20
|
-
|
|
21
|
-
Use this skill to review a codebase as a maintainer who must make future changes safely. Maintainability is the degree to which real code units let a maintainer understand, verify, and change behavior without rediscovering hidden knowledge.
|
|
22
|
-
|
|
23
|
-
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
24
|
-
|
|
25
|
-
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
|
-
## Commands for this skill
|
|
27
|
-
|
|
28
|
-
| Command | Purpose | Returns | Coverage | When |
|
|
29
|
-
| --- | --- | --- | --- | --- |
|
|
30
|
-
| `scip-query stats` | Show index statistics | document, symbol, definition, reference, size, and build-time totals | `complete` | Map evidence: repo-wide size before bounding the review. |
|
|
31
|
-
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Map evidence: files, symbols, deps in/out for the scope. |
|
|
32
|
-
| `scip-query surface <scope>` | What symbols consumers actually use from this module | consumer paths and consumed symbol identities | `complete` | Map evidence: what consumers actually use from the scope. |
|
|
33
|
-
| `scip-query change-surface <file>` | Pre-change briefing: exports, consumers, and blast-radius risk | defined symbols, external consumer counts, and risk levels | `bounded` | Map evidence: exports, consumers, and blast-radius risk. |
|
|
34
|
-
| `scip-query affected <symbol>` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Map evidence: transitive consumers of a candidate symbol. |
|
|
35
|
-
| `scip-query drift --patterns --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | drifted symbol families, files, and evidence | `bounded` | Map evidence: declared architecture violations plus boundary and pattern signals; treat opt-in pattern hits as leads, not findings. |
|
|
36
|
-
|
|
37
|
-
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
|
-
<!-- END GENERATED SKILL COMMANDS -->
|
|
39
|
-
|
|
40
|
-
## Terms
|
|
41
|
-
|
|
42
|
-
A code smell is an observable codebase fact that predicts avoidable future mistakes because the same knowledge must be rediscovered, synchronized, or defended in more than one place.
|
|
43
|
-
|
|
44
|
-
A concept boundary is the line around code units that exist for one reason to change.
|
|
45
|
-
|
|
46
|
-
A hidden policy is a rule for choosing behavior when several plausible behaviors exist, but the rule lives in local branches, comments, conventions, or caller folklore instead of a named mechanism.
|
|
47
|
-
|
|
48
|
-
A lifecycle is a repeatable sequence of states or steps that makes a result valid.
|
|
49
|
-
|
|
50
|
-
Accidental variation is difference in code shape that does not correspond to behavior, domain facts, runtime constraints, or external contracts.
|
|
51
|
-
|
|
52
|
-
Essential variation is difference that must remain because the real units differ: language grammars, user-visible APIs, runtime environments, or compatibility boundaries.
|
|
53
|
-
|
|
54
|
-
System compression is replacing several mechanisms that perform the same role, policy, lifecycle, or surface job with fewer named mechanisms that preserve behavior.
|
|
55
|
-
|
|
56
|
-
A unifying definition is the single essential trait that makes several code sites one concept; what makes it a test is that failing to state it proves the sites are not one concept, and consolidating them anyway would package-deal essential variation into a false abstraction.
|
|
57
|
-
|
|
58
|
-
## Rules
|
|
59
|
-
|
|
60
|
-
1. Ground claims in files, symbols, references, call graphs, dependencies, surfaces, and blast radius.
|
|
61
|
-
2. Do not chase health scores; detector counts are clues, not objectives.
|
|
62
|
-
3. Name concrete referents before naming the smell.
|
|
63
|
-
4. Preserve essential variation.
|
|
64
|
-
5. Add an abstraction only when it removes hidden policy, names a lifecycle, enforces a rule, or reduces concept count.
|
|
65
|
-
6. Prefer deletion, inlining, merging, generation, or enforcement before broad frameworks.
|
|
66
|
-
7. A scattered-concept or consolidation claim ships its unifying definition. If no single essential trait covers every cited site, the variation is essential: record it and do not consolidate.
|
|
67
|
-
|
|
68
|
-
## Workflow
|
|
69
|
-
|
|
70
|
-
### 1. Bound the review
|
|
71
|
-
|
|
72
|
-
Restate the question:
|
|
73
|
-
|
|
74
|
-
```text
|
|
75
|
-
What future-maintenance mistakes does this structure invite, and what smaller named mechanisms would prevent them without hiding real variation?
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Name the scope: repo, module, command family, query family, runtime surface, fixture set, or feature path.
|
|
79
|
-
|
|
80
|
-
This step is complete only when the review question and scope are concrete.
|
|
81
|
-
|
|
82
|
-
### 2. Map evidence
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
scip-query stats
|
|
86
|
-
scip-query system <scope>
|
|
87
|
-
scip-query surface <scope>
|
|
88
|
-
scip-query files <pattern>
|
|
89
|
-
scip-query outline <file>
|
|
90
|
-
scip-query deps <file>
|
|
91
|
-
scip-query rdeps <file>
|
|
92
|
-
scip-query trace <symbol>
|
|
93
|
-
scip-query call-graph <symbol>
|
|
94
|
-
scip-query affected <symbol>
|
|
95
|
-
scip-query change-surface <file>
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Use cleanup commands as probes: `health`, `similar`, `similar-files`, `similar-chains`, `extract-candidates`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `drift`, and `cycles`.
|
|
99
|
-
|
|
100
|
-
This step is complete only when concrete units, consumers, tests, fallbacks, adapters, generated artifacts, and compatibility constraints are visible.
|
|
101
|
-
|
|
102
|
-
### 3. Build the role inventory
|
|
103
|
-
|
|
104
|
-
For each cluster, ask:
|
|
105
|
-
|
|
106
|
-
- What one concept appears in several places — and what single essential trait makes them one concept? If the trait cannot be stated, they are not one concept.
|
|
107
|
-
- What policy is hidden?
|
|
108
|
-
- What lifecycle is unnamed?
|
|
109
|
-
- Which differences are essential?
|
|
110
|
-
- What must a maintainer know that the local interface does not admit?
|
|
111
|
-
- Would a smaller mechanism remove a reason to change, or only move code?
|
|
112
|
-
|
|
113
|
-
This step is complete only when every candidate smell names its referents and its future-maintenance failure mode.
|
|
114
|
-
|
|
115
|
-
### 4. Rank pressure
|
|
116
|
-
|
|
117
|
-
Prefer severe smells in this order:
|
|
118
|
-
|
|
119
|
-
1. Hidden correctness or evidence policy spread across modules.
|
|
120
|
-
2. Repeated lifecycle or pipeline with no owner.
|
|
121
|
-
3. Public surface exposing accidental internals.
|
|
122
|
-
4. Large module with unrelated reasons to change.
|
|
123
|
-
5. Tests that encode incident history without contract vocabulary.
|
|
124
|
-
6. Adapter families with repeated capability or fallback shapes.
|
|
125
|
-
7. Suppression comments that document architecture decisions instead of exceptions.
|
|
126
|
-
8. Thin wrappers and passthroughs that do not buy clarity.
|
|
127
|
-
|
|
128
|
-
Reject smells that are aesthetic, unverifiable, or false compression.
|
|
129
|
-
|
|
130
|
-
This step is complete only when each target is ranked, skipped, or deferred with evidence.
|
|
131
|
-
|
|
132
|
-
### 5. Choose a model
|
|
133
|
-
|
|
134
|
-
For substantial changes, compare at least two models:
|
|
135
|
-
|
|
136
|
-
- Conservative: delete or inline local bloat.
|
|
137
|
-
- Shape-level: introduce one small mechanism for a repeated role or lifecycle.
|
|
138
|
-
- Radical: replace a scattered surface with metadata, generation, or enforced policy.
|
|
139
|
-
|
|
140
|
-
Evaluate behavior preserved, concept count removed, blast radius, deletion potential, false-abstraction failure mode, migration path, and verification cost.
|
|
141
|
-
|
|
142
|
-
This step is complete only when the chosen model removes a concept or policy duplication rather than merely extracting a helper.
|
|
143
|
-
|
|
144
|
-
### 6. Produce a register or atlas
|
|
145
|
-
|
|
146
|
-
For broad review, write a register under `docs/plans/` unless the user asks not to edit files. For implementation, write an atlas before editing.
|
|
147
|
-
|
|
148
|
-
Use dispositions: `merge`, `delete`, `inline`, `extract`, `generate`, `enforce`, `supersede`, `defer`, `skip`.
|
|
149
|
-
|
|
150
|
-
Every `merge`, `extract`, or `generate` entry carries its unifying definition and its strongest dissenter — the cited site most likely to differ essentially — with the evidence that it does not. A dissenter that survives moves the entry to `skip` with reason `essential variation`; the dissenter stays in the register either way.
|
|
151
|
-
|
|
152
|
-
This step is complete only when each opportunity has evidence, disposition, dependency order, touch map, and validation plan.
|
|
153
|
-
|
|
154
|
-
### 7. Implement and verify when asked
|
|
155
|
-
|
|
156
|
-
Implement the smallest named mechanism that matches the real concept. Keep essential variation near the adapter or domain code that knows it. After changes, run focused tests and the routed postchecks in `scip-verify`, then complete that verification skill.
|
|
157
|
-
|
|
158
|
-
Report the smell addressed, mechanism introduced or removed, what was deliberately not compressed, and verification results.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "SCIP Probe Reachability"
|
|
3
|
-
short_description: "Prove parser/AST branches are reachable by running the real parser"
|
|
4
|
-
default_prompt: "Enumerate the node-type/shape branches in the target parser or AST-consuming function, construct a minimal input per branch, run the real parser on each in a scratch script, and file findings for every unreached branch."
|