@iowarp/clio-coder 0.4.1 → 0.4.2
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 +92 -0
- package/CONTRIBUTING.md +59 -36
- package/README.md +404 -472
- package/SECURITY.md +2 -1
- package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
- package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
- package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
- package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
- package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
- package/dist/chunk-2X4RYJTJ.js +39 -0
- package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
- package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
- package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
- package/dist/chunk-3EBYEESD.js +314 -0
- package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
- package/dist/{chunk-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
- package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
- package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
- package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
- package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
- package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
- package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
- package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
- package/dist/chunk-77QIVUZB.js +1334 -0
- package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
- package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
- package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
- package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
- package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
- package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
- package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
- package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
- package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
- package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
- package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
- package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
- package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
- package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
- package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
- package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
- package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
- package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
- package/dist/chunk-HLAFFSEK.js +360 -0
- package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
- package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
- package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
- package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
- package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
- package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
- package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
- package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
- package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
- package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
- package/dist/chunk-KPXDY6QF.js +47 -0
- package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
- package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
- package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
- package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
- package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
- package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
- package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
- package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
- package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
- package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
- package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
- package/dist/chunk-PJX3WQUQ.js +42 -0
- package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
- package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
- package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
- package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
- package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
- package/dist/chunk-SZAA6XDG.js +30 -0
- package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
- package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
- package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
- package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
- package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
- package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
- package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
- package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
- package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
- package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
- package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
- package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
- package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
- package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
- package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
- package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
- package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
- package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
- package/dist/cli/index.js +33 -32
- package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
- package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
- package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
- package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
- package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
- package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
- package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
- package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
- package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
- package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
- package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
- package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
- package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
- package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
- package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
- package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
- package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
- package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
- package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
- package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
- package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
- package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
- package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
- package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
- package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
- package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
- package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
- package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
- package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
- package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
- package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
- package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
- package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
- package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
- package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
- package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
- package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
- package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
- package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
- package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
- package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
- package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
- package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
- package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
- package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
- package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
- package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
- package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
- package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
- package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
- package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
- package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
- package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
- package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
- package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
- package/dist/worker/entry.js +45 -30
- package/docs/README.md +176 -81
- package/docs/{acp.md → architecture/acp.md} +36 -20
- package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
- package/docs/{architecture.md → architecture/architecture.md} +43 -22
- package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
- package/docs/architecture/artifact-versions.md +90 -0
- package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
- package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
- package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
- package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
- package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
- package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
- package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
- package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
- package/docs/{observability.md → architecture/observability.md} +26 -13
- package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
- package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
- package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
- package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
- package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
- package/docs/architecture/time-conventions.md +125 -0
- package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
- package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
- package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
- package/docs/{built-in-agents.md → guide/built-in-agents.md} +50 -34
- package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
- package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
- package/docs/guide/configuration-reference.md +1158 -0
- package/docs/{environment-variables.md → guide/environment-variables.md} +31 -28
- package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
- package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
- package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
- package/docs/{glossary.md → guide/glossary.md} +14 -11
- package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +44 -13
- package/docs/guide/panes-and-files.md +290 -0
- package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
- package/docs/{resource-library.md → guide/resource-library.md} +13 -4
- package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
- package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
- package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
- package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
- package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
- package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
- package/docs/process/documentation-coverage.md +100 -0
- package/docs/process/documentation-guide.md +187 -0
- package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
- package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
- package/docs/{evolution.md → process/evolution.md} +2 -2
- package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
- package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
- package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
- package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
- package/evals/README.md +2 -2
- package/package.json +9 -7
- package/skills/README.md +46 -37
- package/skills/coding/ast-grep/SKILL.md +2 -2
- package/skills/coding/coding-standards/SKILL.md +2 -2
- package/skills/coding/prototype/SKILL.md +2 -2
- package/skills/coding/tdd/SKILL.md +2 -2
- package/skills/context/context-handoff/SKILL.md +2 -2
- package/skills/context/context-prime/SKILL.md +2 -2
- package/skills/git/file-ticket/SKILL.md +2 -2
- package/skills/git/fix-issue/SKILL.md +3 -3
- package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
- package/skills/git/ship/SKILL.md +2 -2
- package/skills/git/worktree-create/SKILL.md +2 -2
- package/skills/git/worktree-merge/SKILL.md +2 -2
- package/skills/meta/clio-coder-dev/SKILL.md +9 -5
- package/skills/meta/clio-coder-dev/evals.md +3 -2
- package/skills/meta/clio-coder-test/SKILL.md +102 -95
- package/skills/meta/clio-coder-test/evals.md +9 -4
- package/skills/meta/clio-coder-test/references/harness.md +100 -124
- package/skills/meta/clio-coder-test/references/test-map.md +77 -50
- package/skills/meta/credentials/SKILL.md +2 -2
- package/skills/meta/find-skills/SKILL.md +2 -2
- package/skills/meta/herdr/SKILL.md +2 -2
- package/skills/meta/skill-craft/SKILL.md +22 -16
- package/skills/planning/architecture/SKILL.md +2 -2
- package/skills/planning/backlog/SKILL.md +2 -2
- package/skills/planning/prd/SKILL.md +2 -2
- package/skills/planning/product-intent/SKILL.md +2 -2
- package/skills/planning/tech-spec/SKILL.md +2 -2
- package/skills/registry.yaml +62 -62
- package/skills/research/arxiv-literature/SKILL.md +2 -2
- package/skills/research/experiment-protocol/SKILL.md +2 -2
- package/skills/research/scientific-debugging/SKILL.md +2 -2
- package/skills/research/scientific-modernization/SKILL.md +2 -2
- package/skills/skill-marketplace.json +62 -62
- package/skills/workflow/cut-it/SKILL.md +2 -2
- package/skills/workflow/design-council/SKILL.md +2 -2
- package/skills/workflow/grill-me/SKILL.md +2 -2
- package/skills/workflow/workflow-distiller/SKILL.md +2 -2
- package/src/cli/args.ts +2 -2
- package/src/cli/bootstrap-generate.ts +1 -1
- package/src/cli/config-inspect.ts +65 -12
- package/src/cli/configure.ts +0 -4
- package/src/cli/docs.ts +22 -14
- package/src/cli/doctor-naming.ts +5 -5
- package/src/cli/doctor-toolchain.ts +3 -3
- package/src/cli/eval.ts +1 -2
- package/src/cli/extensions.ts +2 -1
- package/src/cli/fleet.ts +1 -1
- package/src/cli/index.ts +2 -1
- package/src/cli/internal-dispatch.ts +3 -4
- package/src/cli/panes.ts +19 -5
- package/src/cli/run.ts +2 -2
- package/src/cli/share.ts +5 -1
- package/src/cli/skills-eval.ts +3 -3
- package/src/cli/targets.ts +2 -6
- package/src/cli/trace.ts +55 -4
- package/src/cli/wiki-generate.ts +1 -1
- package/src/core/artifact-paths.ts +1 -1
- package/src/core/bash-exec.ts +131 -86
- package/src/core/bus-events.ts +51 -6
- package/src/core/config.ts +5 -1
- package/src/core/defaults.ts +7 -4
- package/src/core/dispatch-outcome.ts +16 -0
- package/src/core/guardrails.ts +10 -49
- package/src/core/prompt-hint.ts +9 -0
- package/src/domains/agents/builtins/architect.md +2 -3
- package/src/domains/agents/builtins/coder.md +3 -2
- package/src/domains/agents/builtins/debugger.md +2 -2
- package/src/domains/agents/builtins/documenter.md +2 -2
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/oracle.md +1 -1
- package/src/domains/agents/builtins/provenance.md +1 -1
- package/src/domains/agents/builtins/researcher.md +1 -1
- package/src/domains/agents/builtins/scout.md +1 -1
- package/src/domains/agents/builtins/tester.md +2 -2
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +1 -1
- package/src/domains/agents/catalog.ts +12 -14
- package/src/domains/agents/contract.ts +2 -0
- package/src/domains/agents/extension.ts +23 -1
- package/src/domains/config/keybindings.ts +8 -0
- package/src/domains/context/extension.ts +0 -3
- package/src/domains/context/working-set/path-index.ts +1 -0
- package/src/domains/dispatch/capability-match.ts +10 -0
- package/src/domains/dispatch/extension.ts +105 -22
- package/src/domains/dispatch/host-verification.ts +435 -39
- package/src/domains/dispatch/intent-requirements.ts +10 -0
- package/src/domains/dispatch/intent.ts +18 -1
- package/src/domains/dispatch/path-scope.ts +235 -24
- package/src/domains/dispatch/run-event-journal.ts +4 -15
- package/src/domains/dispatch/state.ts +2 -3
- package/src/domains/dispatch/transport.ts +45 -21
- package/src/domains/dispatch/types.ts +55 -3
- package/src/domains/eval/artifacts/store.ts +5 -0
- package/src/domains/eval/store.ts +8 -1
- package/src/domains/evidence/trust-status.ts +10 -1
- package/src/domains/extensions/contract.ts +15 -1
- package/src/domains/extensions/discovery.ts +238 -41
- package/src/domains/extensions/extension.ts +105 -6
- package/src/domains/extensions/index.ts +24 -0
- package/src/domains/extensions/integrity.ts +189 -0
- package/src/domains/extensions/manager.ts +17 -1
- package/src/domains/extensions/resource-path.ts +27 -0
- package/src/domains/extensions/resources.ts +18 -38
- package/src/domains/extensions/snapshot-store.ts +39 -0
- package/src/domains/extensions/snapshot.ts +180 -0
- package/src/domains/extensions/state.ts +385 -57
- package/src/domains/extensions/types.ts +118 -1
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/lifecycle/naming-resources.ts +19 -4
- package/src/domains/lifecycle/naming-yazi.ts +10 -5
- package/src/domains/middleware/contract.ts +26 -0
- package/src/domains/middleware/extension.ts +24 -24
- package/src/domains/middleware/hook-receipts.ts +27 -4
- package/src/domains/middleware/hooks-io.ts +65 -32
- package/src/domains/middleware/hooks.ts +64 -0
- package/src/domains/middleware/index.ts +28 -4
- package/src/domains/middleware/registrations.ts +326 -0
- package/src/domains/middleware/runtime.ts +28 -0
- package/src/domains/middleware/snapshot.ts +20 -7
- package/src/domains/mux/contract.ts +38 -0
- package/src/domains/mux/detect.ts +6 -13
- package/src/domains/mux/index.ts +1 -1
- package/src/domains/mux/operations.ts +44 -5
- package/src/domains/mux/yazi/assets/yazi.toml +2 -2
- package/src/domains/mux/yazi/session.ts +53 -4
- package/src/domains/mux/yazi/theme.ts +117 -17
- package/src/domains/observability/contract.ts +10 -11
- package/src/domains/observability/extension.ts +11 -3
- package/src/domains/observability/projection.ts +14 -90
- package/src/domains/observability/trace-store.ts +43 -7
- package/src/domains/prompts/compiler.ts +73 -53
- package/src/domains/prompts/contract.ts +15 -3
- package/src/domains/prompts/extension.ts +97 -9
- package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
- package/src/domains/prompts/fragments/identity/clio.md +6 -12
- package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
- package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
- package/src/domains/prompts/fragments/operating/contract.md +7 -15
- package/src/domains/prompts/fragments/operating/delegation.md +32 -34
- package/src/domains/prompts/fragments/operating/skills.md +10 -24
- package/src/domains/prompts/fragments/operating/worker.md +1 -8
- package/src/domains/providers/index.ts +1 -1
- package/src/domains/providers/model-runtime-capabilities.ts +85 -21
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
- package/src/domains/providers/runtime-resolution.ts +31 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
- package/src/domains/providers/types/cost-provenance.ts +19 -0
- package/src/domains/providers/types/local-model-quirks.ts +85 -37
- package/src/domains/resources/skills/loader.ts +16 -19
- package/src/domains/safety/call-target.ts +1 -1
- package/src/domains/safety/loop-detector.ts +7 -4
- package/src/domains/session/task-board.ts +10 -9
- package/src/domains/share/archive.ts +164 -7
- package/src/engine/acp/server.ts +62 -9
- package/src/engine/apis/llamacpp-residency.ts +3 -4
- package/src/engine/apis/lmstudio.ts +3 -3
- package/src/engine/apis/ollama-native.ts +6 -6
- package/src/engine/apis/openai-completions.ts +28 -25
- package/src/engine/apis/output-budget.ts +8 -18
- package/src/engine/apis/residency.ts +8 -27
- package/src/engine/gemma-channel-filter.ts +19 -0
- package/src/engine/loop-guard.ts +92 -12
- package/src/engine/worker-runtime.ts +40 -11
- package/src/engine/worker-tools.ts +3 -1
- package/src/entry/extension-hook-sources.ts +28 -0
- package/src/entry/extension-reload.ts +309 -0
- package/src/entry/orchestrator.ts +59 -35
- package/src/interactive/application-controller.ts +2 -1
- package/src/interactive/bus-notices.ts +8 -1
- package/src/interactive/chat-loop-messages.ts +3 -13
- package/src/interactive/chat-loop.ts +10 -1
- package/src/interactive/chat-panel.ts +36 -13
- package/src/interactive/chat-renderer.ts +71 -7
- package/src/interactive/dispatch-board.ts +6 -11
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +39 -4
- package/src/interactive/interactive-input-runtime.ts +4 -0
- package/src/interactive/interactive-presentation.ts +2 -2
- package/src/interactive/interactive-slash-runtime.ts +2 -0
- package/src/interactive/overlays/extensions.ts +9 -1
- package/src/interactive/overlays/help-reference.ts +13 -0
- package/src/interactive/overlays/settings.ts +27 -16
- package/src/interactive/panes-runtime.ts +111 -35
- package/src/interactive/prompt-cache-identity.ts +88 -0
- package/src/interactive/slash-commands.ts +129 -14
- package/src/interactive/stream-pacing-policy.ts +0 -23
- package/src/interactive/turn-context.ts +30 -15
- package/src/interactive/yazi-bridge.ts +60 -6
- package/src/tools/agent-tools.ts +30 -1
- package/src/tools/artifact.ts +2 -2
- package/src/tools/ask-user.ts +3 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +52 -22
- package/src/tools/codewiki/code-nav-surface.ts +6 -0
- package/src/tools/codewiki/code-nav.ts +99 -13
- package/src/tools/context/docs-engine.ts +20 -7
- package/src/tools/context/index.ts +29 -12
- package/src/tools/core-bootstrap.ts +28 -6
- package/src/tools/credential-present.ts +1 -2
- package/src/tools/dispatch-arguments.ts +5 -1
- package/src/tools/dispatch-plan.ts +48 -4
- package/src/tools/dispatch-run-events.ts +1 -1
- package/src/tools/dispatch-schema.ts +338 -0
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +9 -254
- package/src/tools/ledger.ts +3 -5
- package/src/tools/monitor-surface.ts +5 -13
- package/src/tools/observation.ts +4 -5
- package/src/tools/panes-surface.ts +4 -11
- package/src/tools/panes.ts +4 -2
- package/src/tools/policy.ts +15 -2
- package/src/tools/read.ts +5 -6
- package/src/tools/registry.ts +30 -7
- package/src/tools/result-shaping.ts +18 -14
- package/src/tools/steer-surface.ts +1 -1
- package/src/tools/tasks.ts +1 -1
- package/src/tools/truncate.ts +6 -5
- package/src/tools/verify/surface.ts +6 -12
- package/src/tools/web-fetch-surface.ts +1 -3
- package/dist/chunk-5QIAJV2D.js +0 -48
- package/dist/chunk-JZWT5J3Y.js +0 -814
- package/dist/chunk-K7VKOLQQ.js +0 -15
- package/dist/chunk-PMZCIOCJ.js +0 -25
- package/dist/chunk-SUW5DORT.js +0 -819
- package/dist/chunk-UOV2BYIW.js +0 -107
- package/dist/chunk-WR6U3OVP.js +0 -45
- package/docs/artifact-versions.md +0 -67
- package/docs/documentation-coverage.md +0 -46
- package/docs/documentation-guide.md +0 -167
- package/docs/time-conventions.md +0 -101
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# Troubleshooting & Error Remediation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Troubleshooting & Error Remediation visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/troubleshooting_blueprint.html).
|
|
5
|
+
|
|
6
|
+
This guide provides concrete, actionable remediation procedures for
|
|
7
|
+
operational errors, permission denials, target connection failures, and system
|
|
8
|
+
diagnostics in the current source tree.
|
|
4
9
|
|
|
5
10
|
---
|
|
6
11
|
|
|
@@ -14,7 +19,7 @@ This guide provides concrete, actionable remediation procedures for operational
|
|
|
14
19
|
| `no local skill marketplace catalog or index configured` | No catalog directory (`CLIO_CODER_SKILL_CATALOG_DIR`, a `skills/` folder in the working tree, or the installed package's own `skills/` catalog) and no JSON index (`CLIO_CODER_SKILL_MARKETPLACE_INDEX`, `<configDir>/skill-marketplace.json`, or the package's `skills/skill-marketplace.json`) was found. On an npm install this means the package is incomplete; check `clio-coder doctor`. | Point `CLIO_CODER_SKILL_CATALOG_DIR` at a `skills/` catalog or `CLIO_CODER_SKILL_MARKETPLACE_INDEX` at a valid `skill-marketplace.json`, or install a skill directly via `clio-coder skills install <path\|github-url>`. |
|
|
15
20
|
| `<arg> is a global option and must come before the subcommand: clio-coder <usage> <command> ...` | A global CLI option (such as `--api-key`, `--no-context-files`, or `-nc`) was placed after the subcommand name. Directory roots are configured via `CLIO_CODER_*_DIR` environment variables. | Move the flag before the subcommand name (e.g. `clio-coder --api-key <key> run ...` instead of `clio-coder run --api-key <key> ...`). |
|
|
16
21
|
| `target <id> is not registered` | The designated target ID does not exist in `settings.yaml`. | Run `clio-coder targets` to view available targets, or configure a new target using `clio-coder targets add`. |
|
|
17
|
-
| `budget: ceiling must be >= 0 (got <val>)` | A negative session cost ceiling reached the scheduling budget (`src/domains/scheduling/budget.ts`). | Set a non-negative `
|
|
22
|
+
| `budget: ceiling must be >= 0 (got <val>)` | A negative session cost ceiling reached the scheduling budget (`src/domains/scheduling/budget.ts`). | Set a non-negative `safety.limits.sessionCostUsd` in `settings.yaml`, or edit Session ceiling (USD) in Settings → Budget. |
|
|
18
23
|
| `worker_final_output_missing` | A worker process completed execution with exit code 0 but failed to emit a valid final answer before the stream closed. | Check the worker event log using `clio-coder trace tail <runId>` or inspect the receipt via `monitor(run_id="<id>", mode="receipt")`. |
|
|
19
24
|
| `vram_capacity_fit_failure` | The model could not be scheduled or loaded due to insufficient GPU VRAM capacity on the target node. | Select a smaller quantized model variant, reduce context window size, or route to an alternative fleet node with greater memory capacity. |
|
|
20
25
|
| `loop_guard_tools_disabled_exhausted` | The loop detector identified repeated unproductive tool calls with identical arguments and disabled tool execution. | Inspect model prompts and provide clearer intermediate steering instructions to prevent recursive tool loops. |
|
|
@@ -44,7 +49,7 @@ Those are the server's own numbers, not Clio's estimate. `server does not report
|
|
|
44
49
|
last cold turn: working-set eviction (expected)
|
|
45
50
|
```
|
|
46
51
|
|
|
47
|
-
The eight causes and what stamps each one are in [context-engine.md](context-engine.md#cache-divergence-honesty). `background_memory` renders in prose as `last cold turn: background memory step (expected)`.
|
|
52
|
+
The eight causes and what stamps each one are in [context-engine.md](../architecture/context-engine.md#cache-divergence-honesty). `background_memory` renders in prose as `last cold turn: background memory step (expected)`.
|
|
48
53
|
|
|
49
54
|
**3. Confirm it in the ledger.** The reasons are durable, so a finished session answers the same question without the TUI. Open `current.jsonl` under the session directory `clio-coder paths` reports and read the run's first assistant entry:
|
|
50
55
|
|
|
@@ -72,7 +77,7 @@ The eight causes and what stamps each one are in [context-engine.md](context-eng
|
|
|
72
77
|
- **The model was swapped.** A router serving one model at a time reloads on a residency change, and everything the previous model had cached is gone. This normally does stamp `residency`, but only when the mutation went through Clio.
|
|
73
78
|
- **The prompt moved for a reason Clio did not classify.** Compare the run's `promptHash` and `toolSignature` in `context-snapshots.jsonl` against the previous run's. Equal hashes with a cold backend point at the server; different hashes with no `prompt_recompiled` or `tool_surface_change` stamp is worth an issue.
|
|
74
79
|
|
|
75
|
-
One case is expected on hybrid architectures and looks like a bug. Qwen3.8 keeps recurrent state that llama.cpp cannot roll back to an arbitrary token, so a change anywhere inside a cached prefix re-prefills from the last context checkpoint rather than from the changed byte. A small edit to old history can therefore cost thousands of tokens of prefill with the prompt hash otherwise stable. The server's checkpoint count and its `--checkpoint-min-step` are the levers; see the `qwen3.8-27b` family's `serving` and `measuredUnder` notes in `src/domains/providers/models/local-models/clio-local-coding-targets.yaml` for the measured figures and the exact argv they were taken under.
|
|
80
|
+
One case is expected on hybrid architectures and looks like a bug. Qwen3.8 keeps recurrent state that llama.cpp cannot roll back to an arbitrary token, so a change anywhere inside a cached prefix re-prefills from the last context checkpoint rather than from the changed byte. A small edit to old history can therefore cost thousands of tokens of prefill with the prompt hash otherwise stable. The server's checkpoint count and its `--checkpoint-min-step` are the levers; see the `qwen3.8-27b` family's `serving` and `measuredUnder` notes in `src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml` for the measured figures and the exact argv they were taken under.
|
|
76
81
|
|
|
77
82
|
---
|
|
78
83
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
# Config Knobs Audit (Historical Appendix)
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Config Knobs Audit (Historical Appendix) visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/config_knobs_audit_blueprint.html).
|
|
5
5
|
|
|
6
6
|
> [!IMPORTANT]
|
|
7
7
|
> This document is a historical record of the point-in-time configuration knob audit conducted on 2026-07-03.
|
|
8
8
|
> It details the pre-consolidation state of the codebase before the `v0.2.9` release.
|
|
9
|
-
> For the current, active, and authoritative reference of environment variables, please refer to [environment-variables.md](environment-variables.md).
|
|
9
|
+
> For the current, active, and authoritative reference of environment variables, please refer to [environment-variables.md](../guide/environment-variables.md).
|
|
10
10
|
|
|
11
11
|
> [!NOTE]
|
|
12
|
-
> Pane settings were introduced after this audit and are intentionally absent from its tables. In the current schema, `panes.agents` and `panes.keepFailed` are retired and refused when newly authored; `clio-coder upgrade` removes them from an older settings file before strict validation. See [configuration-and-targets.md](configuration-and-targets.md) for the active pane keys and their migration behavior.
|
|
12
|
+
> Pane settings were introduced after this audit and are intentionally absent from its tables. In the current schema, `panes.agents` and `panes.keepFailed` are retired and refused when newly authored; `clio-coder upgrade` removes them from an older settings file before strict validation. See [configuration-and-targets.md](../guide/configuration-and-targets.md) for the active pane keys and their migration behavior.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
Point-in-time inventory of every tunable knob outside `settings.yaml`: environment variables, the compiled-in defaults behind them, and the CLI flags that bridge into them. Gathered 2026-07-03 by sweeping `src/` for `process.env` reads and cross-checking `scripts/`, `benchmarks/`, and `docs/`. Purpose: reason about which knobs earn their keep, which belong in `settings.yaml`, and which are dead.
|
|
17
17
|
|
|
18
|
-
> **Status: findings 1-5 fixed on 2026-07-03.**
|
|
18
|
+
> **Status: findings 1-5 fixed on 2026-07-03.** Guardrail policy moved into settings, and the transitional guardrail environment overrides were removed on 2026-09-02. The run.ts/print.ts env bridges collapsed into one typed transport (`src/core/run-overrides.ts`, `CLIO_CODER_RUN_OVERRIDES`), retiring `CLIO_CODER_MAX_CONTEXT_TOKENS`, `CLIO_CODER_KV_CACHE_MODE`, and `CLIO_CODER_SAMPLING_OVERRIDES`; the dead `CLIO_CODER_NO_UPDATE_NOTIFIER` setters were deleted; and [environment-variables.md](../guide/environment-variables.md) is now the maintained reference. The tables below preserve the pre-fix state.
|
|
19
19
|
|
|
20
20
|
## The pattern, first
|
|
21
21
|
|
|
@@ -32,7 +32,7 @@ Every runtime-tunable value needs both halves; the pair is one knob, not two. Th
|
|
|
32
32
|
|---|---|---|---|
|
|
33
33
|
| `CLIO_CODER_ORCH_MAX_TOOL_CALLS` | 60 soft, hard = soft + 15 | `src/engine/loop-guard.ts` → `src/entry/orchestrator.ts` | Orchestrator per-turn tool-call budget. Soft crossing blocks further calls this turn; hard ceiling interrupts the turn. |
|
|
34
34
|
| `CLIO_CODER_MAX_TOOL_CALLS` | 50 | `src/engine/loop-guard.ts` → `src/engine/worker-runtime.ts` | Worker lifetime tool-call cap for a dispatched run. Different axis than the orchestrator budget despite the near-identical name. |
|
|
35
|
-
| `
|
|
35
|
+
| `CLIO_CODER_MAX_DISPATCH_RUNS` | 1000 | `src/domains/dispatch/state.ts` | Dispatch run-ledger retention cap. |
|
|
36
36
|
| `CLIO_CODER_MAX_CONTEXT_TOKENS` | unset | `src/domains/providers/runtime-resolution.ts` | Context-window override for local runtimes. Also set internally by `clio-coder run --max-context-tokens` (see §6). |
|
|
37
37
|
| `CLIO_CODER_KV_CACHE_MODE` | unset | retired | KV-cache quantization mode. Also set internally by the former `clio-coder run --kv-cache-mode` path. |
|
|
38
38
|
| `CLIO_CODER_SAMPLING_OVERRIDES` | unset | `src/engine/apis/sampling-overrides.ts` | JSON sampling-parameter override. Set internally by print-mode sampling flags. |
|
|
@@ -48,7 +48,7 @@ Every runtime-tunable value needs both halves; the pair is one knob, not two. Th
|
|
|
48
48
|
| `CLIO_CODER_STATUS_STUCK_MS` | 180000 | `src/interactive/status/watchdog.ts` | Stuck-turn watchdog threshold. |
|
|
49
49
|
| `CLIO_CODER_SHUTDOWN_HOOK_MS` | 500 | `src/core/termination.ts` | Wall-clock budget per shutdown hook. |
|
|
50
50
|
| `CLIO_CODER_FORCE_COMPACT` | off | `src/interactive/chat-loop.ts` | `1` forces compaction on the next turn regardless of threshold. |
|
|
51
|
-
| `
|
|
51
|
+
| `CLIO_CODER_TRUST_PROJECT_RESOURCES` | off | `src/domains/resources/skills/loader.ts` | `1` trusts project-local compatibility resources for execution. |
|
|
52
52
|
| `CLIO_CODER_ALLOW_EXTERNAL_FULL_ACCESS` | off | `src/engine/claude/subprocess-runtime.ts`, `src/engine/antigravity/subprocess-runtime.ts` | `1` lets full-auto pass through to external CLI runtimes with their own full access. |
|
|
53
53
|
| `CLIO_CODER_SKILL_CATALOG_DIR` | unset | `src/domains/resources/skills/marketplace.ts`, `provenance-pin.ts` | Local skill-catalog directory override. |
|
|
54
54
|
| `CLIO_CODER_SKILL_MARKETPLACE_INDEX` | unset | `src/domains/resources/skills/marketplace.ts` | Marketplace index path override. |
|
|
@@ -106,10 +106,10 @@ All default off; all enabled with `1`.
|
|
|
106
106
|
|
|
107
107
|
## Findings and consolidation candidates
|
|
108
108
|
|
|
109
|
-
1. **Naming: `CLIO_CODER_MAX_TOOL_CALLS` vs `CLIO_CODER_ORCH_MAX_TOOL_CALLS`.** These
|
|
110
|
-
2. **Operator policy living in env instead of settings.**
|
|
109
|
+
1. **Naming: `CLIO_CODER_MAX_TOOL_CALLS` vs `CLIO_CODER_ORCH_MAX_TOOL_CALLS`.** These sounded like the same knob but governed different axes. Both transitional names were later removed in favor of the canonical settings paths.
|
|
110
|
+
2. **Operator policy living in env instead of settings.** Guard budgets, tool byte caps, and run retention are durable operator policy. Their canonical version 2 paths now live under `safety.limits` and `fleet`, with no environment precedence layer.
|
|
111
111
|
3. **The env-bridge pattern (§6) is the real implementation bloat.** Set-env / run / restore-env in `run.ts` and `print.ts` was collapsed into `CLIO_CODER_RUN_OVERRIDES`.
|
|
112
|
-
4. **Undocumented knobs.** Many operator knobs were undocumented in v0.2.7. Whatever survived the audit was consolidated into [environment-variables.md](environment-variables.md).
|
|
112
|
+
4. **Undocumented knobs.** Many operator knobs were undocumented in v0.2.7. Whatever survived the audit was consolidated into [environment-variables.md](../guide/environment-variables.md).
|
|
113
113
|
5. **Dead reference.** `CLIO_CODER_NO_UPDATE_NOTIFIER` (§7) was removed.
|
|
114
|
-
6. **
|
|
114
|
+
6. **Resolved overlap: project resource trust.** `integrations.projectResources.trustProjectImports` is now the only trust-policy surface; the transitional environment override was removed.
|
|
115
115
|
7. **Healthy as-is.** Directory overrides (§2), debug toggles (§3), internal plumbing (§4), and test-only vars (§5) are all conventional env usage and cheap to keep. The hook-budget family is five vars but one subsystem with sane defaults; fold into settings only if hook tuning becomes routine.
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# v0.4.1 Release-Cut Checklist
|
|
2
2
|
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [v0.4.1 Release-Cut Checklist visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/release_cut_checklist_blueprint.html).
|
|
5
|
+
|
|
6
|
+
> [!IMPORTANT]
|
|
7
|
+
> Historical release record. v0.4.1 has been published, and this checklist is
|
|
8
|
+
> retained to explain how that release was cut. It is not the procedure for
|
|
9
|
+
> v0.4.2 or any later release; paths, gates, versions, dates, and authorization
|
|
10
|
+
> state must be re-established from current source before a future cut.
|
|
11
|
+
|
|
3
12
|
This is the ordered procedure for turning the prepared `v0.4.1` branch into a
|
|
4
13
|
published release. Everything above the **AUTHORIZATION BOUNDARY** is local,
|
|
5
14
|
repeatable, and reversible. Everything below it changes a remote ref, creates a
|
|
@@ -57,11 +66,29 @@ operator's explicit approval of the exact candidate SHA and commands.
|
|
|
57
66
|
7. When a configured target is available, run one real built-binary turn:
|
|
58
67
|
|
|
59
68
|
```sh
|
|
60
|
-
|
|
69
|
+
node dist/cli/index.js run --target <id> --autonomy read-only \
|
|
70
|
+
"Report the active target and confirm this is a release smoke turn."
|
|
61
71
|
```
|
|
62
72
|
|
|
73
|
+
Run it with an isolated `CLIO_CODER_HOME` containing only the test target.
|
|
63
74
|
Record a missing or unauthorized target as a deferred live check; never
|
|
64
75
|
substitute a model-dependent result for the deterministic gate.
|
|
76
|
+
|
|
77
|
+
Then run the same two checks against a copy of your real settings:
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
npm run smoke:real-home -- --target <id>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The script copies `~/.config/clio-coder/settings.yaml` (and
|
|
84
|
+
`credentials.yaml` when present) into a scratch `CLIO_CODER_HOME`, runs
|
|
85
|
+
`doctor` and one headless turn there, fails on a doctor crash or
|
|
86
|
+
deprecation warning, a turn that exits non-zero, a tool policy drift
|
|
87
|
+
refusal, or a turn with no `agent_end` event, prints doctor's own failing
|
|
88
|
+
rows for you to read, and deletes the scratch home. The 0.4.2 smoke ran only
|
|
89
|
+
with isolated homes and missed two bugs a real settings file exposed on
|
|
90
|
+
first launch: a raised `safety.limits.readBytesPerCall` refusing to boot,
|
|
91
|
+
and a `clio:` skill metadata key warning.
|
|
65
92
|
8. Inspect the package twice: first with `npm pack --dry-run`, then with a real
|
|
66
93
|
`npm pack` directed to a temporary directory. Record the filename, integrity,
|
|
67
94
|
shasum, packed size, and unpacked size. Confirm `dist/`, `src/`, `skills/`,
|
|
@@ -92,7 +119,7 @@ operator's explicit approval of the exact candidate SHA and commands.
|
|
|
92
119
|
12. Confirm README quickstart and source-install commands name real commands,
|
|
93
120
|
current paths, and `v0.4.1`. Confirm current eval documentation points to
|
|
94
121
|
`src/domains/eval/` and `evals/`, not to a retired parallel tree.
|
|
95
|
-
13. Confirm `docs/artifact-versions.md` includes every persisted artifact added
|
|
122
|
+
13. Confirm `docs/architecture/artifact-versions.md` includes every persisted artifact added
|
|
96
123
|
or re-versioned by the candidate, including any canonical naming schema
|
|
97
124
|
identifiers. A compatibility reader does not make a newly emitted schema
|
|
98
125
|
optional to document.
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Development Pipeline
|
|
2
2
|
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Development Pipeline visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/development_pipeline_blueprint.html).
|
|
5
|
+
|
|
3
6
|
How a change to Clio Coder moves from "we noticed something" to a published
|
|
4
7
|
release. This is the process the maintainers follow and the process Clio
|
|
5
8
|
herself follows when dogfooding: every stage is a marketplace skill, so any
|
|
@@ -15,20 +18,20 @@ under pressure; git mechanics alone never justify a stage.
|
|
|
15
18
|
|
|
16
19
|
| Stage | Skill | Output |
|
|
17
20
|
| --- | --- | --- |
|
|
18
|
-
| 1. File | [`file-ticket`](
|
|
19
|
-
| 2. Fix | [`fix-issue`](
|
|
20
|
-
| 3. Ship | [`ship`](
|
|
21
|
+
| 1. File | [`file-ticket`](../../skills/git/file-ticket/) | A labeled GitHub issue with evidence and acceptance criteria |
|
|
22
|
+
| 2. Fix | [`fix-issue`](../../skills/git/fix-issue/) | An uncommitted, verified change where failing tests preceded the fix, self-reviewed against the issue's acceptance criteria |
|
|
23
|
+
| 3. Ship | [`ship`](../../skills/git/ship/) | An atomic conventional commit referencing the issue (`fixes #N`), a gated push, and an open PR; merge is a human decision |
|
|
21
24
|
|
|
22
|
-
Releases follow [release-cut-checklist.md](release-cut-checklist.md) as a
|
|
25
|
+
Releases follow [release-cut-checklist.md](../history/release-cut-checklist.md) as a
|
|
23
26
|
human-gated checklist, not a skill. Worktrees
|
|
24
|
-
([`worktree-create`](
|
|
25
|
-
[`worktree-merge`](
|
|
26
|
-
[`resolve-merge-conflicts`](
|
|
27
|
-
[`tdd`](
|
|
27
|
+
([`worktree-create`](../../skills/git/worktree-create/),
|
|
28
|
+
[`worktree-merge`](../../skills/git/worktree-merge/)),
|
|
29
|
+
[`resolve-merge-conflicts`](../../skills/git/resolve-merge-conflicts/), and
|
|
30
|
+
[`tdd`](../../skills/coding/tdd/) are à-la-carte tools reached for when the
|
|
28
31
|
situation calls for them, not stages every change passes through. An RCA
|
|
29
32
|
written as the closing comment on the issue (`rca` label) is an artifact of
|
|
30
33
|
hard bugs, not a mandatory toll booth. Batch ticket creation from a PRD
|
|
31
|
-
bypasses stage 1 and uses [`backlog`](
|
|
34
|
+
bypasses stage 1 and uses [`backlog`](../../skills/planning/backlog/)
|
|
32
35
|
instead; everything downstream is identical.
|
|
33
36
|
|
|
34
37
|
## Inheriting a Pi release
|
|
@@ -40,11 +43,10 @@ replace Clio copies without crossing the product boundary:
|
|
|
40
43
|
and `pi-tui`.
|
|
41
44
|
2. Run `npm run pi:surface-diff`. A changed or removed symbol that Clio imports
|
|
42
45
|
is an error; a new export is review input.
|
|
43
|
-
3. Run
|
|
44
|
-
|
|
45
|
-
[Pi regression net](pi-boundary.md#pi-regression-net).
|
|
46
|
+
3. Run the focused contracts in the
|
|
47
|
+
[Pi regression net](../architecture/pi-boundary.md#pi-regression-net), then run `npm run ci`.
|
|
46
48
|
4. Walk Pi's fixed-issue list against the
|
|
47
|
-
[Pi SDK boundary table](pi-boundary.md). For every fix in a surface Clio
|
|
49
|
+
[Pi SDK boundary table](../architecture/pi-boundary.md). For every fix in a surface Clio
|
|
48
50
|
still owns, either delete Clio's copy in favor of Pi or add a dated reason
|
|
49
51
|
for keeping the delta.
|
|
50
52
|
5. Review the matching pi-coding-agent release diff for application features
|
|
@@ -58,22 +60,18 @@ installed Pi versions differ from the checked-in snapshot.
|
|
|
58
60
|
|
|
59
61
|
## Test lanes
|
|
60
62
|
|
|
61
|
-
`npm test`
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
wall-clock scheduling live in the explicit serial set. The runner waits for all
|
|
66
|
-
parallel lanes to drain, then runs that set alone with
|
|
67
|
-
`CLIO_TEST_CONCURRENCY=1`. Reproduce it with:
|
|
63
|
+
`npm test` uses Node's test runner over every `tests/contracts/*.test.ts` and
|
|
64
|
+
`tests/smoke/*.test.ts` file, with `tests/harness/tmp-root.ts` preloaded to
|
|
65
|
+
isolate test state. Its `pretest` hook builds `dist/` when the CLI bundle is
|
|
66
|
+
absent. Run one focused file while iterating with:
|
|
68
67
|
|
|
69
68
|
```bash
|
|
70
|
-
|
|
69
|
+
npm run test:file -- tests/contracts/<name>.test.ts
|
|
71
70
|
```
|
|
72
71
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
claims that cease to mean the same thing under contention.
|
|
72
|
+
There is no committed weighted-shard or special serial-lane runner. Keep timing
|
|
73
|
+
claims within the focused contract that owns them, and use the full `npm run ci`
|
|
74
|
+
gate before handoff.
|
|
77
75
|
|
|
78
76
|
## Issue conventions
|
|
79
77
|
|
|
@@ -99,7 +97,7 @@ New `area:*` labels are proposed in an issue, not created ad hoc.
|
|
|
99
97
|
|
|
100
98
|
## Milestones are releases
|
|
101
99
|
|
|
102
|
-
Each open milestone
|
|
100
|
+
Each open milestone names an upcoming version. Triage means
|
|
103
101
|
assigning an issue to a milestone or explicitly leaving it in the backlog.
|
|
104
102
|
A release cut requires every issue in its milestone to be closed
|
|
105
103
|
or bumped; the milestone closes when the tag is published.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Documentation coverage and source-alignment audit
|
|
2
|
+
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Documentation coverage and source-alignment audit visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/documentation_coverage_blueprint.html).
|
|
5
|
+
|
|
6
|
+
This is the page-level audit for Clio Coder 0.4.2. The source comparison is
|
|
7
|
+
pinned to commit `ff56ea3e`. A disagreement means that a current factual claim,
|
|
8
|
+
default, identifier, path, schema, or command differs from the implementation at
|
|
9
|
+
that commit. Historical records are evaluated as dated evidence and are not
|
|
10
|
+
treated as current operator guidance.
|
|
11
|
+
|
|
12
|
+
## Headline
|
|
13
|
+
|
|
14
|
+
- Markdown pages audited: **51**.
|
|
15
|
+
- Dedicated HTML blueprints now present: **51**.
|
|
16
|
+
- Pages without a blueprint: **0**. Every Markdown page has one visual
|
|
17
|
+
counterpart, so there are no exception reasons to record.
|
|
18
|
+
- Pages with one or more source disagreements at `ff56ea3e`: **42**.
|
|
19
|
+
- Pages with no source disagreement found at `ff56ea3e`: **9**.
|
|
20
|
+
- Source disagreements corrected in Markdown: **42 of 42 affected pages**.
|
|
21
|
+
- HTML blueprints synchronized from the corrected Markdown: **51 of 51**.
|
|
22
|
+
|
|
23
|
+
At audit time, 40 blueprint files covered 40 pages because
|
|
24
|
+
`prompt-envelope-and-tools.md` had two HTML implementations while
|
|
25
|
+
`proactive-memory.md` shared the evidence and memory blueprint. The table below
|
|
26
|
+
preserves that audit-time state.
|
|
27
|
+
|
|
28
|
+
## Page audit
|
|
29
|
+
|
|
30
|
+
| Markdown page | Primary source references | HTML blueprint at audit time | Disagreements with `ff56ea3e` |
|
|
31
|
+
| --- | --- | --- | --- |
|
|
32
|
+
| `README.md` | `package.json`; `src/cli/index.ts`; `src/cli/docs.ts`; `src/cli/doctor.ts`; CLI smoke tests | No dedicated blueprint. `html/index.html` is the landing page. | None found. |
|
|
33
|
+
| `architecture/acp.md` | `src/engine/acp/**`; `src/cli/acp.ts`; `src/entry/orchestrator.ts` | `html/acp_blueprint.html` | Source line pointers and the log prefix are stale. The event and metadata allowlists omit dispatch events and agent attribution fields. Dispatch events can carry a bounded task preview despite the claimed prose embargo. Git is classified as `other`, while dispatch, steer, and monitor also have mappings; five current canonical tools also fall back to `other` and are absent from the table. Tool aliases and the policy source use the `clio-coder-*` namespace, not `clio-*`. The tool mediator governs outbound ACP delegation, not the hosted ACP server's resumable permission bridge. |
|
|
34
|
+
| `architecture/alcf-provider.md` | `src/domains/providers/runtimes/cloud/alcf.ts`; `src/engine/alcf-oauth.ts`; `src/engine/apis/openai-completions.ts` | `html/alcf_blueprint.html` | The runtime stores `model.clioCoder.chatTemplateKwargsUnsupported`, but the request adapter reads the legacy `model.clio` location. The documented omission therefore is not current runtime behavior. |
|
|
35
|
+
| `architecture/architecture.md` | `tests/boundaries/check-boundaries.ts`; `src/core/domain-loader.ts`; `src/entry/orchestrator.ts`; `src/engine/**`; `src/tools/bootstrap.ts`; `src/worker/**` | `html/architecture_blueprint.html` | The boundary checker has six rules, not five. The instant-shell import-graph test no longer exists. Dispatch is eagerly created by tool bootstrap and imports its runner directly, not through `lazy-tool`. The loaded-domain table omits toolchain and optional mux, the feature inventory omits the CLI-owned `user-tasks` domain, and several non-`DomainModule` areas are mislabeled as loaded modules. |
|
|
36
|
+
| `architecture/artifact-placement.md` | `src/core/artifact-paths.ts`; `src/core/xdg.ts`; artifact stores under `src/domains/**`; `src/tools/artifact.ts` | `html/artifact_placement_blueprint.html` | `.clio-coder/test-scratch` has no source owner; scratch output lives below the state directory. `.clio-coder/` becomes ignored only when bootstrap writes the rule. Re-including children below an ignored parent does not implement the documented Git policy; deliberate assets require an explicit force-add. |
|
|
37
|
+
| `architecture/artifact-versions.md` | `src/engine/session.ts`; `src/domains/session/migrations/**`; `src/domains/dispatch/receipt-integrity.ts`; dispatch state stores; `src/domains/eval/schema/**`; `src/domains/observability/trace-store.ts`; `src/domains/user-tasks/store.ts` | `html/artifact_versions_blueprint.html` | Sessions are format 4 and only format 3 migrates to 4. Eval artifacts live below the data directory and use `clio-coder.eval.*` schema identifiers; `EVAL_ARTIFACT_VERSION` no longer exists. Fleet contracts are Markdown in tiered roots, not YAML. A malformed checkout lease fails closed. Trace logs use `[clio-coder:trace]`, while direct readers reject schema drift. Receipt pseudocode names obsolete APIs and types and understates v20 verification. Out-of-turn usage also records prewarm and background memory. The versioned user-tasks file is omitted, while not every other persisted row is versioned. The page incorrectly claims an exhaustive registry; several internal stores are absent. Runtime-descriptor, execution-plan, eval-verdict, capacity-state, and library-pin handling are misstated, and several numeric source pointers are stale. |
|
|
38
|
+
| `guide/built-in-agents.md` | `src/domains/agents/**`; `src/domains/dispatch/**`; `src/worker/**` | `html/agents_blueprint.html` | Discovery omits enabled extension roots and the reserved `auto` identifier. The compact prompt catalog excludes internal recipes and handles oracle separately. Name, description, budget, and other recipe fields are required, so the example recipe is invalid. Audience also permits `custom`. Adaptive routing uses `fleet.adaptiveRouting.agentRoles`. Event names use `clio_coder_*`. Fleet contract v5 is current. The `context-bootstrap` row grants a `ledger` tool its shipped recipe does not carry. |
|
|
39
|
+
| `architecture/capacity-and-scheduling.md` | `src/domains/scheduling/**`; `src/domains/dispatch/capacity-lease.ts`; `src/domains/dispatch/admission.ts`; `src/domains/dispatch/reservation-store.ts`; provider capacity probes | `html/capacity_scheduling_blueprint.html` | The lease schema omits the optional host field. Worker protocol heartbeats run each second, while durable capacity leases renew every ten seconds. Endpoint saturation can queue through the lease controller rather than always refusing immediately. The reference mini endpoint has four llama.cpp slots, not the stated one-slot common case. Numeric source pointers are stale, and lease expiry is described without the live-process identity exception. |
|
|
40
|
+
| `guide/commands-and-modes.md` | `src/cli/**`; `src/interactive/slash-commands.ts`; `src/domains/dispatch/**`; `src/tools/**` | `html/commands_blueprint.html` | Policy and event identifiers use `clio-coder-policy` and `clio_coder_*`. The interop boot prompt is not quoted accurately. The built-in-agent list omits the operator-only oracle. Memory settings use `context.memory.enabled`, not `memory.intervention.enabled`. |
|
|
41
|
+
| `history/config-knobs-audit.md` | Historical snapshot of `src/core/config.ts`, runtime settings, and worker budgets | `html/config_knobs_audit_blueprint.html` | None found in its dated scope. Retired variables such as `CLIO_CODER_RESIDENCY` are historical evidence, not live guidance. |
|
|
42
|
+
| `guide/configuration-and-targets.md` | `src/core/defaults.ts`; `src/core/config.ts`; `src/domains/providers/**`; `src/cli/configure.ts`; `src/cli/targets.ts`; `src/cli/models.ts`; `src/cli/auth.ts` | `html/configuration_blueprint.html` | The six safety limit leaves no longer have environment overrides. Policy and managed-file identifiers use the `clio-coder-*` namespace. The external-agent example uses retired `delegation.agents` rather than `integrations.externalAgents.entries`. |
|
|
43
|
+
| `guide/configuration-reference.md` | `src/core/defaults.ts`; `src/core/config.ts`; all CLI parsers; tool schemas; agent recipe schema; local model catalogs | No; parity gap. | Several YAML string values named `off` were rendered as Boolean `False`, and environment defaults were rendered as booleans instead of presence semantics. `fleet.concurrency` defaults to the constant 4, not derived host capacity. Recipe precedence omits extensions and incorrectly permits project overrides of built-ins. `workers.rosters` is retired; the current key is `fleet.rosters`. |
|
|
44
|
+
| `architecture/context-engine.md` | `src/domains/context/**`; `src/domains/session/**`; `src/domains/providers/**`; `src/domains/prompts/preload.ts`; interactive context and prewarm modules | `html/context_blueprint.html` | Context-window precedence and the unknown fallback are incomplete. The warning boundary is 128,000 while the desired floor is 131,072. Compaction and prewarm examples use v1 keys; `excludeLastTurns` is retired. A replay evidence path was deleted. The reference endpoint describes an obsolete one-slot Qwen route instead of mini with Ornith, four slots, and 262,144 context per slot. Codewiki frontmatter omits empty optional fields rather than always serializing seven. |
|
|
45
|
+
| `architecture/context-working-set.md` | `src/domains/context/working-set/**`; `src/domains/session/**`; `src/interactive/turn-context.ts`; context CLI and tool modules | No; parity gap. | Settings use `context.compaction.threshold`, and `excludeLastTurns` is retired. `age-horizon` does not reproduce legacy selection because a minimum token floor was added. Recall never guesses the nearest reference; invalid-reference errors do not list candidates, while other errors list at most eight. Deleted replay evidence is cited as if shipped. |
|
|
46
|
+
| `process/development-pipeline.md` | `package.json`; `scripts/check-hygiene.ts`; `.github/**`; `tests/**` | No; parity gap. | The width-matrix test, shard scripts, shard weights, and load harness do not exist. The test command now invokes contract and smoke tests directly and has no documented list, shard, serial lane, or `CLIO_TEST_CONCURRENCY` behavior. A named wire-capture fixture suite is no longer present. |
|
|
47
|
+
| `architecture/dispatch-architecture-rationale.md` | `src/domains/dispatch/**`; `tests/boundaries/check-boundaries.ts` | `html/dispatch_rationale_blueprint.html` | File, barrel-line, and cross-domain import counts are stale. Receipt integrity is v20, not v16. The boundary checker has six rules, not five. |
|
|
48
|
+
| `architecture/dispatch-typed-intent.md` | `src/domains/dispatch/intent*.ts`; `src/domains/dispatch/path-scope.ts`; `src/tools/dispatch-*.ts`; dispatch admission tests | No; parity gap. | Exact `.` and `./` roots normalize to repository root. Expected outputs use a looser normalizer than the three scope fields. `{check:"none"}` resolves a verifier actually named `none`. Absent or partial intent warnings are classified but deliberately not published in production. No-intent judge and reviewer requests can only hit legacy inference errors. Two legacy reason codes have no current producer. Prose-path reporting is extension-filtered and capped. Output-versus-write-root and legacy contradiction checks run only when both relevant lists are nonempty. A cited compatibility test was deleted. |
|
|
49
|
+
| `process/documentation-coverage.md` | `src/**`; `tests/**`; `docs/html/**` | No; parity gap. | None found in the former ownership claims, but the former page did not provide the required page-level source, blueprint, and drift audit. |
|
|
50
|
+
| `process/documentation-guide.md` | `src/**`; `tests/**`; documentation and HTML inventories | `html/documentation_blueprint.html` | The map says 20 tools, receipt v16, 45 glossary terms, six trace commands, and nine artifact schemas; current values are 21 canonical tools, receipt v20, 50 glossary terms, eight trace commands, and 25 registry rows. Several pages with standalone HTML are described as lacking it. Nine existing Markdown pages are absent from the map. |
|
|
51
|
+
| `guide/environment-variables.md` | `src/core/guardrails.ts`; `src/core/xdg.ts`; all `process.env` reads; hygiene inventory | `html/environment_blueprint.html` | The page is complete for product `CLIO_CODER_*` variables plus `NO_COLOR`, not for every environment variable read by source. It omits standard directory, editor, terminal, remote-session, multiplexer, text-width, timezone, CI, Ollama capacity, and dynamic credential variable families. |
|
|
52
|
+
| `process/eval-runner.md` | `src/domains/eval/**`; `src/cli/eval.ts`; eval boundary and schema tests | `html/eval_blueprint.html` | Canonical runner kind is `clio-coder-run`, schema IDs use `clio-coder.eval.*`, and the artifact field is `clioCoder`; the old forms are compatibility inputs only. The command list omits `eval inventory --json`, and the schema reference omits current agent, autonomy, cost, workspace setup, and observation fields. Some threshold-file failures exit 1 rather than 2. The mini baseline has Ornith, four slots, 262,144 context per slot, and `thinking: off`. |
|
|
53
|
+
| `process/evals-internal.md` | `src/domains/eval/**`; `evals/**` | `html/evals_internal_blueprint.html` | Examples use legacy `clio.eval.behavior.v1` and `clio-run`; canonical identifiers are `clio-coder.eval.behavior.v1` and `clio-coder-run`. |
|
|
54
|
+
| `architecture/evidence-and-memory.md` | `src/domains/evidence/**`; `src/domains/memory/**`; `src/cli/evidence.ts`; `src/cli/memory.ts`; receipt integrity | `html/memory_blueprint.html` | The evidence vocabulary has 29 tags, not 25. Current receipt integrity is v20; older seals are retired rather than all being invalid. The exact not-found output and CLI inventory are incomplete. Forensic classification explicitly forbids task prose as causal evidence. |
|
|
55
|
+
| `process/evolution.md` | `src/domains/evolution/**`; `src/cli/evolve.ts` | `html/evolution_blueprint.html` | None found. |
|
|
56
|
+
| `guide/exit-codes-and-output.md` | `src/cli/**`; `src/entry/**`; CLI smoke tests | `html/exit_codes_blueprint.html` | The JSON event table is described too broadly; full mode can pass additional `clio_coder_*` tool, permission, and plan frames. Core process exit codes are correct. |
|
|
57
|
+
| `guide/extensions-and-sharing.md` | `src/domains/extensions/**`; `src/domains/resources/**`; `src/domains/share/**`; extension and share CLIs | `html/extensions_blueprint.html` | Extensions discover skills, prompts, agents, fleets, and reserved themes, not only prompts and skills. Judge eval arms are not full-auto. Share archives use `clio-coder-share-archive`, `clio-coder.share.v1`, and `clioCoderVersion`; old names are compatibility inputs. The exported settings fragment contains current v2 leaves rather than the documented old scope. |
|
|
58
|
+
| `process/fleet-demo-runbook.md` | `src/domains/dispatch/**`; `src/domains/scheduling/**`; `src/cli/doctor.ts` | No; parity gap. | Current receipts use integrity v20, not v16, and older versions are retired rather than universally failing verification. |
|
|
59
|
+
| `guide/fleet-dispatch.md` | `src/domains/dispatch/**`; `src/domains/scheduling/**`; dispatch tools | `html/fleet_dispatch_blueprint.html` | Current receipts use v20, not v19. Older receipts are retired and never read as evidence. Tool expansion provenance uses `clio-coder.tool.expand`, not `clio.tool.expand`. Agent-ledger citations point into the former dispatch monolith rather than `dispatch-runner.ts`. |
|
|
60
|
+
| `process/git-commit-provenance.md` | `src/core/commit-attribution.ts`; `src/core/git-commit-attribution.ts`; `src/core/defaults.ts`; dispatch attribution tests | No; parity gap. | Canonical configuration is `integrations.git.commitAttribution`; `attribution.gitCommits` is migration-only. Commit trailers recognize and emit `receipt-v20`, not v19. |
|
|
61
|
+
| `guide/glossary.md` | Owning types in `src/domains/dispatch/**`, `src/domains/session/**`, `src/domains/context/**`, and `src/tools/**` | `html/glossary_blueprint.html` | Receipt integrity is v20. Dispatch run and session IDs are 12-character random base36 identifiers, while session turn and entry IDs use UUIDv7. Route candidates contain more identity and policy fields than the four-field definition. Council is a current topology. `internal` is a dispatch request origin, not a worker run origin. Context ledger buckets are incomplete. |
|
|
62
|
+
| `guide/installation-and-lifecycle.md` | `src/cli/upgrade.ts`; `src/cli/doctor.ts`; `src/cli/reset.ts`; `src/cli/uninstall.ts`; `src/domains/lifecycle/**`; `src/core/xdg.ts` | `html/lifecycle_blueprint.html` | Install metadata omits `repairedAt` and overgeneralizes preexisting-home detection beyond config, data, and state. The upgrade section presents a stale 0.3.x sequence as current and claims one migration, while the current registry has five migrations and 0.4.2 emits a generic notice. |
|
|
63
|
+
| `architecture/middleware-and-components.md` | `src/domains/components/**`; `src/domains/middleware/**`; `src/cli/components.ts`; orchestrator registration | `html/middleware_blueprint.html` | Memory middleware uses the v2 `context.memory.*` settings, not `memory.intervention.*`. Its row omits four hooks and incorrectly places background model work directly at every tool cadence. The built-in registration table omits `observer.marketplace-offer`. |
|
|
64
|
+
| `architecture/model-catalog.md` | `src/domains/providers/catalog.ts`; `src/domains/providers/models/**`; provider probes and capability resolution; model CLI | `html/models_blueprint.html` | The Qwen3.8 sample disagrees with the bundled entry on maximum output tokens, vision, thinking mechanism, and sampler temperature. The page omits the default chat thinking level of `low`. Reference topology should identify mini as the four-slot Ornith llama.cpp route and dynamo as the Qwen3.8 LM Studio chat route. |
|
|
65
|
+
| `architecture/observability.md` | `src/domains/observability/**`; `src/domains/evidence/**`; `src/core/bus-events.ts`; `src/interactive/view/**` | `html/observability_blueprint.html` | Receipt integrity references use v19 instead of v20. The completion-event sample has a nonexistent `status` field and omits current outcome fields. The named dynamo sample identifies the wrong served model; the reference chat model is `qwen3.8-27b-dynamo`, while the dispatched-worker example belongs on mini with Ornith. |
|
|
66
|
+
| `process/performance-methodology.md` | `src/interactive/render-trace.ts`; `src/interactive/interactive-shell.ts`; terminal lease and pacing modules; current smoke tests | No; parity gap. | Two cited render tests were deleted, `CLIO_CODER_PERF_REPORT` no longer exists, and the boot trace prefix changed to `[clio-coder:boot]`. The documented commands, graph and V8 proofs, and numeric reports belong to retired harnesses and cannot be reproduced by the current suite; installed-package coverage is now narrower. |
|
|
67
|
+
| `architecture/pi-boundary.md` | `src/engine/ai.ts`; `src/engine/api-registry.ts`; `src/engine/provider-payload.ts`; `src/interactive/chat-loop.ts`; engine lifecycle tests | `html/pi_boundary_blueprint.html` | The current boundary row still names deleted `src/tools/string-enum.ts` as a live adapter instead of locating the Pi re-export only in `src/engine/ai.ts`. |
|
|
68
|
+
| `guide/proactive-memory.md` | `src/domains/memory/**`; `src/domains/middleware/memory-intervention.ts`; `src/core/defaults.ts`; `src/interactive/memory-overlay.ts` | Shared `html/memory_blueprint.html` | Canonical v2 settings are `context.memory.enabled`, `cadenceToolCalls`, `trajectorySteps`, `maxOutputTokens`, `timeoutMs`, `target`, and `model`. Defaults are true, 10, 8, 2,000, 60,000, null, and null. Retired `memory.intervention.*` and background keys, 400-token and 30-second defaults, and related cost claims are stale. The reference topology names a fictitious node and one-slot route instead of mini and dynamo. A cited proactive-memory eval test was deleted, while the active exported harness now lacks maintained direct test coverage. Measurement tables conflict with one another and are not identified as dated external evidence. `qwopus` is cataloged, not selected as a shipped default. |
|
|
69
|
+
| `architecture/prompt-envelope-and-tools.md` | `src/domains/prompts/compiler.ts`; `src/interactive/chat-loop.ts`; `src/core/tool-names.ts`; `src/tools/registry.ts`; `src/tools/agent-tools.ts` | `html/tools_blueprint.html`; a second prompt-envelope implementation was a duplicate and was deleted in the parity pass | The compile cache key omits several current identity fields and tool-schema bytes. There are 21 canonical tools, not 20, and the minimal and science profiles include ledger. Pane exposure is also conditional. Default compaction first performs non-destructive working-set eviction; destructive masking is legacy-only behind `CLIO_CODER_LEGACY_MASK=1`. The exhaustive size-policy description omits ledger and panes. A steering event still uses the retired `clio_*` namespace. |
|
|
70
|
+
| `architecture/provider-adapter-cookbook.md` | `src/domains/providers/registry.ts`; `src/domains/providers/types/runtime-descriptor.ts`; engine provider adapters | `html/provider_adapter_blueprint.html` | `TargetDescriptor` carries auth metadata rather than an API key. The reasoning cache belongs to the providers domain, not a session ledger. Credential resolution and infill binding do not occur in `synthesizeModel`. The thinking mechanism table lists wire/runtime formats rather than the actual mechanism enum. The cited `thinking-runtime.test.ts` was deleted; current off-wire coverage is narrower. |
|
|
71
|
+
| `history/release-cut-checklist.md` | `scripts/check-release.mjs`; package smoke tests; workflows; `package.json` | No; parity gap. | None found in its explicitly historical v0.4.1 scope. |
|
|
72
|
+
| `guide/resource-library.md` | `src/domains/resources/library.ts`; `src/cli/library.ts`; Skills Hub integration | No; parity gap. | None found. |
|
|
73
|
+
| `architecture/safety-model.md` | `src/domains/safety/**`; `src/tools/registry.ts`; `src/tools/policy.ts`; `src/entry/orchestrator.ts`; dispatch write boundaries | `html/safety_blueprint.html` | Saved autonomy is `safety.autonomy`, not a top-level `autonomy` leaf. The canonical tool surface has 21 entries and the table omits ledger and panes, whose registration is conditional. Permission events and ACP governance use retired `clio_*` and `clio-policy` names. |
|
|
74
|
+
| `process/scientific-validation.md` | `src/domains/safety/rigor.ts`; `src/domains/safety/finish-contract.ts`; verification authoring code | `html/validation_blueprint.html` | None found. |
|
|
75
|
+
| `architecture/session-lifecycle.md` | `src/engine/session.ts`; `src/domains/session/**` | `html/session_lifecycle_blueprint.html` | Current session format is 4. Format 3 migrates additively to 4, while versions below 3 and above 4 are rejected. The example metadata header still uses version 3 and the legacy `clioVersion` field; compatibility prose says every older session is refused. |
|
|
76
|
+
| `guide/skills-marketplace.md` | `src/interactive/overlays/skills-hub.ts`; `src/domains/resources/skills/marketplace.ts` | `html/skills_blueprint.html` | None found. |
|
|
77
|
+
| `architecture/time-conventions.md` | `src/interactive/format-time.ts`; dispatch capacity and scheduling modules; `src/core/state-file-lock.ts`; receipt and session stores | `html/time_conventions_blueprint.html` | In-process spans use either `performance.now()` or `hrtime.bigint()`, while persisted and cross-process deadlines use wall time. Not every clock has an injection seam or a global harness clock. Three cited source or test paths do not exist, and the agent-ledger path is wrong. |
|
|
78
|
+
| `guide/tool-usage.md` | `src/tools/agent-tools.ts`; `src/tools/registry.ts`; `src/tools/dispatch-arguments.ts`; per-tool implementations | `html/tool_usage_blueprint.html` | Dispatch rejects per-item `agent_id`, top-level `failover`, and top-level `allowed_candidates`; routing policy belongs below `routing`. Receipt examples use v19 rather than v20. Ledger and panes are missing from the reference. The canonical OBSERVE plane has seven tools, although only six use the shared observation envelope. Docs corpus wording assumes a flat `docs/*.md` directory. Several cited dispatch, safety, and scheduler test paths were deleted. |
|
|
79
|
+
| `architecture/trace-store.md` | `src/cli/trace.ts`; `src/domains/observability/trace-store.ts` | `html/trace_blueprint.html` | None found. |
|
|
80
|
+
| `guide/troubleshooting.md` | `src/core/**`; `src/cli/**`; `src/domains/**`; exact error strings | `html/troubleshooting_blueprint.html` | The local model catalog path is `src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml`, not the former `clio-local-coding-targets.yaml`. |
|
|
81
|
+
| `architecture/tui-design.md` | `src/interactive/theme/tokens.ts`; `src/interactive/theme/glyphs.ts`; interactive renderer and view modules | `html/tui_design_blueprint.html` | The cited `tests/contracts/usage-vocabulary.test.ts` no longer exists. |
|
|
82
|
+
| `architecture/worker-dispatch-mechanics.md` | `src/worker/**`; dispatch receipt, worker spec, heartbeat, and failure classification modules | `html/worker_dispatch_blueprint.html` | Receipt integrity is v20, not v19. A pre-v20 seal is retired and excluded from evidence rather than treated as a current invalid seal. Steering and permission events use the `clio_coder_*` namespace. The detailed retry-acceptance table cites contract files that no longer exist. |
|
|
83
|
+
|
|
84
|
+
## Blueprint disposition
|
|
85
|
+
|
|
86
|
+
The eleven audit-time gaps now have dedicated blueprints: the documentation
|
|
87
|
+
hub, configuration reference, context working set, development pipeline, typed
|
|
88
|
+
dispatch intent, this coverage audit, fleet demo runbook, Git commit provenance,
|
|
89
|
+
performance methodology, release checklist, and resource library. Proactive
|
|
90
|
+
memory also has its own page instead of sharing the evidence blueprint, and the
|
|
91
|
+
duplicate prompt-envelope implementation was removed. The historical
|
|
92
|
+
configuration-knob audit remains available under the History section of the
|
|
93
|
+
HTML index.
|
|
94
|
+
|
|
95
|
+
## Audit disposition
|
|
96
|
+
|
|
97
|
+
The source-alignment pass corrected all findings across the 42 affected
|
|
98
|
+
Markdown pages. The table preserves what the audit found at `ff56ea3e`; it does
|
|
99
|
+
not describe outstanding Markdown debt. Every HTML blueprint now renders the
|
|
100
|
+
complete corrected counterpart and identifies its Markdown source explicitly.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Documentation Standards and Codebase Alignment
|
|
2
|
+
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Documentation Standards and Codebase Alignment visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/documentation_blueprint.html).
|
|
5
|
+
|
|
6
|
+
Clio Coder is an experimental community alpha. Documentation should help contributors and early users work from the source of truth without overstating maturity. When docs drift, prefer the current source and tests over older prose or aspirational roadmap notes.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Source-first documentation rule
|
|
11
|
+
|
|
12
|
+
Before changing public docs, inspect the relevant implementation:
|
|
13
|
+
|
|
14
|
+
1. `git log --oneline -- <area>` for recent intent and release context.
|
|
15
|
+
2. `src/**` for current behavior.
|
|
16
|
+
3. `tests/**` for executable contracts and edge cases.
|
|
17
|
+
4. `README.md`, `CHANGELOG.md`, and `docs/**/*.md` for existing public wording.
|
|
18
|
+
|
|
19
|
+
Classify claims clearly:
|
|
20
|
+
|
|
21
|
+
| Claim class | How to word it |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| Shipped and tested | State directly and link to source/tests. |
|
|
24
|
+
| Implemented but experimental | Say alpha/experimental and name sharp edges. |
|
|
25
|
+
| Typed contract exists, default runtime is inert | Say the schema exists but no public loader/rules are active. |
|
|
26
|
+
| Planned/future | Put in roadmap language; do not present as available behavior. |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Documentation map
|
|
31
|
+
|
|
32
|
+
| Guide | Primary source references | What it should cover |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| [README.md](../../README.md) | `CHANGELOG.md`, package metadata, release receipts | Product overview, install, first run, alpha framing, and release status. |
|
|
35
|
+
| [docs/README.md](../README.md) | This docs directory | Documentation hub. |
|
|
36
|
+
| [documentation-guide.md](documentation-guide.md) | `docs/**`, `src/**`, `tests/**` | Documentation structure, source ownership, writing rules, and blueprint policy. |
|
|
37
|
+
| [commands-and-modes.md](../guide/commands-and-modes.md) | `src/cli/index.ts`, `src/cli/args.ts`, `src/interactive/slash-commands.ts`, `src/domains/dispatch/**` | CLI commands, headless run flags (`--session`, `--continue`, `--json-events`), session continuity, `--json` wire projection promise, slash commands, keybindings, live steering. |
|
|
38
|
+
| [context-engine.md](../architecture/context-engine.md) | `src/domains/context/**`, `src/domains/session/context-accounting.ts`, `src/domains/session/context-ledger.ts`, `src/domains/session/compaction/` | Context window resolution, per-model probe capabilities, token accounting, snapshots, the three compaction mechanisms, model-driven `clio-coder context init`, format v4 session enforcement. |
|
|
39
|
+
| [context-working-set.md](../architecture/context-working-set.md) | `src/domains/context/working-set/**`, `src/domains/session/entries.ts`, `src/interactive/turn-context.ts` | Working-set vocabulary, eviction as a projection, the `contextEviction` / `contextRecall` records, the marker contract, the `age-horizon` and `structural-v1` policies, recall semantics, and the operator surfaces. |
|
|
40
|
+
| [architecture.md](../architecture/architecture.md) | `tests/boundaries/check-boundaries.ts`, `src/core/domain-loader.ts`, `src/engine/**`, `src/worker/**` | Source layout, six enforced boundary rules, runtime flow mermaid diagram, event and audit model, and detect-and-rollback write boundaries. |
|
|
41
|
+
| [time-conventions.md](../architecture/time-conventions.md) | `src/domains/dispatch/code-step.ts`, `src/domains/dispatch/extension.ts`, `src/domains/session/**`, `src/domains/observability/**` | Monotonic durations, wall-clock instants, anchored spans, injected clocks, timeout accounting, and timestamp serialization. |
|
|
42
|
+
| [dispatch-architecture-rationale.md](../architecture/dispatch-architecture-rationale.md) | `src/domains/dispatch/**`, `tests/boundaries/check-boundaries.ts` | Design rationale, not behavior: invariants that cross the seams a dispatch split would use, what any future split must preserve, the one dispatch→eval import, and the closed barrel-import decision. |
|
|
43
|
+
| [dispatch-typed-intent.md](../architecture/dispatch-typed-intent.md) | `src/domains/dispatch/intent.ts`, `src/domains/dispatch/intent-compatibility.ts`, `src/domains/dispatch/path-scope.ts`, `src/tools/dispatch-plan.ts` | Dispatch intent v2, path provenance, legacy inference, retirement telemetry, and fail-closed version handling. |
|
|
44
|
+
| [configuration-and-targets.md](../guide/configuration-and-targets.md) | `src/core/defaults.ts`, `src/core/config.ts`, `src/domains/providers/**`, `src/cli/configure.ts`, `src/cli/targets.ts`, `src/cli/models.ts`, `src/cli/auth.ts` | TargetDescriptor, contextWindowProvenance (`configured`, `discovered`, `catalog`, `runtime-default`), settings.yaml, strict validation, saved defaults vs live routing. |
|
|
45
|
+
| [artifact-placement.md](../architecture/artifact-placement.md) | `src/core/artifact-paths.ts`, `src/core/config.ts`, `src/domains/agents/result-contract-filesystem.ts` | Audience-based artifact placement, configured output roots, containment, and migration from legacy paths. |
|
|
46
|
+
| [configuration-reference.md](../guide/configuration-reference.md) | `src/core/defaults.ts`, `src/cli/**`, `src/tools/**`, `src/domains/agents/recipe-schema.ts`, `src/domains/providers/models/local-models/**` | Audited inventory of every settings key, environment variable, CLI flag, project-file key, frontmatter key, tool argument, and model tag with defaults and precedence. |
|
|
47
|
+
| [safety-model.md](../architecture/safety-model.md) | `src/domains/safety/**`, `src/tools/registry.ts`, `src/tools/policy.ts`, `src/tools/verify/**`, `src/entry/orchestrator.ts`, `src/domains/dispatch/write-boundary.ts` | Operating posture, `resolveEffectiveAutonomy` / `resolveBaselineAutonomy`, detect-and-rollback write boundaries, approval axes, damage control, typed validation. |
|
|
48
|
+
| [prompt-envelope-and-tools.md](../architecture/prompt-envelope-and-tools.md) | `src/domains/prompts/compiler.ts`, `src/interactive/chat-loop.ts`, `src/core/tool-names.ts`, `src/tools/registry.ts`, `src/tools/observation.ts`, `src/tools/agent-tools.ts` | Prompt envelope reuse, canonical tool delivery via single `agent-tools.ts` adapter, seven-plane tool surface, observation envelope, strict `ToolName` keying. |
|
|
49
|
+
| [tool-usage.md](../guide/tool-usage.md) | `src/tools/agent-tools.ts`, `src/tools/registry.ts`, `src/tools/observation.ts` | In-depth reference for all 21 canonical tools, including conditional registration, parameters, typical payloads, normalizers, and error examples. |
|
|
50
|
+
| [provider-adapter-cookbook.md](../architecture/provider-adapter-cookbook.md) | `src/domains/providers/registry.ts`, `src/domains/providers/types/runtime-descriptor.ts` | RuntimeDescriptor, probe(), probeReasoning(), synthesizeModel(), thinking mechanisms. |
|
|
51
|
+
| [pi-boundary.md](../architecture/pi-boundary.md) | `src/engine/**`, `src/tools/truncate.ts`, `tests/boundaries/check-boundaries.ts` | Which Pi SDK capabilities Clio delegates to, which Clio-specific adapters remain, and the boundary tests that keep the split explicit. |
|
|
52
|
+
| [alcf-provider.md](../architecture/alcf-provider.md) | `src/domains/providers/runtimes/cloud/alcf.ts`, `src/engine/alcf-oauth.ts` | Globus PKCE OAuth, openAuthStorage(), Sophia vLLM, Metis API, chatTemplateKwargsUnsupported. |
|
|
53
|
+
| [environment-variables.md](../guide/environment-variables.md) | `src/core/guardrails.ts`, `src/core/xdg.ts`, `src/domains/providers/knowledge-base-path.ts` | Comprehensive env var matrix: guardrail overrides, directory layout (CLIO_CODER_HOME), debug toggles, and internal plumbing. |
|
|
54
|
+
| [built-in-agents.md](../guide/built-in-agents.md) | `src/domains/agents/**`, `src/domains/agents/builtins/*.md`, `src/domains/dispatch/**` | Builtin agent recipes, discovery roots, frontmatter schema, fleet contract shadowing (`.clio-coder/fleets/<name>.md`), active route automation. |
|
|
55
|
+
| [fleet-dispatch.md](../guide/fleet-dispatch.md) | `src/domains/dispatch/**` | Multi-node SSH dispatch: process-safe admission, capacity leases, fleet contracts v1 through v5, v4 write boundaries, v5 plan and gate steps, bounded check/repair loops (`loop_bound_exhausted`), deterministic code steps, attestation, and receipts v20. |
|
|
56
|
+
| [capacity-and-scheduling.md](../architecture/capacity-and-scheduling.md) | `src/domains/scheduling/**`, `src/domains/dispatch/capacity-lease.ts`, `src/domains/dispatch/reservation-store.ts` | Multi-process capacity leases (`dispatch-admission.json`), heartbeat TTLs, cross-process transaction locks (`dispatch-admission.json.lock`), and cluster drain controls. |
|
|
57
|
+
| [worker-dispatch-mechanics.md](../architecture/worker-dispatch-mechanics.md) | `src/worker/**` | NDJSON parent-child socket protocols, control/bulk lane demuxing, watchdog timers, worker attestation (13 protocol fields), permission parking, exit codes. |
|
|
58
|
+
| [fleet-demo-runbook.md](fleet-demo-runbook.md) | `src/domains/dispatch/**` | Multi-node fleet demo: SSH setup, C++ build/repair workflow, reviewer gates, and receipt verification v20. |
|
|
59
|
+
| [session-lifecycle.md](../architecture/session-lifecycle.md) | `src/engine/session.ts`, `src/domains/session/**` | Session lifecycle, on-disk ledger format v4 (`current.jsonl`), tree branching (`tree.json`), active-path lineage selection, `/fork`, `/resume`, checkpoints, and write-ahead protected-artifact journal. |
|
|
60
|
+
| [acp.md](../architecture/acp.md) | `src/engine/acp/**`, `src/cli/acp.ts` | Agent Client Protocol (ACP) server over stdio, tool mediation, non-stall permission handling, timeout bounds, and error taxonomy. |
|
|
61
|
+
| [artifact-versions.md](../architecture/artifact-versions.md) | `src/domains/dispatch/receipt-integrity.ts`, `src/engine/session.ts`, `src/worker/spec-contract.ts`, `src/domains/agents/fleet-contract.ts`, `src/domains/eval/schema/`, `src/domains/observability/trace-store.ts` | Operator-facing registry and migration policies for selected compatibility-sensitive serialized artifacts. |
|
|
62
|
+
| [exit-codes-and-output.md](../guide/exit-codes-and-output.md) | `src/cli/**`, `src/entry/**` | Global process exit codes (0, 1, 2, 3), `--help` standard on stdout, machine-readable JSON streaming (`--json`, `--json-events`), and headless stdout deliverable contracts. |
|
|
63
|
+
| [troubleshooting.md](../guide/troubleshooting.md) | `src/core/**`, `src/cli/**`, `src/domains/**` | Actionable error remediation and diagnostics keyed by exact user-facing messages. |
|
|
64
|
+
| [glossary.md](../guide/glossary.md) | `src/domains/dispatch/types.ts`, `src/tools/**`, `src/domains/agents/**`, `src/core/**` | Canonical definitions of 50 core architectural concepts mapped to `src/` types. |
|
|
65
|
+
| [documentation-coverage.md](documentation-coverage.md) | `src/**` | Complete source-to-documentation mapping matrix and subsystem coverage status. |
|
|
66
|
+
| [tui-design.md](../architecture/tui-design.md) | `src/interactive/theme/tokens.ts`, `src/interactive/theme/glyphs.ts` | TUI color system, glyph vocabulary (`contextReserve`), structural layouts, state choreography, code ink. |
|
|
67
|
+
| [installation-and-lifecycle.md](../guide/installation-and-lifecycle.md) | `src/cli/paths.ts`, `src/cli/doctor.ts`, `src/cli/uninstall.ts`, `src/cli/removal.ts` | Installation, upgrade, reset, uninstallation, launcher ownership and what `--remove-binary` will and will not remove, partial-failure behavior, configuration folders (`credentials.yaml` `0o600`), and permissions. |
|
|
68
|
+
| [release-cut-checklist.md](../history/release-cut-checklist.md) | `scripts/check-release.mjs`, `tests/smoke/installed-package.test.ts`, `.github/workflows/`, `package.json` | Historical v0.4.1 release procedure retained as evidence; future releases must draft and verify their own checklist. |
|
|
69
|
+
| [development-pipeline.md](development-pipeline.md) | `skills/git/**`, `.github/**`, `scripts/check-release.mjs`, `package.json` | Issue-to-PR development lifecycle, validation, release inheritance, and the human merge boundary. |
|
|
70
|
+
| [git-commit-provenance.md](git-commit-provenance.md) | `src/core/commit-attribution.ts`, `src/core/git-commit-attribution.ts`, `src/domains/dispatch/fleet-commit-attribution.ts` | Evidence-aware commit roles, trailers, managed hook chaining, and receipt v20 attribution. |
|
|
71
|
+
| [observability.md](../architecture/observability.md) | `src/domains/observability/**`, `src/interactive/view/**`, `src/domains/dispatch/**`, `src/core/bus-events.ts` | `/view` artifact browsing, receipt verification, worker diagnostics, event routing, and cost snapshots. |
|
|
72
|
+
| [performance-methodology.md](performance-methodology.md) | `src/interactive/render-trace.ts`, `src/interactive/**`, `tests/contracts/rendering-invariants.test.ts`, `tests/smoke/real-binary-boot.test.ts` | Reproducible terminal and model-path performance endpoints, trace interpretation, measurement controls, and reporting rules. |
|
|
73
|
+
| [evidence-and-memory.md](../architecture/evidence-and-memory.md) | `src/domains/evidence/**`, `src/domains/memory/**`, `src/cli/evidence.ts`, `src/cli/memory.ts` | Evidence corpus layout, findings, memory lifecycle and prompt injection. |
|
|
74
|
+
| [proactive-memory.md](../guide/proactive-memory.md) | `src/domains/memory/**` | Proactive task memory architecture, session task bank, intervention rules, and handoff carrying. |
|
|
75
|
+
| [trace-store.md](../architecture/trace-store.md) | `src/cli/trace.ts`, `src/domains/observability/trace-store.ts` | WAL SQLite trace mirror database schema, rowid cursor queries, rebuildability, and eight `clio-coder trace` subcommands: `runs`, `phases`, `tail`, `procs`, `inspect`, `prune`, read-only `sql`, and `ui`. |
|
|
76
|
+
| [eval-runner.md](eval-runner.md) | `src/domains/eval/**`, `src/cli/eval.ts` | Local YAML eval tasks, dual token accountings (`tokens.*` wire vs `receiptUsage.*` journal), fail-closed null totals, EvalArtifactV4 format, `verify.measure` task outcome recording. |
|
|
77
|
+
| [evals-internal.md](evals-internal.md) | `src/domains/eval/**`, `evals/**` | Private suite handling, measurement design, and the boundary between shipped reference inputs and external campaigns. |
|
|
78
|
+
| [extensions-and-sharing.md](../guide/extensions-and-sharing.md) | `src/domains/extensions/**`, `src/domains/resources/**`, `src/domains/share/**`, `src/cli/extensions.ts`, `src/cli/share.ts` | Prompt, skill, agent, fleet, and reserved theme resources; extension manifests; portable share archives. |
|
|
79
|
+
| [resource-library.md](../guide/resource-library.md) | `src/domains/resources/library.ts`, `src/cli/library.ts` | Catalog schemas, private and remote source policy, checksum pins, resource installation, and update checks. |
|
|
80
|
+
| [skills-marketplace.md](../guide/skills-marketplace.md) | `src/interactive/overlays/skills-hub.ts`, `src/domains/resources/skills/marketplace.ts` | Skills Hub marketplace discovery through the install resolver, empty state, install actions, publishing flow. |
|
|
81
|
+
| [model-catalog.md](../architecture/model-catalog.md) | `src/domains/providers/catalog.ts`, `src/domains/providers/models/**`, `src/domains/providers/probe/**`, `src/domains/providers/model-capabilities.ts` | Model catalog, live probes (`--offline` toggle), exact-id selector `probeCapabilitiesForModel`, field-note promotion. |
|
|
82
|
+
| [middleware-and-components.md](../architecture/middleware-and-components.md) | `src/domains/components/**`, `src/domains/middleware/**`, `src/cli/components.ts` | Active component snapshots, phase-aware middleware hook budgets (`DEFAULT_MIDDLEWARE_HOOK_BUDGETS_MS`). |
|
|
83
|
+
| [scientific-validation.md](scientific-validation.md) | `src/domains/safety/rigor.ts`, `src/domains/safety/finish-contract.ts` | Advisory validation-contract patterns for scientific artifacts and HPC assumptions. |
|
|
84
|
+
| [evolution.md](evolution.md) | `src/domains/evolution/**`, `src/cli/evolve.ts` | Falsifiable Change Manifest JSON templates, evidence-linked validation, and `clio-coder evolve`. |
|
|
85
|
+
| [config-knobs-audit.md](../history/config-knobs-audit.md) | `src/cli/config.ts` | Point-in-time inventory of legacy environment variables (Historical Appendix). |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Style conventions
|
|
90
|
+
|
|
91
|
+
### Alpha framing
|
|
92
|
+
|
|
93
|
+
Use direct, honest language:
|
|
94
|
+
|
|
95
|
+
- "experimental community alpha"
|
|
96
|
+
- "source-build path"
|
|
97
|
+
- "current runtime is conservative/inert"
|
|
98
|
+
- "advisory contract"
|
|
99
|
+
- "planned/future milestone"
|
|
100
|
+
|
|
101
|
+
Avoid phrases that imply managed production stability, full plugin maturity, or automatic scientific validation when the current code does not provide it.
|
|
102
|
+
|
|
103
|
+
### Markdown structure
|
|
104
|
+
|
|
105
|
+
- Prefer short sections with tables for command and schema references.
|
|
106
|
+
- Use fenced examples that can be copied.
|
|
107
|
+
- Keep links relative and repository-portable; do not use absolute `file:///home/...` links.
|
|
108
|
+
- Mention source file paths in backticks instead of editor-specific absolute URLs.
|
|
109
|
+
|
|
110
|
+
### GitHub alerts
|
|
111
|
+
|
|
112
|
+
Use alerts sparingly:
|
|
113
|
+
|
|
114
|
+
> [!NOTE]
|
|
115
|
+
> Context or caveats that prevent misinterpretation.
|
|
116
|
+
|
|
117
|
+
> [!WARNING]
|
|
118
|
+
> Sharp edges, alpha limitations, or behavior that can surprise contributors.
|
|
119
|
+
|
|
120
|
+
> [!CAUTION]
|
|
121
|
+
> Safety, data loss, or security-sensitive constraints.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Blueprint coverage and format strategy
|
|
126
|
+
|
|
127
|
+
Clio Coder maintains two complementary documentation formats:
|
|
128
|
+
|
|
129
|
+
1. **Markdown documents (`docs/guide/**/*.md`, `docs/architecture/**/*.md`, `docs/process/**/*.md`, and `docs/history/**/*.md`)**: The canonical reference for coding agents, developers, and maintainers, with `docs/README.md` as the hub. They optimize for retrievability, exact enumerations, schema tables, typed TypeScript contracts, and source citations (`src/...:line`).
|
|
130
|
+
2. **HTML blueprints (`docs/html/*_blueprint.html`)**: One visual counterpart per Markdown page for human readers. Each blueprint carries the complete canonical prose plus navigation and copy affordances, and declares its source in `meta[name="clio-markdown-source"]`.
|
|
131
|
+
|
|
132
|
+
### Blueprint Creation Policy
|
|
133
|
+
|
|
134
|
+
Blueprint coverage is explicit rather than inferred from document style. The
|
|
135
|
+
page-level audit lives in
|
|
136
|
+
[`documentation-coverage.md`](documentation-coverage.md). All 51 Markdown pages
|
|
137
|
+
have a dedicated blueprint. `docs/html/index.html` groups those counterparts by
|
|
138
|
+
the same Guide, Architecture, Process, and History tree, while a source meta tag
|
|
139
|
+
provides the one-to-one machine-readable mapping. Every mapping must remain
|
|
140
|
+
unique, complete, and free of orphaned Markdown or HTML pages.
|
|
141
|
+
`npm run lint` rejects any absent named blueprint, enforces that mapping, and
|
|
142
|
+
compares every extractable `clio-coder <command>` string and `CLIO_CODER_*`
|
|
143
|
+
name in each counterpart.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Update checklist
|
|
148
|
+
|
|
149
|
+
When a feature changes:
|
|
150
|
+
|
|
151
|
+
1. Identify the source owner (`src/cli`, `src/interactive`, `src/tools`, or a domain).
|
|
152
|
+
2. Check whether public CLI help changed.
|
|
153
|
+
3. Update the mapped guide in the same PR.
|
|
154
|
+
4. If behavior affects safety, sessions, receipts, prompts, targets, or dispatch, update both README-level user docs and the deeper guide.
|
|
155
|
+
5. Run a lightweight link check for changed Markdown.
|
|
156
|
+
6. For release docs, verify version badges/sections match `package.json` and `CHANGELOG.md`.
|
|
157
|
+
7. Run `npm run lint` to verify Markdown and HTML blueprint parity.
|
|
158
|
+
|
|
159
|
+
Suggested local link check:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
python3 - <<'PY'
|
|
163
|
+
import pathlib, re
|
|
164
|
+
for md in list(pathlib.Path('docs').rglob('*.md')) + [pathlib.Path('README.md')]:
|
|
165
|
+
text = md.read_text()
|
|
166
|
+
for m in re.finditer(r'\[[^\]]+\]\(([^)]+)\)', text):
|
|
167
|
+
link = m.group(1)
|
|
168
|
+
if link.startswith(('http://', 'https://', 'mailto:', '#')):
|
|
169
|
+
continue
|
|
170
|
+
target = link.split('#')[0]
|
|
171
|
+
if target and not (md.parent / target).exists():
|
|
172
|
+
line = text.count('\n', 0, m.start()) + 1
|
|
173
|
+
print(f'{md}:{line}: missing {link}')
|
|
174
|
+
PY
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Community documentation priorities
|
|
180
|
+
|
|
181
|
+
Clio users tend to be early adopters running real repositories, local models, and scientific/HPC code. Good docs should therefore prioritize:
|
|
182
|
+
|
|
183
|
+
- reproducible first-run and target configuration;
|
|
184
|
+
- local model/runtime field notes with exact versions and serving settings;
|
|
185
|
+
- safety receipts and redaction guidance for issue reports;
|
|
186
|
+
- small examples for project-local `CLIO-CODER.md`, `.clio-coder/safety.yaml`, prompts, skills, and agents;
|
|
187
|
+
- clear labels for experimental surfaces such as middleware and scientific validation contracts.
|