codebaseiq 0.1.0
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 +481 -0
- package/LICENSE +202 -0
- package/README.md +349 -0
- package/dist/augment-vue-worker.js +2 -0
- package/dist/call-graph-evidence-gNsxjCW8.d.ts +16 -0
- package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
- package/dist/chunk-2Q2LW5JW.js +14 -0
- package/dist/chunk-2X7V4HS4.js +88 -0
- package/dist/chunk-34WBMAYK.js +2 -0
- package/dist/chunk-35NLDRZC.js +2 -0
- package/dist/chunk-362QOSFD.js +3 -0
- package/dist/chunk-3IER7Q6H.js +12 -0
- package/dist/chunk-3JSXXYTZ.js +345 -0
- package/dist/chunk-3LCDIREB.js +4 -0
- package/dist/chunk-476NR5B7.js +2 -0
- package/dist/chunk-4FC325IF.js +30 -0
- package/dist/chunk-4WKDMDEW.js +9 -0
- package/dist/chunk-4XTAUQFD.js +2 -0
- package/dist/chunk-5PUWMSDU.js +26 -0
- package/dist/chunk-5VKBFZZU.js +3 -0
- package/dist/chunk-6BQ3DSPK.js +2 -0
- package/dist/chunk-6CS3UQTN.js +3 -0
- package/dist/chunk-6MUIJMVL.js +6 -0
- package/dist/chunk-6NW7MU72.js +40 -0
- package/dist/chunk-6OAHRI2D.js +6 -0
- package/dist/chunk-6YTSKJJ3.js +2 -0
- package/dist/chunk-7FND7D7N.js +2 -0
- package/dist/chunk-7MGU3HPH.js +2 -0
- package/dist/chunk-7NVGT435.js +2 -0
- package/dist/chunk-7XAN6GKB.js +2 -0
- package/dist/chunk-AAQQPKCU.js +2 -0
- package/dist/chunk-ADTBPVUZ.js +21 -0
- package/dist/chunk-AKB7V7TV.js +2 -0
- package/dist/chunk-ANFVSJWQ.js +11 -0
- package/dist/chunk-B2OB55RR.js +3 -0
- package/dist/chunk-B3UYV66Z.js +4 -0
- package/dist/chunk-B75HZHUP.js +2 -0
- package/dist/chunk-BFFZDZQV.js +2 -0
- package/dist/chunk-BGBBVSH4.js +2 -0
- package/dist/chunk-BH5F2Q4O.js +2 -0
- package/dist/chunk-BJ6SQAEN.js +2 -0
- package/dist/chunk-BMYOV5GP.js +77 -0
- package/dist/chunk-BVAJLC5A.js +7 -0
- package/dist/chunk-C6SBF2WH.js +4 -0
- package/dist/chunk-C74PPYLA.js +3 -0
- package/dist/chunk-C7QOQX32.js +8 -0
- package/dist/chunk-CAUCPUOF.js +7 -0
- package/dist/chunk-CO5R3UNA.js +2 -0
- package/dist/chunk-CQP3THUZ.js +7 -0
- package/dist/chunk-CVYSU6BX.js +16 -0
- package/dist/chunk-CWONGW6P.js +3 -0
- package/dist/chunk-DDZ7VHWV.js +20 -0
- package/dist/chunk-DGXRDLV5.js +2 -0
- package/dist/chunk-DO6WQD2T.js +3 -0
- package/dist/chunk-DQMDCD24.js +2 -0
- package/dist/chunk-DR2LURYU.js +3 -0
- package/dist/chunk-DRENNWRG.js +2 -0
- package/dist/chunk-ECQBG7PW.js +564 -0
- package/dist/chunk-EF2R3WNQ.js +2 -0
- package/dist/chunk-ELNRLMC5.js +29 -0
- package/dist/chunk-EMNIHCRB.js +18 -0
- package/dist/chunk-ENCCHKM6.js +5 -0
- package/dist/chunk-EZNMUY67.js +5 -0
- package/dist/chunk-FAJQ7LWY.js +3 -0
- package/dist/chunk-FDGD5AB5.js +2 -0
- package/dist/chunk-FETNQCFO.js +117 -0
- package/dist/chunk-FM5BPL4V.js +60 -0
- package/dist/chunk-FQKZWM4L.js +49 -0
- package/dist/chunk-FW53T7EB.js +2 -0
- package/dist/chunk-G6XFR4ZL.js +4 -0
- package/dist/chunk-GCHRX4YW.js +4 -0
- package/dist/chunk-GTIYTDRE.js +562 -0
- package/dist/chunk-GTXSJDCO.js +2 -0
- package/dist/chunk-GW6Z3WGY.js +2 -0
- package/dist/chunk-H3LGFZVK.js +2 -0
- package/dist/chunk-HKQUXIFO.js +2 -0
- package/dist/chunk-HOA5YGOH.js +3 -0
- package/dist/chunk-HPJRBHVT.js +3 -0
- package/dist/chunk-HRWGYWRJ.js +49 -0
- package/dist/chunk-I2T2LLK2.js +4 -0
- package/dist/chunk-ICFDQHAM.js +3 -0
- package/dist/chunk-ID63777H.js +4 -0
- package/dist/chunk-IJ4HMYBE.js +3 -0
- package/dist/chunk-ILMHV3KM.js +2 -0
- package/dist/chunk-IOP6FWIM.js +2 -0
- package/dist/chunk-IRQOAM5G.js +2 -0
- package/dist/chunk-J77SU6VA.js +38 -0
- package/dist/chunk-JE3WZ6II.js +2 -0
- package/dist/chunk-JEJLSICM.js +4 -0
- package/dist/chunk-JOIRNPPY.js +2 -0
- package/dist/chunk-JSOYNVWH.js +3 -0
- package/dist/chunk-KMITESMT.js +2 -0
- package/dist/chunk-KUW32IRO.js +2 -0
- package/dist/chunk-KWVHSKHK.js +31 -0
- package/dist/chunk-L4NRUAGJ.js +18 -0
- package/dist/chunk-L57ZKWVG.js +6 -0
- package/dist/chunk-LTA3BRZX.js +2 -0
- package/dist/chunk-LU3BMVH2.js +10 -0
- package/dist/chunk-LZYFLFEH.js +2 -0
- package/dist/chunk-MOVBWNIP.js +16 -0
- package/dist/chunk-MVB3DAEY.js +3 -0
- package/dist/chunk-N3IQCBCF.js +29 -0
- package/dist/chunk-NAUD7LCA.js +2 -0
- package/dist/chunk-NCZUNH3E.js +109 -0
- package/dist/chunk-NE6IU5ZD.js +5 -0
- package/dist/chunk-NEDP5RFQ.js +60 -0
- package/dist/chunk-NMTSZXCL.js +2 -0
- package/dist/chunk-NNJ2KZZG.js +4 -0
- package/dist/chunk-NNO6A2PO.js +2 -0
- package/dist/chunk-NNOKTMZT.js +20 -0
- package/dist/chunk-O6QTXQPJ.js +13 -0
- package/dist/chunk-OANDYLJQ.js +2 -0
- package/dist/chunk-OFBE4NGP.js +2 -0
- package/dist/chunk-OGTFJ3XD.js +2 -0
- package/dist/chunk-OL6KJP3N.js +16 -0
- package/dist/chunk-OLF4MA5W.js +8 -0
- package/dist/chunk-OTOKVOJ3.js +2 -0
- package/dist/chunk-OVTS4DKB.js +2 -0
- package/dist/chunk-OZYRSMSH.js +3 -0
- package/dist/chunk-P5XHIJHI.js +2 -0
- package/dist/chunk-PBI2LFKH.js +2 -0
- package/dist/chunk-PIOMTC27.js +2 -0
- package/dist/chunk-PTAWHLVJ.js +6 -0
- package/dist/chunk-PX4RYAAK.js +2 -0
- package/dist/chunk-PYAB5SM6.js +7 -0
- package/dist/chunk-Q5ELPRKQ.js +2 -0
- package/dist/chunk-Q65CQ4XL.js +2 -0
- package/dist/chunk-Q72QSKXC.js +308 -0
- package/dist/chunk-QCN62RTF.js +3 -0
- package/dist/chunk-QDCCHMVZ.js +2 -0
- package/dist/chunk-QHRNXP3C.js +3 -0
- package/dist/chunk-QKPLA6IC.js +2 -0
- package/dist/chunk-QOKYJ33H.js +2 -0
- package/dist/chunk-QW7EP6WI.js +21 -0
- package/dist/chunk-R2NOK63J.js +4 -0
- package/dist/chunk-RBAS5ZHI.js +2 -0
- package/dist/chunk-RDBI2RXU.js +9 -0
- package/dist/chunk-RKEJ6VTF.js +73 -0
- package/dist/chunk-RR7SX44N.js +35 -0
- package/dist/chunk-RU65DDUP.js +215 -0
- package/dist/chunk-SELM5MER.js +2 -0
- package/dist/chunk-SGX43S2L.js +2 -0
- package/dist/chunk-SMRBZ6EC.js +2 -0
- package/dist/chunk-SNNWPCN7.js +4 -0
- package/dist/chunk-ST7V3SKN.js +2 -0
- package/dist/chunk-SWHMHUKF.js +2 -0
- package/dist/chunk-SYDJMPES.js +2 -0
- package/dist/chunk-SZD2KF7Q.js +2 -0
- package/dist/chunk-T3DGWPXM.js +3 -0
- package/dist/chunk-TFZB6XTM.js +239 -0
- package/dist/chunk-TIIC3ZE7.js +2 -0
- package/dist/chunk-TRRC4ZJ7.js +2 -0
- package/dist/chunk-TXXOEMZJ.js +2 -0
- package/dist/chunk-UBGWN7I4.js +2 -0
- package/dist/chunk-UCD3H3UZ.js +5 -0
- package/dist/chunk-UDS562V4.js +5 -0
- package/dist/chunk-UNBY47BC.js +3 -0
- package/dist/chunk-UP3BUZR5.js +74 -0
- package/dist/chunk-UXM43C7T.js +3 -0
- package/dist/chunk-UZGZB3VB.js +3 -0
- package/dist/chunk-VE5AVNMP.js +2 -0
- package/dist/chunk-VEXUL62T.js +2 -0
- package/dist/chunk-VFY6Y2H6.js +61 -0
- package/dist/chunk-VUIYB2V3.js +2 -0
- package/dist/chunk-VXYS3FZD.js +23 -0
- package/dist/chunk-WE5RZHZ7.js +5 -0
- package/dist/chunk-WMPRTGH2.js +2 -0
- package/dist/chunk-WOQBZPIF.js +2 -0
- package/dist/chunk-XLQ3GLWZ.js +2 -0
- package/dist/chunk-XME3HPXZ.js +2 -0
- package/dist/chunk-XMQ23E27.js +2 -0
- package/dist/chunk-XWUOUWYI.js +2 -0
- package/dist/chunk-XZEE23VG.js +5 -0
- package/dist/chunk-Y6KHROC3.js +7 -0
- package/dist/chunk-YESXMKX3.js +3 -0
- package/dist/chunk-YMGZZEW4.js +2 -0
- package/dist/chunk-YSNONTJ2.js +2 -0
- package/dist/chunk-YUKYB54I.js +1 -0
- package/dist/chunk-YVCIMIOC.js +12 -0
- package/dist/chunk-Z54RD7VL.js +3 -0
- package/dist/chunk-ZKX2FRS6.js +15 -0
- package/dist/chunk-ZMI2JSX2.js +2 -0
- package/dist/chunk-ZV3JV5G5.js +8 -0
- package/dist/chunk-ZZ3MWF33.js +4 -0
- package/dist/chunk-ZZXSWSN6.js +2 -0
- package/dist/cli-context-3SNLDYBM.js +3 -0
- package/dist/cli-context-T3B7W6GG.js +2 -0
- package/dist/cli-program-YNOXO72B.js +7 -0
- package/dist/cli.js +3 -0
- package/dist/code-DlqpBDd0.d.ts +121 -0
- package/dist/command-descriptors-6AOUKWW7.js +346 -0
- package/dist/command-descriptors-ZFKJSRUP.js +344 -0
- package/dist/command-panels-SZONPMLJ.js +3 -0
- package/dist/config-types-BNoC96J3.d.ts +560 -0
- package/dist/db-D7sauVFH.d.ts +95 -0
- package/dist/direct-navigation-DP4LVMRX.js +3 -0
- package/dist/direct-navigation-FLUS3BT6.js +2 -0
- package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
- package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
- package/dist/file-kind-BKCVMNUf.d.ts +10 -0
- package/dist/frontend-behavior-evidence-EfM4_9bc.d.ts +4 -0
- package/dist/git-history-ChNHbfZQ.d.ts +13 -0
- package/dist/graph-evidence-BIFqyisO.d.ts +131 -0
- package/dist/health-DJaZXg8I.d.ts +340 -0
- package/dist/index.d.ts +183 -0
- package/dist/index.js +2 -0
- package/dist/invocation-command-descriptors-QT2JMY5J.js +3 -0
- package/dist/invocation-command-descriptors-YN4QJEAX.js +2 -0
- package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
- package/dist/output-continuation-command-2V2SL4TD.js +2 -0
- package/dist/output-continuation-command-65J5IP3O.js +3 -0
- package/dist/postinstall.js +3 -0
- package/dist/project-reindex-5JOKXAXT.js +2 -0
- package/dist/project-reindex-UQBIKO4M.js +3 -0
- package/dist/queries/affected.d.ts +40 -0
- package/dist/queries/affected.js +2 -0
- package/dist/queries/anchors.d.ts +123 -0
- package/dist/queries/anchors.js +2 -0
- package/dist/queries/architecture.d.ts +166 -0
- package/dist/queries/architecture.js +2 -0
- package/dist/queries/bottlenecks.d.ts +68 -0
- package/dist/queries/bottlenecks.js +2 -0
- package/dist/queries/by-kind.d.ts +27 -0
- package/dist/queries/by-kind.js +2 -0
- package/dist/queries/call-graph.d.ts +52 -0
- package/dist/queries/call-graph.js +2 -0
- package/dist/queries/change-surface.d.ts +55 -0
- package/dist/queries/change-surface.js +2 -0
- package/dist/queries/cleanup-plan.d.ts +66 -0
- package/dist/queries/cleanup-plan.js +2 -0
- package/dist/queries/co-change.d.ts +90 -0
- package/dist/queries/co-change.js +2 -0
- package/dist/queries/code.d.ts +6 -0
- package/dist/queries/code.js +2 -0
- package/dist/queries/complexity-hotspots.d.ts +61 -0
- package/dist/queries/complexity-hotspots.js +2 -0
- package/dist/queries/complexity.d.ts +74 -0
- package/dist/queries/complexity.js +2 -0
- package/dist/queries/context.d.ts +146 -0
- package/dist/queries/context.js +2 -0
- package/dist/queries/convergence.d.ts +33 -0
- package/dist/queries/convergence.js +2 -0
- package/dist/queries/coupling.d.ts +32 -0
- package/dist/queries/coupling.js +2 -0
- package/dist/queries/cycles.d.ts +66 -0
- package/dist/queries/cycles.js +2 -0
- package/dist/queries/dataflow.d.ts +77 -0
- package/dist/queries/dataflow.js +2 -0
- package/dist/queries/dead.d.ts +58 -0
- package/dist/queries/dead.js +2 -0
- package/dist/queries/decorative-checkers.d.ts +34 -0
- package/dist/queries/decorative-checkers.js +2 -0
- package/dist/queries/deep-chains.d.ts +5 -0
- package/dist/queries/deep-chains.js +2 -0
- package/dist/queries/dependence-slice.d.ts +46 -0
- package/dist/queries/dependence-slice.js +2 -0
- package/dist/queries/dependency-depth.d.ts +49 -0
- package/dist/queries/dependency-depth.js +2 -0
- package/dist/queries/deps.d.ts +15 -0
- package/dist/queries/deps.js +2 -0
- package/dist/queries/diff-impact.d.ts +165 -0
- package/dist/queries/diff-impact.js +2 -0
- package/dist/queries/doc-drift.d.ts +115 -0
- package/dist/queries/doc-drift.js +2 -0
- package/dist/queries/drift.d.ts +79 -0
- package/dist/queries/drift.js +2 -0
- package/dist/queries/duplicate-bodies.d.ts +55 -0
- package/dist/queries/duplicate-bodies.js +2 -0
- package/dist/queries/entry-map.d.ts +121 -0
- package/dist/queries/entry-map.js +2 -0
- package/dist/queries/evidence.d.ts +70 -0
- package/dist/queries/evidence.js +2 -0
- package/dist/queries/extract-candidates.d.ts +52 -0
- package/dist/queries/extract-candidates.js +2 -0
- package/dist/queries/fan.d.ts +53 -0
- package/dist/queries/fan.js +2 -0
- package/dist/queries/files.d.ts +20 -0
- package/dist/queries/files.js +2 -0
- package/dist/queries/health.d.ts +8 -0
- package/dist/queries/health.js +2 -0
- package/dist/queries/hierarchy.d.ts +21 -0
- package/dist/queries/hierarchy.js +2 -0
- package/dist/queries/hotspots.d.ts +42 -0
- package/dist/queries/hotspots.js +2 -0
- package/dist/queries/imports.d.ts +34 -0
- package/dist/queries/imports.js +2 -0
- package/dist/queries/incomplete-migration.d.ts +90 -0
- package/dist/queries/incomplete-migration.js +2 -0
- package/dist/queries/index.d.ts +180 -0
- package/dist/queries/index.js +2 -0
- package/dist/queries/isolated.d.ts +24 -0
- package/dist/queries/isolated.js +2 -0
- package/dist/queries/locality-candidates.d.ts +51 -0
- package/dist/queries/locality-candidates.js +2 -0
- package/dist/queries/members.d.ts +21 -0
- package/dist/queries/members.js +2 -0
- package/dist/queries/methods.d.ts +43 -0
- package/dist/queries/methods.js +2 -0
- package/dist/queries/not-implemented.d.ts +33 -0
- package/dist/queries/not-implemented.js +2 -0
- package/dist/queries/outline.d.ts +22 -0
- package/dist/queries/outline.js +2 -0
- package/dist/queries/passthrough-candidates.d.ts +41 -0
- package/dist/queries/passthrough-candidates.js +2 -0
- package/dist/queries/plan-context.d.ts +33 -0
- package/dist/queries/plan-context.js +2 -0
- package/dist/queries/react-component-duplicates.d.ts +39 -0
- package/dist/queries/react-component-duplicates.js +2 -0
- package/dist/queries/react-hook-candidates.d.ts +44 -0
- package/dist/queries/react-hook-candidates.js +2 -0
- package/dist/queries/react-large-component-pressure.d.ts +34 -0
- package/dist/queries/react-large-component-pressure.js +2 -0
- package/dist/queries/recent-duplicates.d.ts +79 -0
- package/dist/queries/recent-duplicates.js +2 -0
- package/dist/queries/redundant-reexports.d.ts +37 -0
- package/dist/queries/redundant-reexports.js +2 -0
- package/dist/queries/reference-neighborhood.d.ts +4 -0
- package/dist/queries/reference-neighborhood.js +2 -0
- package/dist/queries/reference-reachability.d.ts +48 -0
- package/dist/queries/reference-reachability.js +2 -0
- package/dist/queries/refs.d.ts +13 -0
- package/dist/queries/refs.js +2 -0
- package/dist/queries/self-audit.d.ts +65 -0
- package/dist/queries/self-audit.js +2 -0
- package/dist/queries/similar-chains.d.ts +48 -0
- package/dist/queries/similar-chains.js +2 -0
- package/dist/queries/similar-files.d.ts +35 -0
- package/dist/queries/similar-files.js +2 -0
- package/dist/queries/similar-signatures.d.ts +46 -0
- package/dist/queries/similar-signatures.js +2 -0
- package/dist/queries/similar.d.ts +187 -0
- package/dist/queries/similar.js +2 -0
- package/dist/queries/slice.d.ts +4 -0
- package/dist/queries/slice.js +2 -0
- package/dist/queries/source-inspection.d.ts +209 -0
- package/dist/queries/source-inspection.js +2 -0
- package/dist/queries/source-search.d.ts +85 -0
- package/dist/queries/source-search.js +2 -0
- package/dist/queries/stale-abstractions.d.ts +72 -0
- package/dist/queries/stale-abstractions.js +2 -0
- package/dist/queries/stats.d.ts +15 -0
- package/dist/queries/stats.js +2 -0
- package/dist/queries/surface.d.ts +22 -0
- package/dist/queries/surface.js +2 -0
- package/dist/queries/symbols.d.ts +14 -0
- package/dist/queries/symbols.js +2 -0
- package/dist/queries/system-map.d.ts +449 -0
- package/dist/queries/system-map.js +2 -0
- package/dist/queries/system.d.ts +21 -0
- package/dist/queries/system.js +2 -0
- package/dist/queries/test-quality.d.ts +56 -0
- package/dist/queries/test-quality.js +2 -0
- package/dist/queries/trace.d.ts +68 -0
- package/dist/queries/trace.js +2 -0
- package/dist/queries/twin-ab.d.ts +66 -0
- package/dist/queries/twin-ab.js +2 -0
- package/dist/queries/twin-drift.d.ts +119 -0
- package/dist/queries/twin-drift.js +2 -0
- package/dist/queries/unused-imports.d.ts +4 -0
- package/dist/queries/unused-imports.js +2 -0
- package/dist/queries/unused-params.d.ts +38 -0
- package/dist/queries/unused-params.js +2 -0
- package/dist/queries/value-flow.d.ts +42 -0
- package/dist/queries/value-flow.js +2 -0
- package/dist/queries/vue-component-duplicates.d.ts +43 -0
- package/dist/queries/vue-component-duplicates.js +2 -0
- package/dist/queries/vue-composable-candidates.d.ts +44 -0
- package/dist/queries/vue-composable-candidates.js +2 -0
- package/dist/queries/vue-large-view-pressure.d.ts +41 -0
- package/dist/queries/vue-large-view-pressure.js +2 -0
- package/dist/queries/wrapper-candidates.d.ts +34 -0
- package/dist/queries/wrapper-candidates.js +2 -0
- package/dist/reindex-worker.js +3 -0
- package/dist/reindex.d.ts +254 -0
- package/dist/reindex.js +298 -0
- package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
- package/dist/runtime.d.ts +555 -0
- package/dist/runtime.js +4 -0
- package/dist/rust-semantic-session-server.js +2 -0
- package/dist/rust-semantic-session-worker.js +2 -0
- package/dist/rust-semantic-worker.js +2 -0
- package/dist/scip-cli-B7N3haxa.d.ts +67 -0
- package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
- package/dist/symbol-types-BIQwfoAx.d.ts +74 -0
- package/dist/typescript-mailbox-worker.js +2 -0
- package/dist/watch-server.js +8 -0
- package/docs/AGENT_GUIDE.md +148 -0
- package/docs/AI_FAILURE_MODES.md +43 -0
- package/docs/API.md +40 -0
- package/docs/API_EVOLUTION.md +77 -0
- package/docs/CLI_JSON_OUTPUT.md +389 -0
- package/docs/COMMAND_REFERENCE.md +294 -0
- package/docs/CONFIGURATION_WRITE_SAFETY.md +131 -0
- package/docs/DETECTOR_GUIDE.md +46 -0
- package/docs/DURABILITY.md +159 -0
- package/docs/INDEX_GENERATIONS.md +167 -0
- package/docs/LOCK_PROTOCOL.md +133 -0
- package/docs/MAILBOX_LIFECYCLE.md +224 -0
- package/docs/REGEX_POLICY.md +36 -0
- package/docs/REINDEX_METADATA_COMPATIBILITY.md +104 -0
- package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
- package/docs/SECURITY_MODEL.md +125 -0
- package/docs/TELEMETRY_RETENTION.md +84 -0
- package/docs/TIME_SEMANTICS.md +77 -0
- package/docs/WATCH_REFRESH_REQUESTS.md +123 -0
- package/docs/WINDOWS_SIDECAR_RELEASE.md +424 -0
- package/docs/accuracy-audit-checklist.md +304 -0
- package/docs/accuracy-hardening-goal.md +500 -0
- package/docs/analyzer-inventory.md +78 -0
- package/docs/analyzer-validation-protocol.md +84 -0
- package/docs/architecture-coherence-vision.md +254 -0
- package/docs/assets/codebaseiq-logo-dark.svg +21 -0
- package/docs/assets/codebaseiq-logo.svg +24 -0
- package/docs/locality-analyzer-design.md +193 -0
- package/docs/schemas/cli-json-envelope.schema.json +237 -0
- package/docs/schemas/cli-output-page.schema.json +104 -0
- package/docs/schemas/npm-release-state.schema.json +146 -0
- package/docs/schemas/observation-receipt.schema.json +164 -0
- package/docs/schemas/project-config.schema.json +318 -0
- package/docs/schemas/suppression-record.schema.json +79 -0
- package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
- package/package.json +482 -0
- package/scripts/build-codebaseiq-windows.mjs +197 -0
- package/scripts/codebaseiq-windows-provenance.mjs +364 -0
- package/scripts/evidence-product-contract.mjs +197 -0
- package/scripts/verify-codebaseiq-windows.mjs +29 -0
- package/skills/codebaseiq/SKILL.md +75 -0
- package/skills/codebaseiq/agents/openai.yaml +4 -0
- package/skills/codebaseiq-explore/SKILL.md +34 -0
- package/skills/codebaseiq-explore/agents/openai.yaml +4 -0
- package/skills/concrete-plan/SKILL.md +79 -0
- package/skills/concrete-plan/agents/openai.yaml +4 -0
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# Command reference
|
|
2
|
+
|
|
3
|
+
This syntax catalog is generated from the CLI command descriptors. Locate an
|
|
4
|
+
exact root with `search`, `outline`, or `entrypoints`; project explicitly chosen
|
|
5
|
+
relationships with `evidence`; then read behavior or source only for a named
|
|
6
|
+
remaining gap. Compatibility views are listed but are not part of that canonical
|
|
7
|
+
workflow.
|
|
8
|
+
|
|
9
|
+
<!-- BEGIN GENERATED COMMAND REFERENCE -->
|
|
10
|
+
|
|
11
|
+
This syntax summary is generated from the CLI command descriptors. Keep workflow guidance hand-authored, but keep command syntax, descriptions, and option flags descriptor-owned.
|
|
12
|
+
|
|
13
|
+
Commands with `--json` share three structured modes: plain `--json` emits the stable public envelope, `--json --result-only` emits only the command payload, and `--json --compact` minifies either form for a program. Agents should prefer ordinary human output. See [CLI output modes](CLI_JSON_OUTPUT.md).
|
|
14
|
+
|
|
15
|
+
Every command accepts `--output-page-size <characters>` and `--output-cursor <cursor>`. Run normally without choosing a page size: oversized human output stays readable text and prints one exact continuation command; oversized JSON prints the exact command that opts into versioned JSON page envelopes.
|
|
16
|
+
Cross-command evidence citations are off by default. With an explicit `CODEBASEIQ_SESSION`, a complete source unit, a byte-identical exact subset of a prior exact source read, or a graph unit/edge may be replaced by a visible receipt from the same index generation. Preview coverage never suppresses an exact unit; changed bytes, changed graph content, a new generation, or global `--reemit` force full evidence.
|
|
17
|
+
|
|
18
|
+
### Exploration control manual
|
|
19
|
+
|
|
20
|
+
The operator chooses the material question and deliberately selects a control. These contracts describe observations; they do not infer task relevance.
|
|
21
|
+
|
|
22
|
+
| Stage | Control | Question answered | Required input | Returned fact | Evidence ceiling | Does not establish | Cost | Contrast | Close a gap with |
|
|
23
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
24
|
+
| locate | `search <exact-text>` | Where does this exact text occur in current project text, and which aligned compiler symbol owns each line? | One exact text literal or deliberately bounded regular expression; insert \`--\` before a literal that starts with a dash. | exact cardinality, bounded identities and source, and scope commands that recover withheld matches | Exact current-text cardinality and locations within reported text coverage; compiler ownership only where aligned. | Structural source ranking orders exact matches but does not establish task relevance. A literal co-occurrence does not establish a graph relationship. | `small` | outline: search locates exact text across files; outline enumerates compiler-owned constructs in one known file. | `evidence`, `inspect`, `code` |
|
|
25
|
+
| locate | `outline <file>` | What symbols and nesting exist in this file? | One exact current project file path. | symbol names, nesting, and line ranges | Exact compiler-owned constructs and ranges when the file is indexed; no invented semantic overlay. | File ownership and nesting do not establish execution or task relevance. | `small` | search: outline enumerates constructs in one known file; search locates exact text across current project text. code: outline returns identities and ranges; code materializes exact source for selected identities. | `evidence`, `inspect`, `code` |
|
|
26
|
+
| locate | `entrypoints [text]` | Which detected external roots or entry-surface candidates match this text? | Optional exact text to filter candidates; otherwise the current indexed repository. | entry symbols with files, confidence, evidence, and indexed caller counts | Source/compiler-grounded entry evidence and indexed caller counts; exported-only candidates remain candidates. | A package-public export or zero indexed callers is an entry candidate, not proof of runtime ingress. Entry classification does not establish that the callable executes. | `bounded` | entry-map: entrypoints locates possible external roots; entry-map traverses static calls from one selected root. search: entrypoints classifies callable roots; search only locates exact text and ownership. | `evidence`, `inspect`, `code` |
|
|
27
|
+
| project | `evidence` | Which exact execution, runtime, data, state, temporal, contract, identity, ownership, or dependency relationships surround these referents? Which related source must be read only when graph evidence leaves a named implementation gap? | One or more exact symbol, file:line, or literal roots plus explicit family, direction, depth, and output bound. | batched exact selectors and typed graph relationships; compact endpoints with exact locations and follow-up commands; coverage and recoverable omissions; exact source-recovery command when source was requested with a graph projection; explicit ambiguity failure with exact rerun commands | Typed edges only to each registered provider ceiling within the explicitly selected projection and reported coverage. | The projection does not infer which relationships are relevant to the user task. Reference, dependency, data, state, temporal, contract, and identity edges do not become execution claims. | `bounded` | refs: refs enumerates direct reference sites; evidence traverses explicitly selected typed relationships. call-graph: call-graph specializes in static calls; evidence can combine execution with other selected families. value-flow: value-flow specializes in proved transfers; evidence projects bounded dataflow alongside other families. dependence-slice: dependence-slice computes a program-dependence slice; evidence performs bounded graph projection. | `inspect`, `code` |
|
|
28
|
+
| read | `inspect` | Which related source units across several known text, symbol, or location anchors should be read together? | One or more exact text, symbol, or file:line selectors naming the unresolved behavior. | one ranked, deduplicated semantic packet plus exact selector cardinality and explicit expansion coverage | Complete current source for every materialized syntax unit; bounded selector and packet coverage remain explicit. | A source packet does not choose which implementation details are relevant to the user task. A reference mention does not establish executable reachability. | `potentially-large` | code: inspect batches bounded behavior or source gaps; code materializes complete exact source. evidence: inspect reads implementation units; evidence projects typed relationships without source. | - |
|
|
29
|
+
| read | `code <selectors...>` | What exact source defines these symbols, ranges, or file surfaces? | One or more exact symbols, file:line ranges, or file paths. | per-selector resolution, complete definition source, exact ranges with statically attributed same-file call closure, file export surfaces, omitted-local ledgers, and line ranges | Exact current source bytes for every resolved selector, with omitted file-local constructs disclosed. | Source materialization does not establish callers, runtime reachability, or task relevance by itself. | `potentially-large` | inspect: code materializes complete exact source; inspect batches bounded behavior or source gaps. outline: code reads selected implementations; outline enumerates file structure without reading every body. | - |
|
|
30
|
+
|
|
31
|
+
### Relationship question manual
|
|
32
|
+
|
|
33
|
+
| Material question | Family | Direction | Establishes | Reported strengths | Provider ceilings | Does not establish |
|
|
34
|
+
|---|---|---|---|---|---|---|
|
|
35
|
+
| Who can call or reach this? | `execution` | `incoming` | Static may-call reachability between resolved program constructs. | `exact`, `derived`, `mixed` | `partial` | A may-call edge does not prove that a runtime invocation occurred. |
|
|
36
|
+
| What can this call or reach? | `execution` | `outgoing` | Static may-call reachability between resolved program constructs. | `exact`, `derived`, `mixed` | `partial` | A may-call edge does not prove that a runtime invocation occurred. |
|
|
37
|
+
| Where can this value come from? | `dataflow` | `incoming` | A value, definition, argument, parameter, return, or statically resolved value may flow to another construct. | `exact`, `derived`, `mixed`, `candidate` | `partial`, `candidate` | Current partial providers do not establish general interprocedural definition-use coverage. |
|
|
38
|
+
| Where can this value go? | `dataflow` | `outgoing` | A value, definition, argument, parameter, return, or statically resolved value may flow to another construct. | `exact`, `derived`, `mixed`, `candidate` | `partial`, `candidate` | Current partial providers do not establish general interprocedural definition-use coverage. |
|
|
39
|
+
| Which producer and consumer rendezvous? | `runtime` | `both` | A source-grounded handoff between producer and consumer participants through a runtime mechanism. | `exact`, `derived`, `candidate`, `mixed` | `partial` | An unresolved or candidate join does not prove a runtime handoff. |
|
|
40
|
+
| What resource is observed or changed? | `state` | `both` | A construct reads, writes, creates, deletes, or otherwise changes an identified state resource. | `exact` | `partial` | A state edge does not prove transactionality, durability, or exclusive ownership unless qualified. |
|
|
41
|
+
| What occurs before or after this? | `temporal` | `both` | One observed construct is locally ordered before or after another under the reported source evidence. | `exact`, `derived`, `mixed` | `partial` | Source order does not imply cross-process happens-before or durability. |
|
|
42
|
+
| What interface constrains this? | `contract` | `both` | A program construct implements, constrains, or is typed by an identified contract. | `exact`, `derived`, `mixed` | `exact` | Contract identity does not prove runtime invocation or conformance outside reported checks. |
|
|
43
|
+
| Are these observations the same entity? | `identity` | `both` | Two observations refer to the same compiler-owned or source-owned program entity. | `exact`, `derived`, `mixed` | `exact` | Shared identity does not establish execution or value transfer. |
|
|
44
|
+
| What contains or owns this? | `ownership` | `both` | A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity. | `exact`, `derived`, `mixed` | `exact` | Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified. |
|
|
45
|
+
| What does this statically rely on? | `dependencies` | `outgoing` | A file, module, or symbol statically relies on another indexed entity. | `exact`, `derived`, `mixed` | `partial` | A dependency edge does not establish that the depended-on code executes. |
|
|
46
|
+
|
|
47
|
+
### Evidence strength legend
|
|
48
|
+
|
|
49
|
+
| Strength | Meaning |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `exact` | Direct compiler or source evidence establishes this relationship within the provider's reported coverage. |
|
|
52
|
+
| `derived` | A deterministic analysis computed this relationship from reported input facts; it was not directly observed. |
|
|
53
|
+
| `candidate` | Ambiguous or heuristic evidence identifies a lead that requires exact graph or source confirmation. |
|
|
54
|
+
| `mixed` | The relationship combines evidence of different strengths; its constituent methods and strengths remain disclosed. |
|
|
55
|
+
| `unknown` | The relationship has no calibrated evidence strength and cannot support a stronger claim than its raw observation. |
|
|
56
|
+
|
|
57
|
+
### Agent operation catalogue
|
|
58
|
+
|
|
59
|
+
| Operation | Commands |
|
|
60
|
+
|---|---|
|
|
61
|
+
| Locate exact roots | `search <exact-text>`, `outline <file>`, `fan-in [symbol]`, `entrypoints [text]` |
|
|
62
|
+
| Project typed relationships | `evidence`, `entry-map <entry>` |
|
|
63
|
+
| Read selected behavior/source | `inspect`, `code <selectors...>` |
|
|
64
|
+
| Analyze declared result units | `stats`, `files <pattern>`, `methods <className>`, `refs <symbol>`, `trace <symbol>`, `deps <file>`, `rdeps <file>`, `system <module>`, `surface <module>`, `dead [scope]`, `hotspots`, `imports <file>`, `imported-by <symbol>`, `unused-imports <file>`, `members <symbol>`, `fan-out [file]`, `coupling [file1] [file2]`, `cycles`, `architecture`, `bottlenecks`, `isolated`, `by-kind <kind>`, `kind-counts`, `dependency-depth`, `hierarchy <symbol>`, `call-graph <symbol>`, `similar [symbol] [other]`, `similar-files [file]`, `react-component-duplicates [file]`, `react-hook-candidates [file]`, `react-large-component-pressure [file]`, `vue-component-duplicates [file]`, `vue-composable-candidates [file]`, `vue-large-view-pressure [file]`, `similar-chains`, `extract-candidates`, `locality-candidates [symbol-or-file]`, `affected <symbol>`, `change-surface <file>`, `cleanup-plan`, `co-change [file]`, `recent-duplicates`, `doc-drift [doc]`, `unused-params`, `incomplete-migration`, `context <target>`, `drift [module]`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `complexity-hotspots`, `self-audit`, `complexity <symbol>`, `reference-neighborhood <symbol>`, `value-flow <symbol>`, `dependence-slice <symbol-or-location>`, `reference-reachability <symbol>`, `redundant-reexports`, `duplicate-bodies`, `twin-drift`, `twin-ab <symbolA> <symbolB>`, `not-implemented`, `decorative-checkers`, `test-quality`, `similar-signatures`, `diff-impact`, `check-deps`, `capabilities`, `config-validate`, `doctor`, `status` |
|
|
65
|
+
| Maintain repository/tool state | `reindex`, `augment-sources`, `augment-vue`, `session`, `tla <operation> [spec]`, `health`, `install-skills`, `init`, `suppress <id>`, `setup`, `setup-agent`, `uninstall`, `watch` |
|
|
66
|
+
|
|
67
|
+
### Typed relationship meanings
|
|
68
|
+
|
|
69
|
+
| Family | Establishes | Does not establish | Providers |
|
|
70
|
+
|---|---|---|---|
|
|
71
|
+
| `execution` | Static may-call reachability between resolved program constructs. | A may-call edge does not prove that a runtime invocation occurred. | SCIP/compiler identity and source ownership, parser-proved intraprocedural control dependence, TypeScript compiler identities, control-flow graph, and reaching definitions |
|
|
72
|
+
| `runtime` | A source-grounded handoff between producer and consumer participants through a runtime mechanism. | An unresolved or candidate join does not prove a runtime handoff. | source-grounded runtime-boundary joins |
|
|
73
|
+
| `dataflow` | A value, definition, argument, parameter, return, or statically resolved value may flow to another construct. | Current partial providers do not establish general interprocedural definition-use coverage. | source-grounded runtime-boundary joins, compiler callsites and bounded static value evaluation, TypeScript compiler identities, control-flow graph, and reaching definitions, parser-proved local state and temporal facts |
|
|
74
|
+
| `state` | A construct reads, writes, creates, deletes, or otherwise changes an identified state resource. | A state edge does not prove transactionality, durability, or exclusive ownership unless qualified. | parser-proved local state and temporal facts |
|
|
75
|
+
| `temporal` | One observed construct is locally ordered before or after another under the reported source evidence. | Source order does not imply cross-process happens-before or durability. | source-grounded runtime-boundary joins, parser-proved local state and temporal facts |
|
|
76
|
+
| `contract` | A program construct implements, constrains, or is typed by an identified contract. | Contract identity does not prove runtime invocation or conformance outside reported checks. | SCIP/compiler identity and source ownership |
|
|
77
|
+
| `identity` | Two observations refer to the same compiler-owned or source-owned program entity. | Shared identity does not establish execution or value transfer. | SCIP/compiler identity and source ownership |
|
|
78
|
+
| `ownership` | A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity. | Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified. | SCIP/compiler identity and source ownership |
|
|
79
|
+
| `dependencies` | A file, module, or symbol statically relies on another indexed entity. | A dependency edge does not establish that the depended-on code executes. | SCIP/compiler identity and source ownership |
|
|
80
|
+
|
|
81
|
+
### Typed relationship providers
|
|
82
|
+
|
|
83
|
+
| Provider | Family / subtype | Directions | Support ceiling | Establishes | Does not establish |
|
|
84
|
+
|---|---|---|---|---|---|
|
|
85
|
+
| `indexed-program-identity` | `execution/call` | `incoming`, `outgoing`, `both` | `partial` | The source construct may call the resolved target. | Static may-call reachability does not prove that an invocation occurred at runtime. |
|
|
86
|
+
| `indexed-program-identity` | `execution/result-callback` | `incoming`, `outgoing`, `both` | `partial` | The referenced callable can produce the result consumed by this path. | A callback relationship does not prove invocation order or runtime selection. |
|
|
87
|
+
| `indexed-program-identity` | `contract/uses-contract-symbol` | `incoming`, `outgoing`, `both` | `exact` | The source construct refers to the identified contract symbol. | Contract identity does not prove runtime invocation or behavioral conformance. |
|
|
88
|
+
| `indexed-program-identity` | `identity/references` | `incoming`, `outgoing`, `both` | `exact` | The occurrence resolves to the identified compiler-owned symbol. | A reference does not establish execution or value transfer. |
|
|
89
|
+
| `indexed-program-identity` | `ownership/contains` | `incoming`, `outgoing`, `both` | `exact` | The owner contains the identified program construct. | Structural containment does not establish runtime lifetime or sharing scope. |
|
|
90
|
+
| `indexed-program-identity` | `ownership/contains-*` | `incoming`, `outgoing`, `both` | `exact` | The owner contains the identified program construct. | Structural containment does not establish runtime lifetime or sharing scope. |
|
|
91
|
+
| `indexed-program-identity` | `ownership/owns-*` | `incoming`, `outgoing`, `both` | `exact` | The owner owns the identified source or runtime observation. | Observation ownership does not establish singleton lifetime or exclusive ownership. |
|
|
92
|
+
| `indexed-program-identity` | `dependencies/imports` | `incoming`, `outgoing`, `both` | `partial` | The source file or module statically imports the indexed target. | An import does not establish that imported code executes. |
|
|
93
|
+
| `indexed-program-identity` | `dependencies/imports-external` | `incoming`, `outgoing`, `both` | `partial` | The source region statically imports an external package. | An external import does not establish which package behavior executes. |
|
|
94
|
+
| `runtime-boundary-join` | `runtime/runtime-handoff` | `incoming`, `outgoing`, `both` | `partial` | A producer and consumer share a source-grounded runtime rendezvous. | A candidate or unresolved join does not prove a runtime handoff. |
|
|
95
|
+
| `runtime-boundary-join` | `runtime/discriminator-dispatch` | `incoming`, `outgoing`, `both` | `partial` | A serialized discriminator selects the reported consumer. | The dispatch edge does not prove delivery, retry, or successful handling. |
|
|
96
|
+
| `runtime-boundary-join` | `dataflow/serialized-discriminator-transfer` | `incoming`, `outgoing`, `both` | `partial` | The producer serializes the discriminator consumed by dispatch. | This edge does not establish the flow of every payload field. |
|
|
97
|
+
| `runtime-boundary-join` | `temporal/enqueue-before-consume` | `incoming`, `outgoing`, `both` | `partial` | The reported enqueue precedes a possible consume through the queue. | Queue order does not establish delivery time, uniqueness, retry count, or durability. |
|
|
98
|
+
| `parser-control-dependence` | `execution/predicate-consequence` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
99
|
+
| `parser-control-dependence` | `execution/predicate-alternative` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
100
|
+
| `parser-control-dependence` | `execution/predicate-fallthrough` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
101
|
+
| `parser-control-dependence` | `execution/predicate-case` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
102
|
+
| `parser-control-dependence` | `execution/predicate-default` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
103
|
+
| `parser-control-dependence` | `execution/predicate-return` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
104
|
+
| `parser-control-dependence` | `execution/predicate-throw` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
105
|
+
| `parser-control-dependence` | `execution/loop-iteration` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
106
|
+
| `parser-control-dependence` | `execution/loop-exit` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
107
|
+
| `parser-control-dependence` | `execution/exception-handler` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
108
|
+
| `parser-control-dependence` | `execution/finally-cleanup` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
109
|
+
| `parser-control-dependence` | `execution/handler-return` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
110
|
+
| `parser-control-dependence` | `execution/handler-throw` | `incoming`, `outgoing`, `both` | `partial` | The outcome is control-dependent on the reported predicate or handler. | Local control dependence does not establish that the containing function executes. |
|
|
111
|
+
| `parser-control-dependence` | `execution/returns` | `incoming`, `outgoing`, `both` | `partial` | The selected construct contains the reported return terminal. | A local return terminal does not establish that the containing callable executes. |
|
|
112
|
+
| `parser-control-dependence` | `execution/throws` | `incoming`, `outgoing`, `both` | `partial` | The selected construct contains the reported throw terminal. | A local throw terminal does not establish propagation, handling, or callable execution. |
|
|
113
|
+
| `bounded-static-value-flow` | `dataflow/argument-to-parameter` | `incoming`, `outgoing`, `both` | `partial` | The reported value may reach the target through the evidenced callsite transfer. | This provider does not establish general local definition-use, alias, field, or heap flow. |
|
|
114
|
+
| `bounded-static-value-flow` | `dataflow/constant-to-parameter` | `incoming`, `outgoing`, `both` | `partial` | The reported value may reach the target through the evidenced callsite transfer. | This provider does not establish general local definition-use, alias, field, or heap flow. |
|
|
115
|
+
| `bounded-static-value-flow` | `dataflow/property-to-parameter` | `incoming`, `outgoing`, `both` | `partial` | The reported value may reach the target through the evidenced callsite transfer. | This provider does not establish general local definition-use, alias, field, or heap flow. |
|
|
116
|
+
| `bounded-static-value-flow` | `dataflow/return-to-parameter` | `incoming`, `outgoing`, `both` | `partial` | The reported value may reach the target through the evidenced callsite transfer. | This provider does not establish general local definition-use, alias, field, or heap flow. |
|
|
117
|
+
| `bounded-static-value-flow` | `dataflow/return-to-call-result` | `incoming`, `outgoing`, `both` | `partial` | The reported value may reach the target through the evidenced callsite transfer. | This provider does not establish general local definition-use, alias, field, or heap flow. |
|
|
118
|
+
| `typescript-local-dependence` | `dataflow/definition-to-use` | `incoming`, `outgoing`, `both` | `partial` | The definition reaches the reported read on a feasible local control-flow path. | Local reaching definitions do not establish heap aliasing, exceptional flow, or the runtime order of closure invocation. |
|
|
119
|
+
| `typescript-local-dependence` | `dataflow/value-to-definition` | `incoming`, `outgoing`, `both` | `partial` | The reported right-hand-side read supplies the assigned local definition. | A local assignment edge does not establish field or heap points-to flow. |
|
|
120
|
+
| `typescript-local-dependence` | `dataflow/closure-capture` | `incoming`, `outgoing`, `both` | `candidate` | The nested callable reads the reported binding from an enclosing callable. | Closure capture does not establish whether or when the nested callable executes. |
|
|
121
|
+
| `typescript-local-dependence` | `dataflow/field-definition-to-use` | `incoming`, `outgoing`, `both` | `partial` | The reported same-owner field definition can reach the field read. | Field-name identity does not establish whole-program heap aliasing or cross-instance flow. |
|
|
122
|
+
| `typescript-local-dependence` | `execution/control-dependence` | `incoming`, `outgoing`, `both` | `partial` | Execution of the reported statement depends on the outcome of the predicate. | Intraprocedural control dependence does not establish that the containing callable executes. |
|
|
123
|
+
| `parser-state-temporal` | `dataflow/captured-value-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
124
|
+
| `parser-state-temporal` | `dataflow/constant-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
125
|
+
| `parser-state-temporal` | `dataflow/expression-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
126
|
+
| `parser-state-temporal` | `dataflow/property-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
127
|
+
| `parser-state-temporal` | `dataflow/return-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
128
|
+
| `parser-state-temporal` | `dataflow/value-to-state` | `incoming`, `outgoing`, `both` | `partial` | The reported source value is assigned into the identified state resource. | The edge does not establish alias, heap, or later read flow. |
|
|
129
|
+
| `parser-state-temporal` | `state/writes-resource` | `incoming`, `outgoing`, `both` | `partial` | The reported construct performs the named operation on the identified resource. | A state operation does not establish transactionality, durability, or exclusive ownership. |
|
|
130
|
+
| `parser-state-temporal` | `state/deletes-resource` | `incoming`, `outgoing`, `both` | `partial` | The reported construct performs the named operation on the identified resource. | A state operation does not establish transactionality, durability, or exclusive ownership. |
|
|
131
|
+
| `parser-state-temporal` | `state/reads-resource` | `incoming`, `outgoing`, `both` | `partial` | The reported construct performs the named operation on the identified resource. | A state operation does not establish transactionality, durability, or exclusive ownership. |
|
|
132
|
+
| `parser-state-temporal` | `state/enqueues-resource` | `incoming`, `outgoing`, `both` | `partial` | The reported construct performs the named operation on the identified resource. | A state operation does not establish transactionality, durability, or exclusive ownership. |
|
|
133
|
+
| `parser-state-temporal` | `state/consumes-resource` | `incoming`, `outgoing`, `both` | `partial` | The reported construct performs the named operation on the identified resource. | A state operation does not establish transactionality, durability, or exclusive ownership. |
|
|
134
|
+
| `parser-state-temporal` | `temporal/await-completion-before` | `incoming`, `outgoing`, `both` | `partial` | The reported source constructs have the named local ordering relationship. | Local source order does not establish cross-process happens-before or durable completion. |
|
|
135
|
+
| `parser-state-temporal` | `temporal/awaits-completion` | `incoming`, `outgoing`, `both` | `partial` | The reported source constructs have the named local ordering relationship. | Local source order does not establish cross-process happens-before or durable completion. |
|
|
136
|
+
| `parser-state-temporal` | `temporal/inside-lock-scope` | `incoming`, `outgoing`, `both` | `partial` | The reported source constructs have the named local ordering relationship. | Local source order does not establish cross-process happens-before or durable completion. |
|
|
137
|
+
| `parser-state-temporal` | `temporal/lexical-successor` | `incoming`, `outgoing`, `both` | `partial` | The reported source constructs have the named local ordering relationship. | Local source order does not establish cross-process happens-before or durable completion. |
|
|
138
|
+
|
|
139
|
+
### Explicitly unavailable relationship analyses
|
|
140
|
+
|
|
141
|
+
An unavailable frontier is a relationship class for which no registered analyzer can provide complete evidence. Its absence from a graph is therefore not evidence that the relationship does not exist.
|
|
142
|
+
|
|
143
|
+
| Frontier | Families | Unavailable capability | Consequence | Recover selected paths with |
|
|
144
|
+
|---|---|---|---|---|
|
|
145
|
+
| `general-interprocedural-value-flow` | `dataflow` | Whole-program definition-use flow through arbitrary calls and returns is unavailable. | Missing dataflow edges cannot establish that a value never crosses an unmodeled call. | `value-flow`, `dependence-slice`, `inspect`, `code` |
|
|
146
|
+
| `heap-aliasing` | `dataflow`, `state` | Heap points-to and cross-instance alias analysis are unavailable. | Missing field or state edges cannot establish that two references never reach the same object. | `value-flow`, `dependence-slice`, `inspect`, `code` |
|
|
147
|
+
| `exceptional-flow` | `execution`, `dataflow`, `temporal` | Interprocedural exception propagation and finally completion flow are unavailable. | Normal-path reachability and ordering do not establish behavior after a throw or rejection. | `dependence-slice`, `inspect`, `code` |
|
|
148
|
+
| `reflection` | `execution`, `runtime`, `identity`, `dependencies` | Reflective lookup, dynamic loading, and name-computed invocation are unavailable without exact evidence. | Missing static edges cannot establish that a construct is unreachable through reflection. | `search`, `inspect`, `code` |
|
|
149
|
+
| `generated-dispatch` | `execution`, `runtime`, `identity` | Dispatch tables or names created only by generated or unavailable source are unavailable. | Missing dispatch edges cannot establish that no generated consumer exists. | `search`, `inspect`, `code` |
|
|
150
|
+
| `unsupported-framework-adapters` | `runtime`, `dataflow`, `state`, `temporal` | Framework runtime crossings without a registered source adapter are unavailable. | Missing boundary edges cannot establish that no producer, consumer, state effect, or ordering exists. | `search`, `inspect`, `code` |
|
|
151
|
+
|
|
152
|
+
### Indexing
|
|
153
|
+
|
|
154
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
155
|
+
|---|---|---|---|---|
|
|
156
|
+
| `reindex` | Index the codebase and convert to SQLite | variable | - | `-l, --language <lang>`<br>`--pnpm-workspaces`<br>`--force`<br>`--allow-partial`<br>`--trust-project-tools`<br>`--install-missing`<br>`--indexer-concurrency <n>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
157
|
+
| `augment-sources` | Add source files skipped by upstream SCIP indexers to the SQLite documents table | variable | - | - |
|
|
158
|
+
| `augment-vue` | Add compiler-resolved Vue SFC references to the SQLite index using Volar | variable | - | `--project <tsconfig>` |
|
|
159
|
+
|
|
160
|
+
### Core
|
|
161
|
+
|
|
162
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
163
|
+
|---|---|---|---|---|
|
|
164
|
+
| `stats` | Show index statistics | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
165
|
+
|
|
166
|
+
### Navigation
|
|
167
|
+
|
|
168
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
169
|
+
|---|---|---|---|---|
|
|
170
|
+
| `files <pattern>` | Find current project files matching a path pattern | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
171
|
+
| `session` | Show evidence already delivered in this agent exploration session | variable | - | `--reset` |
|
|
172
|
+
| `inspect` | Batch related searches, symbols, and source locations into one deduplicated source packet | potentially-large | - | `--search <text>`<br>`--symbol <symbol>`<br>`--at <file:line>`<br>`-s, --scope <path>`<br>`-C, --context <n>`<br>`-n, --limit <n>`<br>`--max-units <n>`<br>`--max-characters <n>`<br>`--view <view>`<br>`--allow-large-source`<br>`--allow-large-behavior`<br>`--unit-lines <n>`<br>`--total-lines <n>`<br>`--include <part>`<br>`--evidence-budget <channel=n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
173
|
+
| `search <exact-text>` | Count current project text matches and preview a bounded, recoverable identity and source manifest | small | `evidence`, `inspect`, `code` | `-s, --scope <path>`<br>`-C, --context <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--regexp`<br>`-i, --ignore-case`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
174
|
+
| `methods <className>` | List methods of one exactly resolved class; ambiguity and missing targets fail explicitly | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
175
|
+
| `refs <symbol>` | Find all files referencing a symbol | bounded | `inspect`, `code` | `--full`<br>`-n, --limit <n>`<br>`--cursor <cursor>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
176
|
+
| `trace <symbol>` | Trace a symbol: definition + all references | bounded | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
177
|
+
| `evidence` | Traverse selected typed relationships around exact referents; recover source separately when needed | bounded | `inspect`, `code` | `--symbol <symbol>`<br>`--at <file:line>`<br>`--search <literal>`<br>`--view <view>`<br>`--edge <family>`<br>`--direction <direction>`<br>`--subtype <subtype>`<br>`--connecting`<br>`--inventory-only`<br>`--fold <id>`<br>`--depth <n>`<br>`--max-edges <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
178
|
+
| `deps <file>` | Files this file depends on (internal) | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
179
|
+
| `rdeps <file>` | Files that depend on this file/module | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
180
|
+
| `system <module>` | One-hop module summary: matched files, documented symbols, and file reference dependencies | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
181
|
+
| `surface <module>` | What symbols consumers actually use from this module | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
182
|
+
| `imports <file>` | What symbols does this file import? | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
183
|
+
| `imported-by <symbol>` | Which files import this symbol? | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
184
|
+
| `outline <file>` | Tree view of symbols in a file, with line ranges | small | `evidence`, `inspect`, `code` | `--signatures`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
185
|
+
| `members <symbol>` | All children of a symbol (methods, fields, nested types) | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
186
|
+
| `by-kind <kind>` | Find symbols by SCIP kind (class, interface, enum, function, etc.) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
187
|
+
| `kind-counts` | Histogram of symbol kinds in the codebase | bounded | `inspect`, `code` | `-s, --scope <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
188
|
+
| `hierarchy <symbol>` | Show a symbol's ancestry chain (method → class → module) | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
189
|
+
| `code <selectors...>` | Read exact definitions, ranges with local call closure, or file export surfaces | potentially-large | - | `-C, --context <n>`<br>`--members <exported|all>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
190
|
+
| `reference-neighborhood <symbol>` | Show definition/reference sites and incoming/outgoing static calls without value-flow claims | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
191
|
+
| `value-flow <symbol>` | Show only proved argument/parameter and bounded static-value transfers around a symbol | variable | `inspect`, `code` | `--depth <n>`<br>`--max-edges <n>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
192
|
+
| `dependence-slice <symbol-or-location>` | Directional slice over proved data/control dependencies with explicit supporting call edges | variable | `inspect`, `code` | `--forward`<br>`--depth <n>`<br>`--max-edges <n>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
193
|
+
| `reference-reachability <symbol>` | Traverse legacy callee or reference-owner reachability without calling it a program slice | variable | `inspect`, `code` | `--forward`<br>`--depth <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
194
|
+
|
|
195
|
+
### Cleanup
|
|
196
|
+
|
|
197
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
198
|
+
|---|---|---|---|---|
|
|
199
|
+
| `dead [scope]` | Find repository-dead code, file-internal symbols, and implicit-usage signals | variable | `inspect`, `code` | `--min-loc <n>`<br>`--include-tests`<br>`--skip-barrels`<br>`--include-members`<br>`--only-dead`<br>`--only-internal`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
200
|
+
| `unused-imports <file>` | Find imports not referenced in the same file | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
201
|
+
| `isolated` | Find completely orphaned symbols (no references at all) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
202
|
+
| `similar [symbol] [other]` | Find heuristic function similarity candidates from callee fingerprints | variable | `inspect`, `code` | `--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-callees <n>`<br>`--cross-file-only`<br>`--plan`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
203
|
+
| `similar-files [file]` | Find heuristic similar-file candidates from dependency profiles | variable | `inspect`, `code` | `--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-deps <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
204
|
+
| `react-component-duplicates [file]` | Find heuristic duplicated React component structure candidates from JSX tags, props, events, and bindings | variable | `inspect`, `code` | `--min-similarity <n>`<br>`--min-tokens <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
205
|
+
| `react-hook-candidates [file]` | Find heuristic React hook extraction candidates from shared state, effects, requests, and handlers | variable | `inspect`, `code` | `--min-similarity <n>`<br>`--min-shared-behaviors <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
206
|
+
| `react-large-component-pressure [file]` | Find heuristic large React component pressure candidates from component lines, JSX structure, and hook behavior | variable | `inspect`, `code` | `--min-component-lines <n>`<br>`--min-file-lines <n>`<br>`--min-jsx-tokens <n>`<br>`--min-behavior-tokens <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
207
|
+
| `vue-component-duplicates [file]` | Find heuristic duplicated Vue component structure candidates from template tags, bindings, slots, and directives | variable | `inspect`, `code` | `--min-similarity <n>`<br>`--min-tokens <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
208
|
+
| `vue-composable-candidates [file]` | Find heuristic Vue composable extraction candidates from shared state, effects, requests, and template bindings | variable | `inspect`, `code` | `--min-similarity <n>`<br>`--min-shared-behaviors <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
209
|
+
| `vue-large-view-pressure [file]` | Find heuristic large Vue view pressure candidates from template, script, style, and external script line counts | variable | `inspect`, `code` | `--min-total-lines <n>`<br>`--min-template-lines <n>`<br>`--min-script-lines <n>`<br>`--min-style-lines <n>`<br>`--review-thresholds`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
210
|
+
| `similar-chains` | Find heuristic similar-chain candidates from dependency flows | variable | `inspect`, `code` | `--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-length <n>`<br>`--max-length <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
211
|
+
| `extract-candidates` | Find heuristic extraction candidates from isolated callee clusters | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--min-callees <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
212
|
+
| `locality-candidates [symbol-or-file]` | Find directory-locality and ancestry candidates from consumer ownership | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-consumers <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
213
|
+
| `cleanup-plan` | Ordered, batched deletion plan: graph-fact dead code plus the cascade candidates it unlocks | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--max-depth <n>`<br>`--verify`<br>`--patch`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
214
|
+
| `recent-duplicates` | Directional duplicate candidates: recent code that re-implements established callable, React, or Vue code | variable | `inspect`, `code` | `--window <n>`<br>`--min-similarity <n>`<br>`-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
215
|
+
| `doc-drift [doc]` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | variable | `inspect`, `code` | `-n, --limit <n>`<br>`--min-coupling <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
216
|
+
| `unused-params` | Speculative-generality candidates: trailing parameters no body ever uses (TS/JS) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
217
|
+
| `drift [module]` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | variable | `inspect`, `code` | `--min-deviation <n>`<br>`--patterns`<br>`--architecture`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
218
|
+
| `wrapper-candidates` | Find heuristic wrapper candidates only called by one consumer (high false-positive rate on codebases with intentional layering/ambient types — treat as exploration, not findings) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--max-loc <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
219
|
+
| `passthrough-candidates` | Find heuristic passthrough candidates that forward to one callee | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--max-loc <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
220
|
+
| `stale-abstractions` | Find heuristic stale abstraction candidates with 0-1 consumers (high false-positive rate on codebases with intentional layering/ambient types — treat as exploration, not findings) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`-n, --limit <n>`<br>`--include-low-confidence`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
221
|
+
| `complexity-hotspots` | Find heuristic complexity hotspot candidates from LOC x fan-in x fan-out | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
222
|
+
| `redundant-reexports` | Find barrel re-exports that nobody imports through | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
223
|
+
| `duplicate-bodies` | Find exact duplicate small-body candidates across files | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--max-loc <n>`<br>`--min-loc <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
224
|
+
| `twin-drift` | Twin drift candidates: same-name (or near-name) functions across files with diverged bodies | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-similarity <n>`<br>`--include-homonyms`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
225
|
+
| `twin-ab <symbolA> <symbolB>` | Generate a behavioral A/B scaffold comparing two same-concept twins (cleanup integrity scenario) — a ready-to-fill vitest file, not an auto-executor | bounded | `inspect`, `code` | `--out <path>`<br>`--force`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
226
|
+
| `not-implemented` | Reachable placeholder stub candidates (throw-stub, TODO+return-default, empty body) — production callers can actually reach these; an unreachable stub is dead's job, not this one's | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
227
|
+
| `decorative-checkers` | Decorative checker candidates: validate*/verify*/check*/assert*/is*/has* callables with no reachable failure exit anywhere in their body | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
228
|
+
| `test-quality` | Test-quality candidates: assertion-free it/test bodies, a skipped-test ledger with git-blame age, and mock-echo tests that assert the same literal they stubbed into a mock | variable | `inspect`, `code` | `-s, --scope <path>`<br>`-n, --limit <n>`<br>`--rot-days <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
229
|
+
| `similar-signatures` | Find functions with near-identical type signatures (same shape) | variable | `inspect`, `code` | `-s, --scope <path>`<br>`--min-loc <n>`<br>`--max-shape-frequency <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
230
|
+
|
|
231
|
+
### Graph
|
|
232
|
+
|
|
233
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
234
|
+
|---|---|---|---|---|
|
|
235
|
+
| `hotspots` | Rank symbols by cross-file reference count; a reference metric, not runtime contention | variable | `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
236
|
+
| `fan-in [symbol]` | Count files referencing an exact symbol; top JSON rows include exact symbol identity | small | `evidence`, `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
237
|
+
| `fan-out [file]` | How many external symbols a file uses (or top fan-out across codebase) | variable | `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
238
|
+
| `coupling [file1] [file2]` | Count shared-symbol coupling between two files, or rank file pairs by that metric | variable | `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
239
|
+
| `cycles` | Find every cyclic file-dependency component and show one deterministic witness for each | bounded | `inspect`, `code` | `-s, --scope <path>`<br>`--imports-only`<br>`--max-depth <n>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
240
|
+
| `architecture` | Evaluate project-owned architectural boundaries and dependency rules | bounded | `inspect`, `code` | `-s, --scope <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
241
|
+
| `bottlenecks` | Rank coordination hubs by incoming evidence files × outgoing cross-file callable targets | variable | `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-fan-in <n>`<br>`--min-fan-out <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
242
|
+
| `dependency-depth` | Find longest paths through the SCC-condensed file dependency graph | variable | `inspect`, `code` | `-n, --limit <n>`<br>`-s, --scope <path>`<br>`--min-depth <n>`<br>`--imports-only`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
243
|
+
| `entrypoints [text]` | Find callables where control may enter from outside the indexed call graph | bounded | `evidence`, `inspect`, `code` | `-s, --scope <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
244
|
+
| `entry-map <entry>` | Map the complete indexed call graph from one detected entry point, collapsed by file | bounded | `inspect`, `code` | `--expand <region-id>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
245
|
+
| `call-graph <symbol>` | Show static may-call edges with exact/candidate evidence and explicit blind spots | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
246
|
+
|
|
247
|
+
### Impact
|
|
248
|
+
|
|
249
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
250
|
+
|---|---|---|---|---|
|
|
251
|
+
| `affected <symbol>` | Conservative reverse caller/reference closure of symbols that may be impacted by a change | variable | `inspect`, `code` | `--full`<br>`--max-depth <n>`<br>`-s, --scope <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
252
|
+
| `change-surface <file>` | Pre-change briefing: consumers, published API, operational roots, and explained change risk | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
253
|
+
| `co-change [file]` | Files that change together in git history without a dependency edge — hidden coupling candidates | variable | `inspect`, `code` | `--min-together <n>`<br>`-n, --limit <n>`<br>`--all`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
254
|
+
| `incomplete-migration` | Partially-completed extraction candidates: new helpers in the diff wired into some sites while similar un-migrated sites remain | variable | `inspect`, `code` | `--base <ref>`<br>`--min-containment <n>`<br>`--max-helpers <n>`<br>`-n, --limit <n>`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
255
|
+
| `diff-impact` | Map changed symbols and downstream consumers from the current git diff | variable | `inspect`, `code` | `--base <ref>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
256
|
+
|
|
257
|
+
### Formal Models
|
|
258
|
+
|
|
259
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
260
|
+
|---|---|---|---|---|
|
|
261
|
+
| `tla <operation> [spec]` | TLA+ model workflow: verify a model and mapping contract, scaffold a draft model from indexed code, generate a trace recorder, or check a recorded trace against the next-state relation | variable | - | `--map <file>`<br>`--config <file>`<br>`--checker <mode>`<br>`--tla-tools <jar>`<br>`--apalache <binary>`<br>`--length <n>`<br>`--timeout-ms <n>`<br>`--trace <file>`<br>`--next <operator>`<br>`--coverage`<br>`--allow-unknown`<br>`--out <path>`<br>`--module-name <name>`<br>`--force`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
262
|
+
|
|
263
|
+
### Exploration
|
|
264
|
+
|
|
265
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
266
|
+
|---|---|---|---|---|
|
|
267
|
+
| `context <target>` | Compiler-backed context for a symbol, file, or module | bounded | `inspect`, `code` | `--impact-depth <n>`<br>`--slice-depth <n>`<br>`-s, --scope <path>`<br>`-n, --limit <n>`<br>`--detail`<br>`--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
268
|
+
|
|
269
|
+
### Health
|
|
270
|
+
|
|
271
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
272
|
+
|---|---|---|---|---|
|
|
273
|
+
| `self-audit` | Score cheap evidence paths against the best available semantic/source oracle on sampled symbols | variable | `inspect`, `code` | `--samples <n>`<br>`-s, --scope <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
274
|
+
| `complexity <symbol>` | Per-symbol complexity: branches, cyclomatic estimate, fan-in/out, callees | variable | `inspect`, `code` | `--full`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
275
|
+
| `health` | Composite repository health report with React, Vue, and general cleanup findings | variable | - | `-s, --scope <path>`<br>`--full`<br>`--baseline`<br>`--write-baseline`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
276
|
+
|
|
277
|
+
### Maintenance
|
|
278
|
+
|
|
279
|
+
| Command | Description | Cost | Closes disclosed gaps with | Options |
|
|
280
|
+
|---|---|---|---|---|
|
|
281
|
+
| `install-skills` | Install skills (codebaseiq, codebaseiq-explore, concrete-plan) into Claude Code, Codex, and shared agent roots | variable | - | - |
|
|
282
|
+
| `check-deps` | Check whether codebaseiq and the detected language indexers are runnable | bounded | `inspect`, `code` | - |
|
|
283
|
+
| `capabilities` | Report which mapping and analysis capabilities are available in this project | bounded | `inspect`, `code` | `--matrix`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
284
|
+
| `init` | Create a .codebaseiq.json configuration file for this project | variable | - | - |
|
|
285
|
+
| `config-validate` | Validate .codebaseiq.json, structured suppressions, architecture, and coupling groups | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
286
|
+
| `suppress <id>` | Record an accepted finding under .codebaseiq/suppressions with a required reason | variable | - | `--reason <text>`<br>`--reason-code <code>`<br>`--evidence <kind:referent>`<br>`--check <check>`<br>`--file <path>`<br>`--expires-at <iso>`<br>`--replace <revision>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
287
|
+
| `doctor` | Diagnose configuration, index freshness, dependencies, and project capabilities | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
288
|
+
| `setup` | Install skills, write agent guidance, refresh the index, and report repository health | variable | - | `--guided`<br>`--yes`<br>`--no-skills`<br>`--no-parsers`<br>`--install-missing`<br>`--no-health`<br>`--dossier-dir <path>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
289
|
+
| `setup-agent` | Write concise codebaseiq mapping and cleanup guidance to AGENTS.md and CLAUDE.md | variable | - | - |
|
|
290
|
+
| `uninstall` | Remove selected codebaseiq-owned skills or project guidance | variable | - | `--global`<br>`--project`<br>`--dry-run`<br>`--verbose`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
291
|
+
| `watch` | Watch in the foreground or manage the project refresh service | variable | - | `--daemon`<br>`--status`<br>`--stop`<br>`--debounce <ms>`<br>`--cooldown <ms>`<br>`--git-poll <ms>`<br>`--idle-timeout <ms>`<br>`--json`<br>`--result-only`<br>`--compact` |
|
|
292
|
+
| `status` | Show index status for this project | bounded | `inspect`, `code` | `--json`<br>`--result-only`<br>`--compact` |
|
|
293
|
+
|
|
294
|
+
<!-- END GENERATED COMMAND REFERENCE -->
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Configuration and setup write safety
|
|
2
|
+
|
|
3
|
+
codebaseiq updates files that people and other agents may edit at the same
|
|
4
|
+
time: `.codebaseiq.json`, `.git/info/exclude`, `AGENTS.md`, `CLAUDE.md`, and
|
|
5
|
+
structured suppression records. A conflict-aware writer is a file updater that transforms one
|
|
6
|
+
identified revision and refuses to claim success if an independent revision
|
|
7
|
+
wins before commit. Its defining behavior is preservation: it either applies
|
|
8
|
+
its narrow change to the newest valid input or leaves the newest input
|
|
9
|
+
untouched and reports why.
|
|
10
|
+
|
|
11
|
+
## Revision and commit protocol
|
|
12
|
+
|
|
13
|
+
Every participating writer:
|
|
14
|
+
|
|
15
|
+
1. acquires a short, token-owned process lock beside the target;
|
|
16
|
+
2. reads a stable snapshot and records its SHA-256 hash plus file identity;
|
|
17
|
+
3. computes only the domain change it owns;
|
|
18
|
+
4. rereads the target immediately before commit;
|
|
19
|
+
5. retries the merge when the revision changed and retry is safe, or reports a
|
|
20
|
+
conflict when it is not;
|
|
21
|
+
6. stages and flushes complete bytes, atomically publishes them, and flushes
|
|
22
|
+
the parent directory where the platform exposes that operation.
|
|
23
|
+
|
|
24
|
+
The lock serializes codebaseiq processes. Editors do not need to participate:
|
|
25
|
+
their byte or identity change is detected by the optimistic revision check.
|
|
26
|
+
The lock record is token-owned and carries process identity, so a live owner
|
|
27
|
+
cannot be displaced and a dead owner can be reclaimed by the shared process
|
|
28
|
+
lock protocol.
|
|
29
|
+
|
|
30
|
+
First creation uses a flushed staging inode plus an exclusive public hard
|
|
31
|
+
link. This is stronger than `exists` followed by replacement: only one creator
|
|
32
|
+
can publish, and a reader sees no public file until every byte is present.
|
|
33
|
+
|
|
34
|
+
## JSON merge rules
|
|
35
|
+
|
|
36
|
+
Project setup rereads the latest valid object and changes only the requested
|
|
37
|
+
field. Unknown current and future fields survive. A three-way check compares
|
|
38
|
+
the caller's observed value, the latest value, and the requested value:
|
|
39
|
+
|
|
40
|
+
- an unrelated latest edit is preserved and the owned field is updated;
|
|
41
|
+
- the requested value already present is idempotent;
|
|
42
|
+
- a different latest value for the same field is an explicit stale-field
|
|
43
|
+
conflict.
|
|
44
|
+
|
|
45
|
+
Malformed latest JSON is never repaired by replacement because doing so could
|
|
46
|
+
erase information the writer cannot classify. The command reports the parse
|
|
47
|
+
failure and leaves the exact bytes in place.
|
|
48
|
+
|
|
49
|
+
### Project-config format boundary
|
|
50
|
+
|
|
51
|
+
The project configuration is a durable policy record whose `schemaVersion`
|
|
52
|
+
determines the meaning of its other fields. Current writers publish version 2
|
|
53
|
+
and include a `$schema` URI reference to
|
|
54
|
+
`docs/schemas/project-config.schema.json` in the installed package.
|
|
55
|
+
Unversioned files and explicit `schemaVersion: 1` files have the same readable
|
|
56
|
+
legacy meaning. They are migrated in memory and written as version 2 only when
|
|
57
|
+
`init` creates a file or a setup action enters an authorized mutation path.
|
|
58
|
+
|
|
59
|
+
The schema migration is part of the no-op decision. If the requested field is
|
|
60
|
+
already correct but the durable record is legacy or lacks its editor-schema
|
|
61
|
+
hint, the writer still publishes a current record and reports `changed: true`.
|
|
62
|
+
Unknown root and nested fields survive because migration begins from the
|
|
63
|
+
latest complete object and removes only the owned legacy discriminator.
|
|
64
|
+
|
|
65
|
+
A collaboration domain is the merge-intended family of repository copies that
|
|
66
|
+
share durable project decisions. Its real-world referents are branches,
|
|
67
|
+
clones, linked worktrees, and contributor forks whose records are expected to
|
|
68
|
+
rejoin; the committed `collaborationDomainId` distinguishes that family
|
|
69
|
+
without confusing a filesystem path, host, or mutable remote URL for its
|
|
70
|
+
identity. `init` and `setup` create one opaque UUID when it is missing. A
|
|
71
|
+
concurrent winner is adopted, and later runs never rotate an established ID.
|
|
72
|
+
|
|
73
|
+
A non-integer discriminator, non-object top level, invalid `$schema` hint, or
|
|
74
|
+
unsupported older/future version fails before options are exposed to runtime
|
|
75
|
+
consumers. The loader names the supported legacy/current versions. A setup
|
|
76
|
+
writer applies the same decoder to its latest stable snapshot and leaves
|
|
77
|
+
rejected bytes byte-for-byte unchanged, so upgrading the CLI—not a blind
|
|
78
|
+
rewrite—is the recovery path for a future version.
|
|
79
|
+
|
|
80
|
+
## Suppression policy rules
|
|
81
|
+
|
|
82
|
+
A suppression identity is the stable finding ID, or the deterministic hash of
|
|
83
|
+
a check-and-file target when no finding ID exists. It is a policy conflict
|
|
84
|
+
domain: decisions for different identities occupy different files, while two
|
|
85
|
+
decisions for the same identity must be reconciled.
|
|
86
|
+
|
|
87
|
+
The first decision uses exclusive durable creation. An identical replay
|
|
88
|
+
returns the existing revision without rewriting metadata. A different reason,
|
|
89
|
+
expiry, check, or file requires `--replace <revision>`, where the revision is
|
|
90
|
+
the full SHA-256 hash reported when the existing decision was rejected or
|
|
91
|
+
created. Replacement succeeds only if those exact reviewed bytes still occupy
|
|
92
|
+
the path. A stale token, a malformed record, an unsupported future schema, or
|
|
93
|
+
an edit at the commit boundary leaves the latest bytes untouched.
|
|
94
|
+
|
|
95
|
+
New records use suppression schema version 1 and include the
|
|
96
|
+
`codebaseiq-suppression` discriminator, their stable identity, and the
|
|
97
|
+
`codebaseiq` writer version. Unversioned legacy records and v1 records written
|
|
98
|
+
before the discriminator was added remain readable. They remain byte-for-byte
|
|
99
|
+
unchanged on an idempotent replay and are upgraded only by an explicit
|
|
100
|
+
compare-and-replace policy change. Incompatible files are reported by
|
|
101
|
+
`config-validate`; they never authorize a suppression.
|
|
102
|
+
|
|
103
|
+
## Managed text rules
|
|
104
|
+
|
|
105
|
+
Agent guidance changes only the text between the exact
|
|
106
|
+
`codebaseiq:agent-setup` markers. Text before and after the block is preserved.
|
|
107
|
+
Missing markers permit first installation, but incomplete, duplicated, or
|
|
108
|
+
reordered markers are a conflict because the intended ownership boundary is
|
|
109
|
+
ambiguous.
|
|
110
|
+
|
|
111
|
+
Managed Markdown uses a strict final revision check rather than silently
|
|
112
|
+
recomputing across an intervening edit. The command
|
|
113
|
+
reports the expected and latest revision hashes and does not write.
|
|
114
|
+
`.git/info/exclude` can safely retry because its exact owned marker block is
|
|
115
|
+
recomputed from the newest text.
|
|
116
|
+
|
|
117
|
+
## Recovery
|
|
118
|
+
|
|
119
|
+
When a command reports a conflict:
|
|
120
|
+
|
|
121
|
+
1. open the named file and preserve the latest independent edit;
|
|
122
|
+
2. repair malformed JSON or marker structure deliberately, if reported;
|
|
123
|
+
3. for a suppression policy change, review the latest decision and rerun
|
|
124
|
+
`suppress` with the reported `--replace <revision>`;
|
|
125
|
+
4. for setup/configuration, rerun the command so it reads the new revision.
|
|
126
|
+
|
|
127
|
+
Do not delete a live `.codebaseiq-write.lock`. If its owner crashed, the next
|
|
128
|
+
writer reclaims it only after the shared lock protocol proves the recorded
|
|
129
|
+
process identity is no longer live. A crash before publication leaves the
|
|
130
|
+
previous target intact; a failed first publication leaves no partial public
|
|
131
|
+
file.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Detector guide
|
|
2
|
+
|
|
3
|
+
A detector is a repository analysis that selects source locations with a
|
|
4
|
+
shared evidence pattern. Compiler-graph detectors report resolved program
|
|
5
|
+
relationships. Heuristic detectors report candidates that require source
|
|
6
|
+
confirmation.
|
|
7
|
+
|
|
8
|
+
## Repository overview
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
codebaseiq health --full
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The health report combines graph structure, duplication, drift, complexity,
|
|
15
|
+
history, suppressions, coverage contracts, and React and Vue analyses. Its
|
|
16
|
+
score is a summary, not proof of correctness.
|
|
17
|
+
|
|
18
|
+
## Focused detector families
|
|
19
|
+
|
|
20
|
+
| Concern | Commands |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| Exact or near duplication | `duplicate-bodies`, `similar`, `recent-duplicates` |
|
|
23
|
+
| Parallel implementations | `twin-drift`, `incomplete-migration`, `drift` |
|
|
24
|
+
| Unused or disconnected code | `dead`, `isolated`, `unused-params` |
|
|
25
|
+
| Excess indirection | `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `redundant-reexports` |
|
|
26
|
+
| Change pressure | `complexity-hotspots`, `co-change`, `cycles` |
|
|
27
|
+
| Documentation | `doc-drift` |
|
|
28
|
+
| React | `react-component-duplicates`, `react-hook-candidates`, `react-large-component-pressure` |
|
|
29
|
+
| Vue | `vue-component-duplicates`, `vue-composable-candidates`, `vue-large-view-pressure` |
|
|
30
|
+
| Team structure policy | `architecture` |
|
|
31
|
+
|
|
32
|
+
Run focused commands through the `codebaseiq` CLI. Add `--full` only when that
|
|
33
|
+
command supports it and exhaustive command coverage can change the decision.
|
|
34
|
+
|
|
35
|
+
## Acting on findings
|
|
36
|
+
|
|
37
|
+
1. Read the cited source.
|
|
38
|
+
2. Identify the shared concept or violated rule.
|
|
39
|
+
3. Preserve intentional variation.
|
|
40
|
+
4. Make one coherent edit.
|
|
41
|
+
5. Run native checks and the relevant detector again.
|
|
42
|
+
6. Use `codebaseiq diff-impact` when downstream consumers may have changed.
|
|
43
|
+
|
|
44
|
+
Suppress a false or accepted finding with `codebaseiq suppress <id>` and a
|
|
45
|
+
specific reason. A suppression addresses one finding; it must not disable an
|
|
46
|
+
unrelated detector family.
|