@iowarp/clio-coder 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -2
- package/CONTRIBUTING.md +6 -6
- package/README.md +2 -2
- package/dist/{acp-S5R4RR5B.js → acp-2BEHC4DL.js} +4 -4
- package/dist/{agents-P6DMMVZY.js → agents-LNNFTM53.js} +13 -11
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-2XCZLPKS.js → auth-KXXFI2VS.js} +6 -6
- package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
- package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
- package/dist/chunk-3BPUFZDL.js +37 -0
- package/dist/{chunk-WPQLXFOZ.js → chunk-43AOLP7E.js} +2 -2
- package/dist/{chunk-N4CZJQRK.js → chunk-5JGRAMKL.js} +4 -4
- package/dist/{chunk-BRXQQJFP.js → chunk-6US73PDB.js} +568 -47
- package/dist/{chunk-K6WL7QZT.js → chunk-6XXKFVSN.js} +2 -2
- package/dist/{chunk-QQK64KLB.js → chunk-CJUB2JJ2.js} +138 -20
- package/dist/{chunk-HV5X7OR2.js → chunk-CKXWIANG.js} +12 -12
- package/dist/{chunk-UZHIZC5S.js → chunk-CYQKWTG3.js} +61 -76
- package/dist/{chunk-QWU7ZBO7.js → chunk-DJVECN66.js} +204 -45
- package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
- package/dist/{chunk-7RXG6QRZ.js → chunk-EKY57CSP.js} +2 -75
- package/dist/{chunk-EDRHSCIE.js → chunk-EYPA3EGJ.js} +10 -2
- package/dist/{chunk-TTNYS3EA.js → chunk-G7MUEIGA.js} +1 -1
- package/dist/{chunk-BPGS2WCQ.js → chunk-GEYXPTRF.js} +2 -1
- package/dist/{chunk-BEY543CS.js → chunk-GOXNB3AO.js} +5 -2
- package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
- package/dist/chunk-HWUFFB6L.js +83 -0
- package/dist/{chunk-35MKKU5R.js → chunk-K7T3E2SR.js} +15 -8
- package/dist/{chunk-VAWWTKDP.js → chunk-KHSFENX2.js} +2 -2
- package/dist/chunk-LCGCVYZ4.js +57 -0
- package/dist/{chunk-X6COSD2O.js → chunk-LYF7OHWH.js} +41 -14
- package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
- package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
- package/dist/{chunk-5M54SPOL.js → chunk-ODFEOB4F.js} +161 -5
- package/dist/{chunk-3JLKSKD7.js → chunk-OH3TOQTB.js} +5 -1
- package/dist/{chunk-MEQ45TQ4.js → chunk-PBTHKCPN.js} +18 -4
- package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
- package/dist/{chunk-QQL5RT5M.js → chunk-QM3F2GKX.js} +94 -36
- package/dist/{chunk-A2GZF7DC.js → chunk-QNQHSOLF.js} +4 -4
- package/dist/{chunk-KRPY7NTG.js → chunk-R46L2BIR.js} +3 -3
- package/dist/{chunk-BP4OYD6A.js → chunk-RY3LY4J5.js} +20 -2
- package/dist/{chunk-34475P3I.js → chunk-TSHXZTOQ.js} +5 -4
- package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
- package/dist/{chunk-2TZWSW76.js → chunk-WHGPSPT5.js} +2 -2
- package/dist/{chunk-TW3WDMVS.js → chunk-WHJYKASB.js} +2 -2
- package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
- package/dist/{chunk-HXG4IURW.js → chunk-XE2VEJHX.js} +2 -2
- package/dist/{chunk-3HZ5RWN2.js → chunk-XF5N4U5A.js} +7 -6
- package/dist/{chunk-ZYKPLLNQ.js → chunk-XXQNGV4M.js} +590 -32
- package/dist/{chunk-4JUF2NNX.js → chunk-XYDYPRZI.js} +4 -4
- package/dist/{chunk-VMNQ6OZA.js → chunk-ZRGEBJ4T.js} +971 -794
- package/dist/{chunk-2LZI5CAG.js → chunk-ZXF4XRKW.js} +75 -33
- package/dist/{chunk-VSNATDE6.js → chunk-ZZMN5OM4.js} +2 -2
- package/dist/cli/index.js +31 -31
- package/dist/{clio-J5JIOIDS.js → clio-M2KGYUFZ.js} +2 -2
- package/dist/{code-nav-AXCXSBHX.js → code-nav-GQNL7XA6.js} +5 -5
- package/dist/codewiki/build-worker.js +4 -4
- package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
- package/dist/{config-OEBMIN2U.js → config-XUUYQIWO.js} +27 -25
- package/dist/{configure-PUQOSIXQ.js → configure-IHJ7YOMV.js} +7 -7
- package/dist/{context-URSXPBCK.js → context-74JLXAWD.js} +12 -12
- package/dist/{context-MGSE4Z2T.js → context-75MIWW3U.js} +24 -22
- package/dist/{context-EKDCKUUZ.js → context-ZQ7SIFJV.js} +8 -7
- package/dist/{context-clear-KDAJRNUK.js → context-clear-GYKWNUML.js} +24 -22
- package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
- package/dist/{context-working-set-SBKMPPI2.js → context-working-set-UX5KEP4J.js} +11 -10
- package/dist/{dispatch-runner-MSWN72NK.js → dispatch-runner-GIJBHNFL.js} +21 -20
- package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
- package/dist/{doctor-7BSE27PJ.js → doctor-SVJ5BZCW.js} +4 -4
- package/dist/{eval-IZGDOO4H.js → eval-CG6LLBLD.js} +47 -232
- package/dist/{evidence-SR7WXB5B.js → evidence-ZYFIEN42.js} +19 -18
- package/dist/{evolve-K7VE2CBX.js → evolve-QGEXEMDW.js} +19 -18
- package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
- package/dist/{fleet-7XMJNQNF.js → fleet-S5R4ZOQY.js} +49 -30
- package/dist/{fleet-preflight-AQNAH644.js → fleet-preflight-BHSNPBMH.js} +2 -2
- package/dist/{init-JGNPAYXT.js → init-5DRU55YR.js} +31 -29
- package/dist/memory-7YKKR6UC.js +467 -0
- package/dist/{models-ZMMLFJNN.js → models-ZPOLRU2C.js} +10 -10
- package/dist/{monitor-2F3T5KHP.js → monitor-US5F5YGZ.js} +33 -18
- package/dist/{orchestrator-ORHT43JB.js → orchestrator-E2AL4T5N.js} +1092 -659
- package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
- package/dist/{reset-NXGTYNUO.js → reset-KZ652EK6.js} +3 -3
- package/dist/{run-RF4WJGMT.js → run-SRNBKDWD.js} +52 -40
- package/dist/{share-UT3W6E4M.js → share-CGZE33UP.js} +3 -3
- package/dist/{skills-PSACKC5Q.js → skills-S2X4DLY5.js} +4 -4
- package/dist/{skills-eval-WJSI55RZ.js → skills-eval-W2GGIC4R.js} +19 -18
- package/dist/{targets-PIIRAOYS.js → targets-54SWINWB.js} +14 -12
- package/dist/{terminal-lease-ULWXWNVY.js → terminal-lease-SAIF2OGY.js} +5 -4
- package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
- package/dist/{upgrade-346TZ6AV.js → upgrade-JKAR27XC.js} +8 -8
- package/dist/{usage-6KKXR32N.js → usage-MSAWCLX4.js} +60 -27
- package/dist/{verifiers-4UUM6TEE.js → verifiers-NCBTHHN2.js} +60 -54
- package/dist/{wiki-generate-7STOCIFZ.js → wiki-generate-GUSOQ6ZP.js} +30 -28
- package/dist/worker/entry.js +69 -58
- package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
- package/docs/README.md +3 -3
- package/docs/acp.md +1 -1
- package/docs/alcf-provider.md +1 -1
- package/docs/architecture.md +2 -2
- package/docs/artifact-placement.md +1 -2
- package/docs/artifact-versions.md +1 -1
- package/docs/built-in-agents.md +1 -1
- package/docs/capacity-and-scheduling.md +1 -1
- package/docs/commands-and-modes.md +9 -7
- package/docs/configuration-and-targets.md +12 -1
- package/docs/context-engine.md +4 -2
- package/docs/context-working-set.md +4 -4
- package/docs/development-pipeline.md +1 -1
- package/docs/documentation-coverage.md +3 -3
- package/docs/documentation-guide.md +2 -2
- package/docs/eval-runner.md +1 -1
- package/docs/evals-internal.md +4 -45
- package/docs/evidence-and-memory.md +67 -7
- package/docs/evolution.md +1 -1
- package/docs/exit-codes-and-output.md +1 -1
- package/docs/extensions-and-sharing.md +2 -2
- package/docs/fleet-dispatch.md +28 -2
- package/docs/installation-and-lifecycle.md +2 -2
- package/docs/middleware-and-components.md +19 -2
- package/docs/model-catalog.md +1 -1
- package/docs/observability.md +3 -3
- package/docs/proactive-memory.md +26 -16
- package/docs/prompt-envelope-and-tools.md +4 -2
- package/docs/provider-adapter-cookbook.md +1 -1
- package/docs/release-cut-checklist.md +38 -35
- package/docs/safety-model.md +29 -7
- package/docs/scientific-validation.md +3 -3
- package/docs/session-lifecycle.md +1 -1
- package/docs/skills-marketplace.md +1 -1
- package/docs/tool-usage.md +2 -2
- package/docs/trace-store.md +1 -1
- package/docs/troubleshooting.md +1 -1
- package/docs/tui-design.md +38 -4
- package/docs/worker-dispatch-mechanics.md +1 -1
- package/package.json +7 -4
- package/src/cli/agents.ts +2 -3
- package/src/cli/argv.ts +14 -1
- package/src/cli/fleet.ts +15 -0
- package/src/cli/index.ts +1 -1
- package/src/cli/memory.ts +272 -10
- package/src/cli/modes/json-stream.ts +2 -2
- package/src/cli/modes/print.ts +12 -1
- package/src/cli/run.ts +22 -2
- package/src/cli/targets.ts +12 -3
- package/src/cli/usage.ts +55 -7
- package/src/core/bus-events.ts +3 -0
- package/src/core/response-model-id.ts +134 -0
- package/src/core/toml.ts +62 -0
- package/src/core/workspace-files.ts +0 -1
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/catalog.ts +5 -4
- package/src/domains/agents/recipe.ts +54 -14
- package/src/domains/agents/result-contract.ts +7 -4
- package/src/domains/context/bootstrap.ts +36 -27
- package/src/domains/context/project-metadata.ts +19 -63
- package/src/domains/context/prompt-context.ts +8 -0
- package/src/domains/context/working-set/policies/index.ts +3 -4
- package/src/domains/dispatch/budget-envelope.ts +396 -0
- package/src/domains/dispatch/contract.ts +2 -0
- package/src/domains/dispatch/extension.ts +81 -27
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/state.ts +1 -0
- package/src/domains/dispatch/types.ts +10 -3
- package/src/domains/dispatch/validation.ts +14 -0
- package/src/domains/dispatch/worker-spawn.ts +14 -3
- package/src/domains/eval/metrics/evidence.ts +0 -116
- package/src/domains/eval/metrics/invariants.ts +1 -1
- package/src/domains/eval/runners/clio-run.ts +1 -10
- package/src/domains/eval/runners/external-command.ts +2 -29
- package/src/domains/eval/schema/suite.ts +0 -7
- package/src/domains/eval/suites/run.ts +1 -7
- package/src/domains/memory/index.ts +22 -0
- package/src/domains/memory/operations.ts +58 -1
- package/src/domains/memory/promotion.ts +281 -0
- package/src/domains/memory/prompt-section.ts +25 -5
- package/src/domains/memory/proposal.ts +51 -7
- package/src/domains/memory/task-bank.ts +3 -2
- package/src/domains/memory/task-memory-handoff.ts +181 -24
- package/src/domains/memory/task-memory-policy.ts +3 -1
- package/src/domains/memory/types.ts +37 -0
- package/src/domains/memory/validate.ts +178 -0
- package/src/domains/middleware/memory-intervention.ts +35 -25
- package/src/domains/middleware/runtime.ts +6 -0
- package/src/domains/middleware/skills-reminder.ts +19 -4
- package/src/domains/middleware/stalled-turn.ts +43 -1
- package/src/domains/middleware/types.ts +10 -0
- package/src/domains/observability/contract.ts +6 -1
- package/src/domains/observability/cost.ts +20 -4
- package/src/domains/observability/extension.ts +2 -2
- package/src/domains/providers/index.ts +3 -0
- package/src/domains/providers/model-discovery.ts +9 -0
- package/src/domains/providers/runtime-resolution.ts +38 -1
- package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
- package/src/domains/providers/types/context-window-slots.ts +18 -0
- package/src/domains/providers/types/runtime-descriptor.ts +3 -1
- package/src/domains/safety/call-target.ts +211 -14
- package/src/domains/safety/decision-presentation.ts +268 -0
- package/src/domains/safety/redaction.ts +73 -0
- package/src/domains/session/context-ledger.ts +10 -1
- package/src/domains/session/decision-board.ts +4 -0
- package/src/domains/session/entries.ts +3 -0
- package/src/domains/session/history.ts +68 -19
- package/src/domains/session/usage.ts +24 -7
- package/src/engine/acp/event-mapper.ts +7 -0
- package/src/engine/acp/server.ts +29 -2
- package/src/engine/apis/lmstudio.ts +25 -4
- package/src/engine/apis/openai-completions.ts +147 -22
- package/src/engine/claude/sdk-runtime.ts +8 -2
- package/src/engine/claude/tool-safety.ts +13 -0
- package/src/engine/loop-guard.ts +27 -3
- package/src/engine/worker-events.ts +4 -3
- package/src/engine/worker-runtime.ts +59 -54
- package/src/entry/orchestrator.ts +18 -1
- package/src/interactive/chat-loop-messages.ts +22 -0
- package/src/interactive/chat-loop.ts +13 -0
- package/src/interactive/chat-renderer.ts +19 -3
- package/src/interactive/clio-editor.ts +44 -7
- package/src/interactive/context-overlay.ts +43 -5
- package/src/interactive/cost-overlay.ts +39 -8
- package/src/interactive/dispatch-board.ts +212 -35
- package/src/interactive/footer/widgets.ts +13 -0
- package/src/interactive/interactive-application.ts +6 -1
- package/src/interactive/interactive-input-runtime.ts +11 -1
- package/src/interactive/interactive-presentation.ts +11 -1
- package/src/interactive/memory-overlay.ts +89 -4
- package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
- package/src/interactive/overlay-frame.ts +5 -2
- package/src/interactive/overlay-general-openers.ts +40 -1
- package/src/interactive/overlay-key-routing.ts +41 -1
- package/src/interactive/overlay-lifecycle.ts +11 -4
- package/src/interactive/overlay-permission-lifecycle.ts +23 -8
- package/src/interactive/overlay-transitions.ts +11 -0
- package/src/interactive/overlays/ask-user.ts +74 -30
- package/src/interactive/overlays/decisions.ts +3 -1
- package/src/interactive/permission-hint.ts +35 -0
- package/src/interactive/permission-overlay.ts +95 -45
- package/src/interactive/renderers/tool-execution.ts +19 -49
- package/src/interactive/session-last-turn.ts +8 -1
- package/src/interactive/session-usage-reseed.ts +36 -10
- package/src/interactive/slash-commands.ts +2 -2
- package/src/interactive/status/summary.ts +5 -0
- package/src/interactive/status/types.ts +5 -0
- package/src/interactive/terminal-lease.ts +1 -0
- package/src/interactive/turn-context.ts +96 -23
- package/src/interactive/turn-middleware.ts +1 -0
- package/src/interactive/turn-runtime.ts +37 -8
- package/src/interactive/turn-state.ts +3 -0
- package/src/interactive/worker-progress.ts +440 -0
- package/src/interactive/worker-stream.ts +51 -110
- package/src/tools/agent-tools.ts +28 -3
- package/src/tools/ask-user.ts +21 -1
- package/src/tools/context/index.ts +2 -2
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-event-text.ts +19 -0
- package/src/tools/dispatch.ts +24 -1
- package/src/tools/monitor.ts +15 -0
- package/src/tools/registry.ts +15 -5
- package/src/tools/result-disposition.ts +156 -0
- package/src/tools/result-shaping.ts +59 -1
- package/src/tools/verify/authoring.ts +55 -54
- package/src/tools/worker-evidence.ts +19 -0
- package/src/worker/spec-contract.ts +43 -3
- package/dist/chunk-EFADSJET.js +0 -18
- package/dist/memory-4ALKDJ4Q.js +0 -246
- package/src/domains/eval/metrics/chaos-stream.ts +0 -93
package/dist/worker/entry.js
CHANGED
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
createLoopGuardRegistration,
|
|
7
7
|
createProtectedArtifactsRegistration,
|
|
8
8
|
createRegistry,
|
|
9
|
-
describeCallTarget,
|
|
10
9
|
effectiveToolNames,
|
|
11
10
|
isLoopGuardSynthesisBackstopReason,
|
|
12
11
|
isReserveAdmittedTool,
|
|
@@ -17,13 +16,13 @@ import {
|
|
|
17
16
|
resolveDeliveryTools,
|
|
18
17
|
sanitizeLockedSynthesisMessage,
|
|
19
18
|
workerLoopBlockBudget
|
|
20
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-ZRGEBJ4T.js";
|
|
21
20
|
import "../chunk-K7VKOLQQ.js";
|
|
22
21
|
import {
|
|
23
22
|
createMiddlewareContractFromSnapshot,
|
|
24
23
|
createMiddlewareToolChoiceControl,
|
|
25
24
|
shouldRequestStalledTurnContinuation
|
|
26
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-ZXF4XRKW.js";
|
|
27
26
|
import {
|
|
28
27
|
CONFIRMED_SCOPE,
|
|
29
28
|
READONLY_SCOPE,
|
|
@@ -34,8 +33,8 @@ import {
|
|
|
34
33
|
createLoopState,
|
|
35
34
|
observe
|
|
36
35
|
} from "../chunk-UOV2BYIW.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-EYPA3EGJ.js";
|
|
37
|
+
import "../chunk-WHGPSPT5.js";
|
|
39
38
|
import {
|
|
40
39
|
DEFAULT_ESCALATION_FALLBACK,
|
|
41
40
|
DEFAULT_ESCALATION_TIMEOUT_MS,
|
|
@@ -43,6 +42,7 @@ import {
|
|
|
43
42
|
claudeToolsOutsideProfile,
|
|
44
43
|
coerceToolInput,
|
|
45
44
|
createRunEffectsRecorder,
|
|
45
|
+
describeCallTarget,
|
|
46
46
|
emitClaudeToolPermissionDecision,
|
|
47
47
|
isClaudeCodeSessionId,
|
|
48
48
|
parseWorkerSpec,
|
|
@@ -50,16 +50,15 @@ import {
|
|
|
50
50
|
startAntigravityWorkerRun,
|
|
51
51
|
startClaudeCodeWorkerRun,
|
|
52
52
|
validateRehydratedWorkerRuntime
|
|
53
|
-
} from "../chunk-
|
|
54
|
-
import "../chunk-
|
|
53
|
+
} from "../chunk-XXQNGV4M.js";
|
|
54
|
+
import "../chunk-43AOLP7E.js";
|
|
55
55
|
import {
|
|
56
|
-
DEFAULT_AUTONOMY_LEVEL,
|
|
57
56
|
RESULT_CONTRACT_REPAIR_LIMIT,
|
|
58
57
|
createSafetyPolicyEngine,
|
|
59
58
|
parseResultContract,
|
|
60
59
|
resultContractRepairMessages,
|
|
61
60
|
validateResultContract
|
|
62
|
-
} from "../chunk-
|
|
61
|
+
} from "../chunk-EKY57CSP.js";
|
|
63
62
|
import "../chunk-22NAGB7X.js";
|
|
64
63
|
import {
|
|
65
64
|
classify
|
|
@@ -96,8 +95,11 @@ import "../chunk-ECH6PKUQ.js";
|
|
|
96
95
|
import "../chunk-SPULKLCF.js";
|
|
97
96
|
import {
|
|
98
97
|
agentSkillToolPolicy
|
|
99
|
-
} from "../chunk-
|
|
100
|
-
import
|
|
98
|
+
} from "../chunk-GOXNB3AO.js";
|
|
99
|
+
import {
|
|
100
|
+
DEFAULT_AUTONOMY_LEVEL
|
|
101
|
+
} from "../chunk-HWUFFB6L.js";
|
|
102
|
+
import "../chunk-ODFEOB4F.js";
|
|
101
103
|
import "../chunk-OZNBF4L3.js";
|
|
102
104
|
import "../chunk-4BJ5BYCE.js";
|
|
103
105
|
import "../chunk-6XLNIQDB.js";
|
|
@@ -118,7 +120,7 @@ import {
|
|
|
118
120
|
setGlobalDefaultMaxOutputTokens,
|
|
119
121
|
setProtectedModelsProvider,
|
|
120
122
|
setResidencyNoticeSink
|
|
121
|
-
} from "../chunk-
|
|
123
|
+
} from "../chunk-DJVECN66.js";
|
|
122
124
|
import "../chunk-CFGTUFWB.js";
|
|
123
125
|
import {
|
|
124
126
|
readSettings,
|
|
@@ -135,7 +137,7 @@ import "../chunk-FQ4SKYE4.js";
|
|
|
135
137
|
import "../chunk-IKCO5N3L.js";
|
|
136
138
|
import "../chunk-3I7MS7N2.js";
|
|
137
139
|
import "../chunk-IHXBNWMM.js";
|
|
138
|
-
import "../chunk-
|
|
140
|
+
import "../chunk-GEYXPTRF.js";
|
|
139
141
|
import "../chunk-SST6Z5JA.js";
|
|
140
142
|
import "../chunk-FO5ZOVUY.js";
|
|
141
143
|
import "../chunk-R346GLFC.js";
|
|
@@ -155,7 +157,7 @@ import {
|
|
|
155
157
|
} from "../chunk-6EJMN2Y3.js";
|
|
156
158
|
import "../chunk-WEPFGWHJ.js";
|
|
157
159
|
import "../chunk-ZGVHUX3M.js";
|
|
158
|
-
import "../chunk-
|
|
160
|
+
import "../chunk-G7MUEIGA.js";
|
|
159
161
|
import {
|
|
160
162
|
readClioVersion
|
|
161
163
|
} from "../chunk-IWHMRKLL.js";
|
|
@@ -574,9 +576,10 @@ function permissionResultForDecision(decision, toolUseID, input) {
|
|
|
574
576
|
if (toolUseID !== void 0) result.toolUseID = toolUseID;
|
|
575
577
|
return result;
|
|
576
578
|
}
|
|
577
|
-
function decideToolUse(input, toolName, toolInput) {
|
|
579
|
+
function decideToolUse(input, toolCallId, toolName, toolInput) {
|
|
578
580
|
return emitClaudeToolPermissionDecision({
|
|
579
581
|
toolName,
|
|
582
|
+
...toolCallId !== void 0 ? { toolCallId } : {},
|
|
580
583
|
input: coerceToolInput(toolInput),
|
|
581
584
|
safety: input.safety,
|
|
582
585
|
cwd: input.cwd,
|
|
@@ -598,7 +601,7 @@ function decideToolUseOnce(input, toolUseID, toolName, toolInput) {
|
|
|
598
601
|
return decideClaudeSdkToolUseOnce(
|
|
599
602
|
input.handledToolDecisions,
|
|
600
603
|
toolUseID,
|
|
601
|
-
() => decideToolUse(input, toolName, toolInput)
|
|
604
|
+
() => decideToolUse(input, toolUseID, toolName, toolInput)
|
|
602
605
|
);
|
|
603
606
|
}
|
|
604
607
|
function buildCanUseTool(input) {
|
|
@@ -977,6 +980,36 @@ function startWorkerRun(input, emit) {
|
|
|
977
980
|
const deliveryTools = resolveDeliveryTools(input.allowedTools, input.product);
|
|
978
981
|
const middlewareToolChoice = createMiddlewareToolChoiceControl();
|
|
979
982
|
let workerModelRound = 0;
|
|
983
|
+
const loopGuardRegistration = createLoopGuardRegistration({
|
|
984
|
+
safety,
|
|
985
|
+
toolCallCap: workerBudget.hardCap,
|
|
986
|
+
toolCallSoftLimit: workerBudget.toolCalls,
|
|
987
|
+
// A worker's blocks all land in one run-long bucket, so the bound on
|
|
988
|
+
// them is a statement about this run's length, not about a turn.
|
|
989
|
+
turnBlockBudget: workerLoopBlockBudget(workerBudget.revision?.toolCalls ?? workerBudget.toolCalls),
|
|
990
|
+
toolCallSoftReadReserve: readReserve,
|
|
991
|
+
...deliveryTools.length > 0 ? { deliveryTools } : {},
|
|
992
|
+
turnSynthesisLockout: workerBudget.synthesis,
|
|
993
|
+
// Once locked, the next model round is forced text-only at the
|
|
994
|
+
// request level. The lockout directive alone relies on model compliance.
|
|
995
|
+
onSynthesisLockout: () => {
|
|
996
|
+
if (workerBudget.synthesis) synthesisToolLock = true;
|
|
997
|
+
},
|
|
998
|
+
...!workerBudget.synthesis ? {
|
|
999
|
+
onSoftLimitFinalCallAdmitted: (toolCallId) => {
|
|
1000
|
+
if (workerBoundFailure === null) {
|
|
1001
|
+
workerBoundFailure = `worker agent budget reached (${workerBudget.toolCalls}); synthesis is disabled`;
|
|
1002
|
+
}
|
|
1003
|
+
stopAfterToolResultCallId = toolCallId ?? STOP_AFTER_ANY_TOOL_RESULT;
|
|
1004
|
+
}
|
|
1005
|
+
} : {},
|
|
1006
|
+
// Requiring read is correct only when reading is the whole reserve.
|
|
1007
|
+
...readReserve > 0 && deliveryTools.length === 0 ? {
|
|
1008
|
+
onSoftReadReserve: () => {
|
|
1009
|
+
middlewareToolChoice.apply([{ kind: "require_tool", toolName: ToolNames.Read }]);
|
|
1010
|
+
}
|
|
1011
|
+
} : {}
|
|
1012
|
+
});
|
|
980
1013
|
const registry = createWorkerToolRegistry(
|
|
981
1014
|
input.middlewareSnapshot,
|
|
982
1015
|
safety,
|
|
@@ -995,45 +1028,7 @@ function startWorkerRun(input, emit) {
|
|
|
995
1028
|
// and has no persistence sink. It can still absorb worker-local
|
|
996
1029
|
// protect_path effects from snapshot rules for the rest of this run.
|
|
997
1030
|
[
|
|
998
|
-
|
|
999
|
-
safety,
|
|
1000
|
-
toolCallCap: workerBudget.hardCap,
|
|
1001
|
-
toolCallSoftLimit: workerBudget.toolCalls,
|
|
1002
|
-
// A worker's blocks all land in one run-long bucket, so the bound on
|
|
1003
|
-
// them is a statement about this run's length, not about a turn.
|
|
1004
|
-
turnBlockBudget: workerLoopBlockBudget(workerBudget.toolCalls),
|
|
1005
|
-
toolCallSoftReadReserve: readReserve,
|
|
1006
|
-
...deliveryTools.length > 0 ? { deliveryTools } : {},
|
|
1007
|
-
turnSynthesisLockout: workerBudget.synthesis,
|
|
1008
|
-
// Once locked, the next model round is forced text-only at the
|
|
1009
|
-
// request level (the tool surface is removed in onPayload below):
|
|
1010
|
-
// the lockout directive alone relies on model compliance, and
|
|
1011
|
-
// measured local models kept calling tools until the backstop
|
|
1012
|
-
// aborted the run, or answered the forced round with tool-call
|
|
1013
|
-
// markup that the loop guard then removed.
|
|
1014
|
-
onSynthesisLockout: () => {
|
|
1015
|
-
if (workerBudget.synthesis) {
|
|
1016
|
-
synthesisToolLock = true;
|
|
1017
|
-
}
|
|
1018
|
-
},
|
|
1019
|
-
...!workerBudget.synthesis ? {
|
|
1020
|
-
onSoftLimitFinalCallAdmitted: (toolCallId) => {
|
|
1021
|
-
if (workerBoundFailure === null) {
|
|
1022
|
-
workerBoundFailure = `worker agent budget reached (${workerBudget.toolCalls}); synthesis is disabled`;
|
|
1023
|
-
}
|
|
1024
|
-
stopAfterToolResultCallId = toolCallId ?? STOP_AFTER_ANY_TOOL_RESULT;
|
|
1025
|
-
}
|
|
1026
|
-
} : {},
|
|
1027
|
-
// Forcing the next round to `read` is only correct when reading is
|
|
1028
|
-
// the whole reserve. An agent with delivery tools must be able to
|
|
1029
|
-
// write in its own reserve window, so it gets the steering directive
|
|
1030
|
-
// without the request-level lock.
|
|
1031
|
-
...readReserve > 0 && deliveryTools.length === 0 ? {
|
|
1032
|
-
onSoftReadReserve: () => {
|
|
1033
|
-
middlewareToolChoice.apply([{ kind: "require_tool", toolName: ToolNames.Read }]);
|
|
1034
|
-
}
|
|
1035
|
-
} : {}
|
|
1036
|
-
}),
|
|
1031
|
+
loopGuardRegistration,
|
|
1037
1032
|
createProtectedArtifactsRegistration({
|
|
1038
1033
|
...input.protectedArtifactState !== void 0 ? { initialState: { artifacts: [...input.protectedArtifactState.artifacts] } } : {}
|
|
1039
1034
|
})
|
|
@@ -1044,6 +1039,7 @@ function startWorkerRun(input, emit) {
|
|
|
1044
1039
|
);
|
|
1045
1040
|
const contractCwd = input.cwd ?? process.cwd();
|
|
1046
1041
|
let resultContractRepairsQueued = 0;
|
|
1042
|
+
let resultContractRevisionActive = false;
|
|
1047
1043
|
const pendingReadCitations = /* @__PURE__ */ new Map();
|
|
1048
1044
|
const observedReadRanges = /* @__PURE__ */ new Map();
|
|
1049
1045
|
const runEffects = createRunEffectsRecorder(contractCwd);
|
|
@@ -1182,9 +1178,24 @@ function startWorkerRun(input, emit) {
|
|
|
1182
1178
|
if (violation !== null) {
|
|
1183
1179
|
if (resultContractRepairsQueued < RESULT_CONTRACT_REPAIR_LIMIT) {
|
|
1184
1180
|
resultContractRepairsQueued += 1;
|
|
1185
|
-
|
|
1181
|
+
if (!resultContractRevisionActive && workerBudget.revision !== void 0) {
|
|
1182
|
+
resultContractRevisionActive = loopGuardRegistration.extendWorkerToolCallPhase(workerBudget.revision);
|
|
1183
|
+
if (resultContractRevisionActive) {
|
|
1184
|
+
synthesisToolLock = false;
|
|
1185
|
+
middlewareToolChoice.reset();
|
|
1186
|
+
stopAfterToolResultCallId = null;
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
const revisionToolsAvailable = resultContractRevisionActive && !synthesisToolLock;
|
|
1190
|
+
if (!revisionToolsAvailable) synthesisToolLock = true;
|
|
1186
1191
|
const repair = resultContractRepairMessages(
|
|
1187
|
-
{
|
|
1192
|
+
{
|
|
1193
|
+
contract,
|
|
1194
|
+
reason: violation,
|
|
1195
|
+
attempt: resultContractRepairsQueued,
|
|
1196
|
+
anchors: observedReadAnchors(),
|
|
1197
|
+
...revisionToolsAvailable ? { toolsAvailable: true } : {}
|
|
1198
|
+
},
|
|
1188
1199
|
{ provider: model.provider, api: model.api, model: model.id }
|
|
1189
1200
|
);
|
|
1190
1201
|
for (const message of repair) agent.followUp(message);
|
|
@@ -1323,7 +1334,7 @@ function startWorkerRun(input, emit) {
|
|
|
1323
1334
|
const requestId = meta.requestId;
|
|
1324
1335
|
const timer = setTimeout(() => resolveEscalation(requestId, "deny", "timeout"), escalationConfig.timeoutMs);
|
|
1325
1336
|
activeEscalation = { requestId, tool: call.tool, actionClass, callKey, timer };
|
|
1326
|
-
const target = describeCallTarget(call.
|
|
1337
|
+
const target = describeCallTarget(call.tool, call.args);
|
|
1327
1338
|
emit({
|
|
1328
1339
|
type: "clio_permission_escalated",
|
|
1329
1340
|
payload: {
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
probeGitStatusAsync,
|
|
7
7
|
probeWorkspace,
|
|
8
8
|
probeWorkspaceAsync
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-HVDIIIQW.js";
|
|
10
|
+
import "./chunk-XAKHZX5N.js";
|
|
11
|
+
import "./chunk-33YXPOE3.js";
|
|
12
12
|
import "./chunk-7CR24IG7.js";
|
|
13
13
|
import "./chunk-3R73A4XB.js";
|
|
14
14
|
export {
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
probeWorkspace,
|
|
20
20
|
probeWorkspaceAsync
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=workspace-
|
|
22
|
+
//# sourceMappingURL=workspace-ZJ6BFM3Q.js.map
|
package/docs/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Clio Coder Documentation
|
|
6
6
|
|
|
7
|
-
These pages document `v0.3.
|
|
7
|
+
These pages document `v0.3.6` of Clio Coder, an open-source coding orchestrator within the [IOWarp](https://iowarp.ai) scientific computing platform, created by the [Gnosis Research Center](https://grc.iit.edu) at the [Illinois Institute of Technology](https://www.iit.edu).
|
|
8
8
|
|
|
9
9
|
They are source-aligned guides: when prose and source disagree, prefer the
|
|
10
10
|
current source, tests, and `CHANGELOG.md`.
|
|
@@ -54,7 +54,7 @@ current source, tests, and `CHANGELOG.md`.
|
|
|
54
54
|
| Issue-driven development lifecycle: file-ticket through release, label taxonomy, and dogfooding setup | [development-pipeline.md](development-pipeline.md) |
|
|
55
55
|
| Proactive task memory architecture, session task bank, intervention rules, and handoff carrying | [proactive-memory.md](proactive-memory.md) ([Interactive Blueprint](html/memory_blueprint.html)) |
|
|
56
56
|
| WAL SQLite trace mirror database schema, rowid cursor queries, rebuildability, and CLI trace subcommands | [trace-store.md](trace-store.md) ([Interactive Blueprint](html/trace_blueprint.html)) |
|
|
57
|
-
| Private context index determinism
|
|
57
|
+
| Private context index determinism and target smoke matrices | [evals-internal.md](evals-internal.md) ([Blueprint](html/evals_internal_blueprint.html)) |
|
|
58
58
|
| Point-in-time inventory of legacy environment variables (Historical Appendix) | [config-knobs-audit.md](config-knobs-audit.md) ([Interactive Blueprint](html/config_knobs_audit_blueprint.html)) |
|
|
59
59
|
| Clock and timestamp conventions: durations, instants, ordering, and formatting | [time-conventions.md](time-conventions.md) ([Interactive Blueprint](html/time_conventions_blueprint.html)) |
|
|
60
60
|
| Correct render, PTY, startup, compile-cache, and import-graph measurement endpoints and the 0.3.3 baseline | [performance-methodology.md](performance-methodology.md) |
|
|
@@ -83,7 +83,7 @@ under `src/`, run `npm run build` again or keep `npm run dev` running.
|
|
|
83
83
|
## Release Notes
|
|
84
84
|
|
|
85
85
|
The release entry point is [../README.md](../README.md); detailed release
|
|
86
|
-
history lives in [../CHANGELOG.md](../CHANGELOG.md). For v0.3.
|
|
86
|
+
history lives in [../CHANGELOG.md](../CHANGELOG.md). For v0.3.6 the supported
|
|
87
87
|
install paths are `npm install -g @iowarp/clio-coder` and a source checkout
|
|
88
88
|
through `npm run install:local`, the deterministic release gate is
|
|
89
89
|
`npm run ci:release`, and live model smoke validation is local/manual and
|
package/docs/acp.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Client Protocol (ACP) Server
|
|
2
2
|
|
|
3
|
-
This document defines the architecture, transport protocols, tool mediation layers, permission handling, and error taxonomy for Clio Coder's Agent Client Protocol (ACP) server implementation in `v0.3.
|
|
3
|
+
This document defines the architecture, transport protocols, tool mediation layers, permission handling, and error taxonomy for Clio Coder's Agent Client Protocol (ACP) server implementation in `v0.3.6`.
|
|
4
4
|
|
|
5
5
|
Source implementations: `src/engine/acp/` and `src/cli/acp.ts`.
|
|
6
6
|
|
package/docs/alcf-provider.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ALCF Inference Provider
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive target configurator and Globus OAuth flow diagram is located at [docs/html/alcf_blueprint.html](html/alcf_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive target configurator and Globus OAuth flow diagram is located at [docs/html/alcf_blueprint.html](html/alcf_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
Clio can use Argonne's ALCF inference gateway as an OpenAI-compatible target
|
|
7
7
|
backed by Globus OAuth. The runtime id is `alcf`; each configured target points
|
package/docs/architecture.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Clio Coder Architecture and Boundaries
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/architecture_blueprint.html](html/architecture_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/architecture_blueprint.html](html/architecture_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
Clio Coder is an experimental, terminal-first coding harness for the CLIO ecosystem. CLIO stands for Context Layer for Input/Output; the project is named for the Greek muse of history and developed by the Gnosis Research Center at Illinois Tech. Its architecture favors small, auditable subsystems over a single monolithic agent loop: CLI entry points, the interactive TUI, provider/runtime code, worker subprocesses, tools, and feature domains are kept separate so local-model support and scientific-software workflows can evolve without collapsing safety boundaries.
|
|
7
7
|
|
|
8
|
-
This page is source-code aligned for the current `v0.3.
|
|
8
|
+
This page is source-code aligned for the current `v0.3.6` development line.
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -83,8 +83,7 @@ next to the ignore:
|
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
This repository commits none of those, so its `.clio-coder/` stays fully
|
|
86
|
-
ignored
|
|
87
|
-
which are test inputs rather than session output.
|
|
86
|
+
ignored. Benchmark workspaces are temporary external repositories.
|
|
88
87
|
|
|
89
88
|
## Finding what was hidden
|
|
90
89
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Artifact Versions & Serialization Contracts
|
|
2
2
|
|
|
3
|
-
This document is the canonical registry of all versioned file formats, serialized data structures, integrity digests, and migration rules across Clio Coder in `v0.3.
|
|
3
|
+
This document is the canonical registry of all versioned file formats, serialized data structures, integrity digests, and migration rules across Clio Coder in `v0.3.6`.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
package/docs/built-in-agents.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Clio Coder dispatches focused fleet agents from Markdown recipes. Recipes are data files, not hidden code plugins: YAML frontmatter declares identity, mode, tools, optional target/model hints, and thinking level; the Markdown body is the agent instruction text.
|
|
4
4
|
|
|
5
5
|
> [!TIP]
|
|
6
|
-
> **Interactive Spec Available:** An interactive dashboard for the agent registry and dispatch admission check gates is located at [docs/html/agents_blueprint.html](html/agents_blueprint.html) (Version: 0.3.
|
|
6
|
+
> **Interactive Spec Available:** An interactive dashboard for the agent registry and dispatch admission check gates is located at [docs/html/agents_blueprint.html](html/agents_blueprint.html) (Version: 0.3.6).
|
|
7
7
|
|
|
8
8
|
The source of truth is `src/domains/agents/**`. Clio's agent dispatch engine and execution boundaries are built upon the [@earendil-works/pi-agent-core](https://www.npmjs.com/package/@earendil-works/pi-agent-core) library.
|
|
9
9
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Capacity Leases & Fleet Scheduling
|
|
2
2
|
|
|
3
|
-
This document specifies the multi-process capacity leasing protocols, node scheduling models, cross-process transaction locks, and failure recovery mechanics implemented in Clio Coder `v0.3.
|
|
3
|
+
This document specifies the multi-process capacity leasing protocols, node scheduling models, cross-process transaction locks, and failure recovery mechanics implemented in Clio Coder `v0.3.6`.
|
|
4
4
|
|
|
5
5
|
Source implementations: `src/domains/scheduling/` and `src/domains/dispatch/capacity-lease.ts`.
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Commands and Modes
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/commands_blueprint.html](html/commands_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/commands_blueprint.html](html/commands_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Clio Coder is a terminal-first alpha harness. This page keeps the command
|
|
@@ -56,7 +56,7 @@ For process exit codes, stdout deliverable guarantees, and machine-readable JSON
|
|
|
56
56
|
| `clio-coder dev components diff --from <a> --to <b> [--json]` | Compare component snapshots. |
|
|
57
57
|
| `clio-coder evidence build\|inspect\|list` | Build and inspect deterministic evidence artifacts. |
|
|
58
58
|
| `clio-coder eval validate\|run\|report\|compare\|gate` | Validate, run, report, compare, and gate local evaluation suites (Suite v2). |
|
|
59
|
-
| `clio-coder memory list\|propose\|approve\|reject\|prune` | Manage scoped, evidence-linked memory records. |
|
|
59
|
+
| `clio-coder memory list\|propose\|promote\|approve\|reject\|prune` | Manage scoped, evidence-linked memory records. |
|
|
60
60
|
| `clio-coder trace runs [--db PATH] [--limit N] [--json]` | List runs recorded in the durable trace mirror beside the ledger. |
|
|
61
61
|
| `clio-coder trace phases <runId> [--db PATH]` | Show one run's recorded phases. |
|
|
62
62
|
| `clio-coder trace tail <runId> [--follow] [--db PATH]` | Tail one run's recorded events; `--follow` streams as they land. |
|
|
@@ -158,7 +158,7 @@ The registry table below lists the available interactive slash commands. On a ba
|
|
|
158
158
|
| `/fleet` | `/fleet` | Open Settings → Fleet: defaults, profiles, agent bindings, nodes |
|
|
159
159
|
| `/decisions` | `/decisions` | Show settled interview decisions and operator revisions |
|
|
160
160
|
| `/tasks` | `/tasks add <text> \| /tasks hand <id> \| /tasks done <id> \| /tasks drop <id>` | Show the session board or manage project operator tasks |
|
|
161
|
-
| `/memory` | `/memory seed` | Inspect
|
|
161
|
+
| `/memory` | `/memory seed` | Inspect, promote, or seed task memory |
|
|
162
162
|
| `/view` | `/view [filter] \| /view verify <runId>` | Browse session artifacts and verify receipts |
|
|
163
163
|
| `/thinking` | `/thinking [level]` | Set the chat thinking level, or open Settings → Orchestrator |
|
|
164
164
|
| `/output` | `/output [verbosity]` | Set transcript detail (minimal, default, verbose), or open Settings → Terminal |
|
|
@@ -224,7 +224,7 @@ Configuration lives in one place: the `/settings` overlay. `/settings <section>`
|
|
|
224
224
|
|
|
225
225
|
Settings → Targets presents an operational console table (`HEALTH`, `ID`, `ROLES`, `RUNTIME`, `LATENCY`) with an in-place action/detail drawer for URL, default model, last probe error, and reachability. `Enter` opens actions for `Use` (switches active chat target and rebases model), `Connect` (runs the API-key or OAuth flow then probes), `Probe`, and `Remove` (with preflight analysis of affected routes/profiles). Probing runs live when the overlay opens or when explicitly requested. Target creation is initiated via `clio-coder targets add`.
|
|
226
226
|
|
|
227
|
-
Settings → Fleet is an entity workbench organized with dim group headers (`Defaults`, `Profiles`, `Agent routes`, `Placement`). Dispatched worker defaults and profile rows render as compact summaries (`fast-local node-a/example-coder-model high auto`), drilling into fields (`target`, `model`, `thinkingLevel`, `node`) on `Enter`. Profile removal is a named destructive action with affected-route preflight. Running and retrying dispatches live in the `Alt+W` Fleet Runs board, which also steers and cancels them.
|
|
227
|
+
Settings → Fleet is an entity workbench organized with dim group headers (`Defaults`, `Profiles`, `Agent routes`, `Placement`). Dispatched worker defaults and profile rows render as compact summaries (`fast-local node-a/example-coder-model high auto`), drilling into fields (`target`, `model`, `thinkingLevel`, `node`) on `Enter`. Profile removal is a named destructive action with affected-route preflight. Running and retrying dispatches live in the `Alt+W` Fleet Runs board, which also steers and cancels them. `Enter` opens the selected run's worker detail: the phase, the running call with its redacted action descriptor, and the bounded tail of the worker's own prose.
|
|
228
228
|
|
|
229
229
|
`/run` and `/delegate` put the worker's answer on screen. Both echo the typed
|
|
230
230
|
line dim above the block, then stream the run into the transcript as an attributed
|
|
@@ -350,7 +350,7 @@ editor reserves and can be rebound through `settings.yaml.keybindings`.
|
|
|
350
350
|
| `Alt+U` | Toggle the footer dashboard between compact (quiet 2-zone) and expanded (4-zone urgency) layouts. |
|
|
351
351
|
| `Alt+L` | Open the model and targets selector. |
|
|
352
352
|
| `Alt+J` / `Alt+K` | Cycle forward / backward through the scoped model set (when empty, displays a notice directing the operator to `/scoped-models`). |
|
|
353
|
-
| `Alt+W` | Toggle the Fleet Runs board (task, run ID, live telemetry, retry, and terminal history). |
|
|
353
|
+
| `Alt+W` | Toggle the Fleet Runs board (task, run ID, live telemetry, retry, and terminal history). Inside it, `Enter` opens the selected run's live worker detail, `s` steers, and `x` cancels. |
|
|
354
354
|
| `Alt+B` | Open the composite session and operator task board (`/tasks`). Approved application-boundary override of editor word-back. |
|
|
355
355
|
| `Alt+D` | Open the settled interview decision board (`/decisions`). Approved application-boundary override of editor word-delete. |
|
|
356
356
|
| `Alt+S` / `Ctrl+Alt+B` | Convert an active attached dispatch to a detached background batch. |
|
|
@@ -415,7 +415,9 @@ Tool and command execution is governed by:
|
|
|
415
415
|
- **Safety Net:** Granular rule packs loaded from `damage-control-rules.yaml`, project policies, and protected artifact paths; always on, identical at every autonomy level.
|
|
416
416
|
- **Autonomy Mapping:** Once the net passes a call, the level decides whether it runs, asks, or is denied. See [safety-model.md](safety-model.md) for the full matrix.
|
|
417
417
|
|
|
418
|
-
When an action asks for confirmation, whether from a safety-net rail or from the autonomy level, the call parks and the
|
|
418
|
+
When an action asks for confirmation, whether from a safety-net rail or from the autonomy level, the call parks and three surfaces say so at once. The transcript row reads `⏸ awaiting approval` with `action ·`, `axis ·`, and `target ·` lines under it; the footer phase pill reads `⏸ confirm`; and a consequence-tier dialog opens with the tool, target, action, authenticated requester, one-shot authority, reversibility, and deny and stop effects. Titles distinguish workspace authority, outward consequences, safety-net confirmation, system changes, and worker escalations. The dialog sits at bottom center with five rows reserved for the composer and footer, and it re-anchors on resize. The composer rail switches to `CONFIRM` and repeats the keys while the prompt owns the keyboard.
|
|
419
|
+
|
|
420
|
+
The keys are the same on both surfaces: `Enter` allows this one call, `Esc` denies it, and `s` denies it and stops the turn so nothing asks again. `Enter` allows only from an empty composer. While the composer holds a draft, the habitual send key does nothing, the rail and the dialog footer read `[Backspace] clear draft` instead of `[Enter] allow`, and only the deletion keys (`Backspace`, `Delete`, `Ctrl+U`, `Ctrl+W`, `Ctrl+K`) reach the editor until the draft is gone. Every other key is swallowed. A call that parks while another overlay holds the screen is announced with an `[approval]` notice and the dialog opens as soon as that overlay closes; the dialog lays itself out for any terminal width, so no width is too narrow for it. Approving or denying never changes the level.
|
|
419
421
|
|
|
420
422
|
Notice vocabulary, one prefix per mechanism: `[safety-net]` for level-independent blocks, `[approval]` for parked calls, `[autonomy]` for read-only denials, and `[middleware]` for hook diagnostics.
|
|
421
423
|
|
|
@@ -465,7 +467,7 @@ to execute through the existing engine worker path, the sanctioned Claude Code w
|
|
|
465
467
|
| --- | --- |
|
|
466
468
|
| `npm run ci` | Local and GitHub PR gate: typecheck, lint, skills pin check, build, the deterministic test suite, and the trace-viewer suite. |
|
|
467
469
|
| `npm run ci:release` | Maintainer release gate: `npm run ci`, then the `check-release` dist and packaging audit. |
|
|
468
|
-
| `npm run live:smoke -- --target <id>` | One real headless turn against a configured target. Add `--delegation` for the `opencode` and `copilot` ACP agents. The other operator-run drivers (`live:
|
|
470
|
+
| `npm run live:smoke -- --target <id>` | One real headless turn against a configured target. Add `--delegation` for the `opencode` and `copilot` ACP agents. The other operator-run drivers (`live:fleet-dispatch`, `live:tui`, `live:home`) are listed in `benchmarks/internal/README.md`. |
|
|
469
471
|
| `npm run typecheck` | Strict TypeScript pass. |
|
|
470
472
|
| `npm run lint` | Biome checks plus `scripts/check-hygiene.ts`, which runs the boundary invariants, the skills pin check, and the README and docs drift rules. |
|
|
471
473
|
| `npm run test` | Contract and smoke tests through the sharded runner. |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Configuration, Targets, Runtimes, and Auth
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive configuration validator, target resolver, and CLI command generator is located at [docs/html/configuration_blueprint.html](html/configuration_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive configuration validator, target resolver, and CLI command generator is located at [docs/html/configuration_blueprint.html](html/configuration_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
Clio Coder is target-first: chat and fleet dispatch resolve through configured targets in `settings.yaml`, not through provider-specific ad hoc flags. Chat and print targets are HTTP and native engine-backed runtimes. Fleet dispatch can also target the sanctioned Claude Code subscription runtimes described below.
|
|
7
7
|
|
|
@@ -306,6 +306,17 @@ LM Studio can require bearer authentication for its HTTP APIs
|
|
|
306
306
|
|
|
307
307
|
A model id on an LM Studio target is resolved against that host's loaded instances. A key with a loaded instance is never sent bare (which would JIT-load a second copy). An instance id reported loaded by two configured LM Studio targets on different hosts is an LM Link peer projection. When a bare model key is requested and multiple instances of it are loaded, Clio selects an instance in this order: the target's configured `defaultModel`, then an instance not cross-listed by another configured LM Studio target, and finally the first loaded instance. This behavior tracks issue #113.
|
|
308
308
|
|
|
309
|
+
When the selected instance is also loaded on a peer, a request may be answered by that peer (#185). Clio separates the requested model id, the response observation, and the model id used for accounting. Every new assistant ledger entry carries `responseModelIdObservation` in one of these explicit shapes:
|
|
310
|
+
|
|
311
|
+
| State | Meaning | Accounting attribution |
|
|
312
|
+
| --- | --- | --- |
|
|
313
|
+
| `{ "state": "reported", "reportedModelId": "<id>" }` | Clio observed an OpenAI-compatible event stream and the provider reported a model id. | The reported id. |
|
|
314
|
+
| `{ "state": "not-reported" }` | Clio observed the event stream and it contained no model id. | `unknown`, because the provider did not identify the responding model. |
|
|
315
|
+
| `{ "state": "not-observed" }` | This provider path did not expose response model-id presence to the stream tap. | A differing `responseModel` when available, otherwise the requested model id. |
|
|
316
|
+
| `{ "state": "legacy-difference-only", "differingModelId": "<id>" }` or the same shape with `null` | The ledger predates #193 and recorded only whether the response `model` differed from the request. This state is produced while reading historical rows; new rows do not write it. | The historical differing id when available, otherwise the requested model id. |
|
|
317
|
+
|
|
318
|
+
The adapter retains `responseModel` as the differing response id because providers outside the stream tap still supply that fact. `clio-coder usage report` emits `attributedModelId`, `requestedModelIds`, and `responseModelIdObservationCounts`. Its text table and the `/cost` overlay use the labels `attributed model`, `requested model ids`, and `response model id observation`; requested ids are printed as ids rather than as `same`. The footer's last-turn line uses `response model id observation <state>`, with the id after `reported` or a historical `legacy difference-only` state. Dispatch receipt `upstreamResponses` entries carry `requestedModelId`, `responseModelIdObservation`, `differingResponseModelId`, and `providerResponseId`. The peer warning is said once per process per distinct fact (target, requested id, resolved instance, peer set), not once per turn.
|
|
319
|
+
|
|
309
320
|
|
|
310
321
|
Prompt-template overrides, system prompts, GPU-offload ratios, KV-cache quantization, parallel slots,
|
|
311
322
|
context checkpoints, and speculative-decoding variants are not writable through this Clio settings
|
package/docs/context-engine.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Context Engine
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/context_blueprint.html](html/context_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive dashboard is located at [docs/html/context_blueprint.html](html/context_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
Clio Coder tracks context pressure, records per-turn snapshots, and protects the provider context with bounded tool results plus single-threshold compaction.
|
|
7
7
|
|
|
@@ -19,6 +19,8 @@ Local-native runtimes use a recommended minimum desired window of 128,000 tokens
|
|
|
19
19
|
|
|
20
20
|
The `/context` overlay states which layer answered, next to the token total: `loaded`, `probed`, `configured`, `declared`, or `assumed`.
|
|
21
21
|
|
|
22
|
+
A probed llama.cpp window is the share one request gets, not the server's total. llama.cpp splits `--ctx-size` evenly across `--parallel` slots unless `--kv-unified` is set, so a server started with `--ctx-size 786432 --parallel 4 --no-kv-unified` admits 196,608 tokens per request, and that is the figure autocompact and the meter plan against. The probe reads the flags (long and short forms, `-c`, `-np`, `-kvu`, and the last of `--kv-unified` or `--no-kv-unified` given) off the router's per-model status, keeps the split on the model's discovery state, and `/context` prints the derivation next to the share: `196,608 (786,432 / 4 slots)`. `clio-coder targets` does the same in its `ctx` note for the target's default model and adds a probe note naming the flags.
|
|
23
|
+
|
|
22
24
|
## Token accounting and snapshots
|
|
23
25
|
|
|
24
26
|
The estimator in `context-accounting.ts` uses a four-characters-per-token family for hot-path accounting. It estimates system prompt, tools, messages, pending input, and runtime categories without calling a model tokenizer on every TUI refresh.
|
|
@@ -190,7 +192,7 @@ In Git workspaces, the indexer uses the same visible file set across full builds
|
|
|
190
192
|
incremental updates, fingerprints, and project profiles: tracked files plus
|
|
191
193
|
untracked, unignored work in progress. It excludes symlinks, submodule gitlinks,
|
|
192
194
|
generated output, scratch space, and local-state directories such as `.git`,
|
|
193
|
-
`.clio-coder`, `.superpowers`, `.codex`, `.claude`,
|
|
195
|
+
`.clio-coder`, `.superpowers`, `.codex`, `.claude`, `node_modules`,
|
|
194
196
|
`dist`, `build`, `coverage`, virtualenvs, `target`, and `vendor`. Non-Git
|
|
195
197
|
workspaces use a bounded filesystem walk with the same directory exclusions.
|
|
196
198
|
Source coverage spans TypeScript, JavaScript, Python, Rust, Go, C, C++, CUDA
|
|
@@ -5,7 +5,7 @@ The working set is the part of the session ledger the model actually receives on
|
|
|
5
5
|
Source of truth is `src/domains/context/working-set/` (`contract.ts`, `fold.ts`, `project.ts`, `marker.ts`, `protect.ts`, `engine.ts`, `recall.ts`, `policies/`), the ledger records in `src/domains/session/entries.ts`, and the compaction stage in `src/interactive/turn-context.ts` (`runAutoCompact`).
|
|
6
6
|
|
|
7
7
|
> [!WARNING]
|
|
8
|
-
> This is an experimental community alpha surface. The default policy is `structural-v1
|
|
8
|
+
> This is an experimental community alpha surface. The default policy is `structural-v1`; `age-horizon` reproduces the selection Clio made before this layer existed and stays available.
|
|
9
9
|
|
|
10
10
|
## Vocabulary
|
|
11
11
|
|
|
@@ -170,7 +170,7 @@ context:
|
|
|
170
170
|
|
|
171
171
|
## What the operator sees
|
|
172
172
|
|
|
173
|
-
- **`/context` overlay.** A working-set section under the category legend: the policy
|
|
173
|
+
- **`/context` overlay.** A working-set section under the category legend: the configured policy with its state (`policy structural-v1 · no events yet` until the first event, `disabled` when `context.workingSet.enabled` is off, and `(last event by <policy>)` when the setting changed after an event), evicted item count, evicted tokens, event count, recall count, and churn. Evicted tokens render as one line after the legend rather than as a meter category, because they are outside the window rather than a slice of it.
|
|
174
174
|
- **Transcript.** An evicted tool row keeps its full body and gains a dim `evicted · <reason>` tag. The transcript shows the ledger, never the projection, so `/resume`, `/tree`, `/fork`, and the HTML export are unaffected by eviction.
|
|
175
175
|
- **`/context recall <ref>`.** Prints the ref, why it was evicted, the token count, and the offload pointer when there is one, followed by the original body. Transcript only.
|
|
176
176
|
- **Prompt cache line.** Every applied event stamps `working_set_evict` on the next assistant entry's `promptCache.expectedColdReasons`. When the last settled run came back cold for that reason, the overlay adds `last cold turn: working-set eviction (expected)` and drops the shell-reused-but-backend-cold warning, because the cold turn is explained rather than surprising.
|
|
@@ -181,14 +181,14 @@ context:
|
|
|
181
181
|
These are tracked follow-ups, not available behavior:
|
|
182
182
|
|
|
183
183
|
- **Auto-readmission.** Nothing brings an evicted body back on its own. There are no path fingerprints and no registry of what the model is likely to need next.
|
|
184
|
-
- **Cost model and deferred scheduling.** Pressure is the only trigger. There is no break-even horizon, no deferred eviction plan, and no piggybacking beyond the fact that the working-set stage already runs first inside `runAutoCompact`.
|
|
184
|
+
- **Cost model and deferred scheduling.** Pressure is the only trigger, and it is `compaction.threshold`, not `target`. The replay tables price every applied event by the cold prefix it re-prefills (about 29k tokens per event at a 64k budget), and batching from the threshold down to the target is what keeps one event per cycle; a trigger at the target would make every turn above 60% with one newly redundant read an event of its own, and no row in the sweep shows fewer summaries in return. There is no break-even horizon, no deferred eviction plan, and no piggybacking beyond the fact that the working-set stage already runs first inside `runAutoCompact`.
|
|
185
185
|
- **Intra-turn eviction.** Eviction runs before a request is sent. A single turn whose tool results overflow the window is handled by the observation envelope's caps and by summary compaction, not by this layer.
|
|
186
186
|
- **Worker runtimes.** Dispatched workers replay their own ledgers without the working-set stage.
|
|
187
187
|
- **Digests.** A marker carries tool, size, and a first-line preview. The generated summaries from #165 are not embedded in it.
|
|
188
188
|
|
|
189
189
|
## See also
|
|
190
190
|
|
|
191
|
-
- `clio-coder context replay --sessions <path>...` replays Clio ledgers, and `--synthetic <ids>` replays the seeded procedural corpora, through the same fold, projection, and policy code with `none`, `random`, and `oracle` controls; `clio-coder context working-set --session <id|path>` prints one session's fold and path index. Both are described under [Working-set replay](commands-and-modes.md#working-set-replay)
|
|
191
|
+
- `clio-coder context replay --sessions <path>...` replays Clio ledgers, and `--synthetic <ids>` replays the seeded procedural corpora, through the same fold, projection, and policy code with `none`, `random`, and `oracle` controls; `clio-coder context working-set --session <id|path>` prints one session's fold and path index. Both are described under [Working-set replay](commands-and-modes.md#working-set-replay). Generated replay tables are local artifacts rather than versioned benchmark results.
|
|
192
192
|
- [context-engine.md](context-engine.md) for context window resolution, token accounting, and how this stage sits ahead of summary compaction.
|
|
193
193
|
- [session-lifecycle.md](session-lifecycle.md) for the ledger format, active-path lineage, and branching.
|
|
194
194
|
- [glossary.md](glossary.md) for the one-line definitions of these terms.
|
|
@@ -80,7 +80,7 @@ New `area:*` labels are proposed in an issue, not created ad hoc.
|
|
|
80
80
|
|
|
81
81
|
## Milestones are releases
|
|
82
82
|
|
|
83
|
-
Each open milestone is the next version (`v0.3.
|
|
83
|
+
Each open milestone is the next version (`v0.3.6`, `v0.4.0`). Triage means
|
|
84
84
|
assigning an issue to a milestone or explicitly leaving it in the backlog.
|
|
85
85
|
A release cut requires every issue in its milestone to be closed
|
|
86
86
|
or bumped; the milestone closes when the tag is published.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Clio Coder Documentation Coverage Matrix
|
|
2
2
|
|
|
3
|
-
This matrix maps every top-level directory in `src/` and every domain directory under `src/domains/` to its authoritative documentation page. It records coverage status (`documented`, `partial`, `undocumented`), missing concepts, and key source contracts for `v0.3.
|
|
3
|
+
This matrix maps every top-level directory in `src/` and every domain directory under `src/domains/` to its authoritative documentation page. It records coverage status (`documented`, `partial`, `undocumented`), missing concepts, and key source contracts for `v0.3.6`.
|
|
4
4
|
|
|
5
5
|
## Coverage Matrix
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ This matrix maps every top-level directory in `src/` and every domain directory
|
|
|
20
20
|
| `src/domains/config/` | Configuration contracts, file watcher, keybinding definitions, setting classifiers | [configuration-and-targets.md](configuration-and-targets.md), [commands-and-modes.md](commands-and-modes.md) | `documented` | Documented in configuration targets and command/keybinding reference. |
|
|
21
21
|
| `src/domains/context/` | `CLIO-CODER.md` bootstrap, codewiki generation, prompt context assembly, project rules, non-destructive working-set eviction (`age-horizon` and `structural-v1` policies, protection predicates, path index, byte-stable markers, recall by ref) | [context-engine.md](context-engine.md), [context-working-set.md](context-working-set.md) | `documented` | Context window, token accounting, and the three compaction mechanisms in the engine reference; the working-set layer has its own guide covering the vocabulary, both ledger record kinds and format v4, the marker contract, both policies with their rule order, recall semantics, and the operator surfaces. |
|
|
22
22
|
| `src/domains/dispatch/` | Fleet orchestration, assignment store, batch tracker, admission, route planner, receipt integrity v15 | [fleet-dispatch.md](fleet-dispatch.md), [dispatch-architecture-rationale.md](dispatch-architecture-rationale.md), [worker-dispatch-mechanics.md](worker-dispatch-mechanics.md) | `documented` | Multi-node fleet dispatch, admission invariants, and receipt verification fully documented. |
|
|
23
|
-
| `src/domains/eval/` | Suite v2 YAML schema, eval runner, metrics, reporters, workspace sandboxing | [eval-runner.md](eval-runner.md), [evals-internal.md](evals-internal.md) | `documented` |
|
|
23
|
+
| `src/domains/eval/` | Suite v2 YAML schema, eval runner, metrics, reporters, workspace sandboxing | [eval-runner.md](eval-runner.md), [evals-internal.md](evals-internal.md) | `documented` | Product evals are documented independently from external benchmarks. |
|
|
24
24
|
| `src/domains/evidence/` | Evidence bundles, findings taxonomy, provenance store, failure attribution | [evidence-and-memory.md](evidence-and-memory.md) | `documented` | Documented in evidence directory structures and memory retrieval guide. |
|
|
25
25
|
| `src/domains/evolution/` | Falsifiable Change Manifest JSON templates and `clio-coder evolve` self-edit gates | [evolution.md](evolution.md) | `documented` | Documented in evolution manifest reference and mutation validation rules. |
|
|
26
26
|
| `src/domains/extensions/` | Extension manifest schemas, resource roots, portable share archives | [extensions-and-sharing.md](extensions-and-sharing.md) | `documented` | Documented in extensions and sharing guide. |
|
|
@@ -35,7 +35,7 @@ This matrix maps every top-level directory in `src/` and every domain directory
|
|
|
35
35
|
| `src/domains/scheduling/` | Capacity lease acquisition, heartbeats, expiry, cross-process locks, cluster scheduling | [capacity-and-scheduling.md](capacity-and-scheduling.md), [fleet-dispatch.md](fleet-dispatch.md) | `documented` | Dedicated capacity leasing, heartbeat TTL, and cross-process lock reference. |
|
|
36
36
|
| `src/domains/session/` | Session ledger format v4, tree branching (`/tree`), `/fork`, `/resume`, checkpoints, protected-artifact journal | [session-lifecycle.md](session-lifecycle.md), [context-working-set.md](context-working-set.md) | `documented` | Dedicated session lifecycle guide covering branching, journal, and recovery; the `contextEviction` and `contextRecall` records added at format v4 are specified in the working-set guide. |
|
|
37
37
|
| `src/domains/share/` | Portable share archive bundles, manifest verification, import/export flows | [extensions-and-sharing.md](extensions-and-sharing.md) | `documented` | Share archives and portable bundle formats documented in extensions guide. |
|
|
38
|
-
| `src/domains/webhook/` | Empty directory | None (Inert) | `inert` | Directory contains no active modules or exports in v0.3.
|
|
38
|
+
| `src/domains/webhook/` | Empty directory | None (Inert) | `inert` | Directory contains no active modules or exports in v0.3.6. |
|
|
39
39
|
|
|
40
40
|
## Cross-Cutting Reference Guides
|
|
41
41
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Documentation Standards and Codebase Alignment
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive documentation link linter, phrasing/claim evaluator, and alignment portal is located at [docs/html/documentation_blueprint.html](html/documentation_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive documentation link linter, phrasing/claim evaluator, and alignment portal is located at [docs/html/documentation_blueprint.html](html/documentation_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
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
7
|
|
|
@@ -65,7 +65,7 @@ Classify claims clearly:
|
|
|
65
65
|
| [proactive-memory.md](proactive-memory.md) | `src/domains/memory/**` | Proactive task memory architecture, session task bank, intervention rules, and handoff carrying. |
|
|
66
66
|
| [trace-store.md](trace-store.md) | `src/cli/trace.ts`, `src/domains/observability/trace-store.ts` | WAL SQLite trace mirror database schema, rowid cursor queries, rebuildability, 6 `clio-coder trace` subcommands (`runs`, `phases`, `tail`, `procs`, read-only `sql` SELECT, `ui`). |
|
|
67
67
|
| [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. |
|
|
68
|
-
| [evals-internal.md](evals-internal.md) | `src/domains/eval
|
|
68
|
+
| [evals-internal.md](evals-internal.md) | `src/domains/eval/**` | Private context index determinism and target smoke matrices. External model benchmarks are documented under `benchmarks/`. |
|
|
69
69
|
| [extensions-and-sharing.md](extensions-and-sharing.md) | `src/domains/extensions/**`, `src/domains/resources/**`, `src/domains/share/**`, `src/cli/extensions.ts`, `src/cli/share.ts` | Prompt and skill resources, extension manifests, portable share archives. |
|
|
70
70
|
| [skills-marketplace.md](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. |
|
|
71
71
|
| [model-catalog.md](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. |
|
package/docs/eval-runner.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Clio Coder Local Evaluation Runner
|
|
2
2
|
|
|
3
3
|
> [!TIP]
|
|
4
|
-
> **Interactive Spec Available:** An interactive task suite validator, subprocess execution simulator, and compare calculator is located at [docs/html/eval_blueprint.html](html/eval_blueprint.html) (Version: 0.3.
|
|
4
|
+
> **Interactive Spec Available:** An interactive task suite validator, subprocess execution simulator, and compare calculator is located at [docs/html/eval_blueprint.html](html/eval_blueprint.html) (Version: 0.3.6).
|
|
5
5
|
|
|
6
6
|
The local evaluation runner executes repository-local YAML task suites as deterministic subprocess checks. It is useful for comparing harness changes, prompts, tools, or local workflows.
|
|
7
7
|
|