@galaxy-stack/ai-coder-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +131 -0
  3. package/dist/approval/approval-policy.d.ts +31 -0
  4. package/dist/approval/approval-policy.d.ts.map +1 -0
  5. package/dist/approval/approval-policy.js +179 -0
  6. package/dist/approval/approval-policy.js.map +1 -0
  7. package/dist/approval/index.d.ts +2 -0
  8. package/dist/approval/index.d.ts.map +1 -0
  9. package/dist/approval/index.js +2 -0
  10. package/dist/approval/index.js.map +1 -0
  11. package/dist/context/attachment-types.d.ts +35 -0
  12. package/dist/context/attachment-types.d.ts.map +1 -0
  13. package/dist/context/attachment-types.js +9 -0
  14. package/dist/context/attachment-types.js.map +1 -0
  15. package/dist/context/checkpoint.d.ts +194 -0
  16. package/dist/context/checkpoint.d.ts.map +1 -0
  17. package/dist/context/checkpoint.js +921 -0
  18. package/dist/context/checkpoint.js.map +1 -0
  19. package/dist/context/context-manager.d.ts +153 -0
  20. package/dist/context/context-manager.d.ts.map +1 -0
  21. package/dist/context/context-manager.js +541 -0
  22. package/dist/context/context-manager.js.map +1 -0
  23. package/dist/context/context-profile.d.ts +42 -0
  24. package/dist/context/context-profile.d.ts.map +1 -0
  25. package/dist/context/context-profile.js +102 -0
  26. package/dist/context/context-profile.js.map +1 -0
  27. package/dist/context/index.d.ts +7 -0
  28. package/dist/context/index.d.ts.map +1 -0
  29. package/dist/context/index.js +7 -0
  30. package/dist/context/index.js.map +1 -0
  31. package/dist/context/token-ledger.d.ts +102 -0
  32. package/dist/context/token-ledger.d.ts.map +1 -0
  33. package/dist/context/token-ledger.js +205 -0
  34. package/dist/context/token-ledger.js.map +1 -0
  35. package/dist/context/tool-output.d.ts +46 -0
  36. package/dist/context/tool-output.d.ts.map +1 -0
  37. package/dist/context/tool-output.js +82 -0
  38. package/dist/context/tool-output.js.map +1 -0
  39. package/dist/deterministic-order.d.ts +3 -0
  40. package/dist/deterministic-order.d.ts.map +1 -0
  41. package/dist/deterministic-order.js +5 -0
  42. package/dist/deterministic-order.js.map +1 -0
  43. package/dist/index.d.ts +19 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +19 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/ports/approval-port.d.ts +29 -0
  48. package/dist/ports/approval-port.d.ts.map +1 -0
  49. package/dist/ports/approval-port.js +9 -0
  50. package/dist/ports/approval-port.js.map +1 -0
  51. package/dist/ports/artifact-port.d.ts +66 -0
  52. package/dist/ports/artifact-port.d.ts.map +1 -0
  53. package/dist/ports/artifact-port.js +9 -0
  54. package/dist/ports/artifact-port.js.map +1 -0
  55. package/dist/ports/capability-port.d.ts +62 -0
  56. package/dist/ports/capability-port.d.ts.map +1 -0
  57. package/dist/ports/capability-port.js +9 -0
  58. package/dist/ports/capability-port.js.map +1 -0
  59. package/dist/ports/coding-model-port.d.ts +12 -0
  60. package/dist/ports/coding-model-port.d.ts.map +1 -0
  61. package/dist/ports/coding-model-port.js +9 -0
  62. package/dist/ports/coding-model-port.js.map +1 -0
  63. package/dist/ports/command-port.d.ts +94 -0
  64. package/dist/ports/command-port.d.ts.map +1 -0
  65. package/dist/ports/command-port.js +9 -0
  66. package/dist/ports/command-port.js.map +1 -0
  67. package/dist/ports/execution-context.d.ts +30 -0
  68. package/dist/ports/execution-context.d.ts.map +1 -0
  69. package/dist/ports/execution-context.js +11 -0
  70. package/dist/ports/execution-context.js.map +1 -0
  71. package/dist/ports/git-port.d.ts +27 -0
  72. package/dist/ports/git-port.d.ts.map +1 -0
  73. package/dist/ports/git-port.js +9 -0
  74. package/dist/ports/git-port.js.map +1 -0
  75. package/dist/ports/host-adapter.d.ts +36 -0
  76. package/dist/ports/host-adapter.d.ts.map +1 -0
  77. package/dist/ports/host-adapter.js +9 -0
  78. package/dist/ports/host-adapter.js.map +1 -0
  79. package/dist/ports/index.d.ts +16 -0
  80. package/dist/ports/index.d.ts.map +1 -0
  81. package/dist/ports/index.js +16 -0
  82. package/dist/ports/index.js.map +1 -0
  83. package/dist/ports/pagination.d.ts +17 -0
  84. package/dist/ports/pagination.d.ts.map +1 -0
  85. package/dist/ports/pagination.js +9 -0
  86. package/dist/ports/pagination.js.map +1 -0
  87. package/dist/ports/persistence-port.d.ts +59 -0
  88. package/dist/ports/persistence-port.d.ts.map +1 -0
  89. package/dist/ports/persistence-port.js +9 -0
  90. package/dist/ports/persistence-port.js.map +1 -0
  91. package/dist/ports/port-result.d.ts +29 -0
  92. package/dist/ports/port-result.d.ts.map +1 -0
  93. package/dist/ports/port-result.js +20 -0
  94. package/dist/ports/port-result.js.map +1 -0
  95. package/dist/ports/preview-port.d.ts +27 -0
  96. package/dist/ports/preview-port.d.ts.map +1 -0
  97. package/dist/ports/preview-port.js +9 -0
  98. package/dist/ports/preview-port.js.map +1 -0
  99. package/dist/ports/research-port.d.ts +40 -0
  100. package/dist/ports/research-port.d.ts.map +1 -0
  101. package/dist/ports/research-port.js +9 -0
  102. package/dist/ports/research-port.js.map +1 -0
  103. package/dist/ports/trace-port.d.ts +26 -0
  104. package/dist/ports/trace-port.d.ts.map +1 -0
  105. package/dist/ports/trace-port.js +9 -0
  106. package/dist/ports/trace-port.js.map +1 -0
  107. package/dist/ports/workspace-port.d.ts +126 -0
  108. package/dist/ports/workspace-port.d.ts.map +1 -0
  109. package/dist/ports/workspace-port.js +9 -0
  110. package/dist/ports/workspace-port.js.map +1 -0
  111. package/dist/prompt/index.d.ts +2 -0
  112. package/dist/prompt/index.d.ts.map +1 -0
  113. package/dist/prompt/index.js +2 -0
  114. package/dist/prompt/index.js.map +1 -0
  115. package/dist/prompt/prompt-assembler.d.ts +114 -0
  116. package/dist/prompt/prompt-assembler.d.ts.map +1 -0
  117. package/dist/prompt/prompt-assembler.js +363 -0
  118. package/dist/prompt/prompt-assembler.js.map +1 -0
  119. package/dist/retrieval/evidence.d.ts +41 -0
  120. package/dist/retrieval/evidence.d.ts.map +1 -0
  121. package/dist/retrieval/evidence.js +48 -0
  122. package/dist/retrieval/evidence.js.map +1 -0
  123. package/dist/retrieval/index.d.ts +4 -0
  124. package/dist/retrieval/index.d.ts.map +1 -0
  125. package/dist/retrieval/index.js +4 -0
  126. package/dist/retrieval/index.js.map +1 -0
  127. package/dist/retrieval/lexical-retriever.d.ts +56 -0
  128. package/dist/retrieval/lexical-retriever.d.ts.map +1 -0
  129. package/dist/retrieval/lexical-retriever.js +128 -0
  130. package/dist/retrieval/lexical-retriever.js.map +1 -0
  131. package/dist/retrieval/retrieval-policy.d.ts +25 -0
  132. package/dist/retrieval/retrieval-policy.d.ts.map +1 -0
  133. package/dist/retrieval/retrieval-policy.js +71 -0
  134. package/dist/retrieval/retrieval-policy.js.map +1 -0
  135. package/dist/runtime/completion-gate.d.ts +75 -0
  136. package/dist/runtime/completion-gate.d.ts.map +1 -0
  137. package/dist/runtime/completion-gate.js +114 -0
  138. package/dist/runtime/completion-gate.js.map +1 -0
  139. package/dist/runtime/index.d.ts +7 -0
  140. package/dist/runtime/index.d.ts.map +1 -0
  141. package/dist/runtime/index.js +7 -0
  142. package/dist/runtime/index.js.map +1 -0
  143. package/dist/runtime/run-controller.d.ts +55 -0
  144. package/dist/runtime/run-controller.d.ts.map +1 -0
  145. package/dist/runtime/run-controller.js +2673 -0
  146. package/dist/runtime/run-controller.js.map +1 -0
  147. package/dist/runtime/runtime-error.d.ts +7 -0
  148. package/dist/runtime/runtime-error.d.ts.map +1 -0
  149. package/dist/runtime/runtime-error.js +11 -0
  150. package/dist/runtime/runtime-error.js.map +1 -0
  151. package/dist/runtime/runtime-types.d.ts +303 -0
  152. package/dist/runtime/runtime-types.d.ts.map +1 -0
  153. package/dist/runtime/runtime-types.js +2 -0
  154. package/dist/runtime/runtime-types.js.map +1 -0
  155. package/dist/runtime/state-machine.d.ts +27 -0
  156. package/dist/runtime/state-machine.d.ts.map +1 -0
  157. package/dist/runtime/state-machine.js +68 -0
  158. package/dist/runtime/state-machine.js.map +1 -0
  159. package/dist/runtime/trace-emitter.d.ts +17 -0
  160. package/dist/runtime/trace-emitter.d.ts.map +1 -0
  161. package/dist/runtime/trace-emitter.js +91 -0
  162. package/dist/runtime/trace-emitter.js.map +1 -0
  163. package/dist/tools/coding-messages.d.ts +112 -0
  164. package/dist/tools/coding-messages.d.ts.map +1 -0
  165. package/dist/tools/coding-messages.js +20 -0
  166. package/dist/tools/coding-messages.js.map +1 -0
  167. package/dist/tools/index.d.ts +7 -0
  168. package/dist/tools/index.d.ts.map +1 -0
  169. package/dist/tools/index.js +7 -0
  170. package/dist/tools/index.js.map +1 -0
  171. package/dist/tools/json-schema.d.ts +18 -0
  172. package/dist/tools/json-schema.d.ts.map +1 -0
  173. package/dist/tools/json-schema.js +299 -0
  174. package/dist/tools/json-schema.js.map +1 -0
  175. package/dist/tools/settings-types.d.ts +41 -0
  176. package/dist/tools/settings-types.d.ts.map +1 -0
  177. package/dist/tools/settings-types.js +88 -0
  178. package/dist/tools/settings-types.js.map +1 -0
  179. package/dist/tools/tool-effect-profile.d.ts +44 -0
  180. package/dist/tools/tool-effect-profile.d.ts.map +1 -0
  181. package/dist/tools/tool-effect-profile.js +157 -0
  182. package/dist/tools/tool-effect-profile.js.map +1 -0
  183. package/dist/tools/tool-registry-types.d.ts +72 -0
  184. package/dist/tools/tool-registry-types.d.ts.map +1 -0
  185. package/dist/tools/tool-registry-types.js +9 -0
  186. package/dist/tools/tool-registry-types.js.map +1 -0
  187. package/dist/tools/tool-registry.d.ts +155 -0
  188. package/dist/tools/tool-registry.d.ts.map +1 -0
  189. package/dist/tools/tool-registry.js +599 -0
  190. package/dist/tools/tool-registry.js.map +1 -0
  191. package/dist/tools/tool-registry.schema.json +144 -0
  192. package/docs/ARCHITECTURE.md +259 -0
  193. package/docs/HOST_CONFORMANCE.md +210 -0
  194. package/docs/PROMPT_CONTRACT.md +123 -0
  195. package/docs/TOOL_EFFECT_PROFILE.md +77 -0
  196. package/docs/TOOL_REGISTRY_COMPARISON.md +358 -0
  197. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://galaxy.local/schemas/ai-coder-tool-registry-2.0.0.json",
4
+ "title": "Galaxy AI Coder Tool Registry",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "tools"],
8
+ "properties": {
9
+ "schemaVersion": { "const": "2.0.0" },
10
+ "tools": {
11
+ "type": "array",
12
+ "items": { "$ref": "#/$defs/toolDescriptor" }
13
+ }
14
+ },
15
+ "$defs": {
16
+ "jsonSchema": {
17
+ "type": "object",
18
+ "description": "Validated separately against the deterministic AI Coder JSON Schema subset."
19
+ },
20
+ "modalities": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "required": ["accepts", "produces"],
24
+ "properties": {
25
+ "accepts": {
26
+ "type": "array",
27
+ "items": {
28
+ "enum": [
29
+ "text",
30
+ "image",
31
+ "video",
32
+ "audio",
33
+ "structured_data",
34
+ "artifact"
35
+ ]
36
+ }
37
+ },
38
+ "produces": {
39
+ "type": "array",
40
+ "items": {
41
+ "enum": [
42
+ "text",
43
+ "image",
44
+ "video",
45
+ "audio",
46
+ "structured_data",
47
+ "artifact"
48
+ ]
49
+ }
50
+ },
51
+ "requiredModelCapabilities": {
52
+ "type": "array",
53
+ "uniqueItems": true,
54
+ "items": { "type": "string" }
55
+ }
56
+ }
57
+ },
58
+ "source": {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": ["owner"],
62
+ "properties": {
63
+ "owner": { "enum": ["base", "core", "extension", "mcp"] },
64
+ "extensionId": { "type": "string" },
65
+ "serverId": { "type": "string" }
66
+ }
67
+ },
68
+ "toolDescriptor": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": [
72
+ "id",
73
+ "modelName",
74
+ "version",
75
+ "title",
76
+ "description",
77
+ "category",
78
+ "transport",
79
+ "inputSchema",
80
+ "outputSchema",
81
+ "permissions",
82
+ "risk",
83
+ "mutability",
84
+ "idempotency",
85
+ "timeoutMs",
86
+ "maxOutputBytes",
87
+ "maxOutputTokens",
88
+ "supportsPagination",
89
+ "supportsCancellation",
90
+ "enabledByDefault",
91
+ "modalities",
92
+ "source"
93
+ ],
94
+ "properties": {
95
+ "id": {
96
+ "type": "string",
97
+ "pattern": "^[a-z][a-zA-Z0-9]*(\\.[a-zA-Z0-9]+)+$"
98
+ },
99
+ "modelName": { "type": "string", "pattern": "^[a-z][a-z0-9_]*$" },
100
+ "version": {
101
+ "type": "string",
102
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
103
+ },
104
+ "title": { "type": "string", "minLength": 1 },
105
+ "description": { "type": "string", "minLength": 1, "maxLength": 600 },
106
+ "category": {
107
+ "enum": [
108
+ "artifact",
109
+ "bootstrap",
110
+ "command",
111
+ "communication",
112
+ "git",
113
+ "perception",
114
+ "preview",
115
+ "project",
116
+ "research",
117
+ "workspace"
118
+ ]
119
+ },
120
+ "transport": { "enum": ["native", "core", "extension", "mcp"] },
121
+ "inputSchema": { "$ref": "#/$defs/jsonSchema" },
122
+ "outputSchema": { "$ref": "#/$defs/jsonSchema" },
123
+ "permissions": {
124
+ "type": "array",
125
+ "uniqueItems": true,
126
+ "items": { "type": "string", "minLength": 1 }
127
+ },
128
+ "risk": { "enum": ["low", "medium", "high", "critical"] },
129
+ "mutability": {
130
+ "enum": ["read", "write", "execute", "external_side_effect"]
131
+ },
132
+ "idempotency": { "enum": ["safe", "with_key", "unsafe"] },
133
+ "timeoutMs": { "type": "integer", "minimum": 100, "maximum": 600000 },
134
+ "maxOutputBytes": { "type": "integer", "minimum": 256 },
135
+ "maxOutputTokens": { "type": "integer", "minimum": 64 },
136
+ "supportsPagination": { "type": "boolean" },
137
+ "supportsCancellation": { "type": "boolean" },
138
+ "enabledByDefault": { "type": "boolean" },
139
+ "modalities": { "$ref": "#/$defs/modalities" },
140
+ "source": { "$ref": "#/$defs/source" }
141
+ }
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,259 @@
1
+ # AI Coder Core Architecture
2
+
3
+ ## Scope
4
+
5
+ The core owns provider-neutral orchestration and correctness policy. A host owns
6
+ filesystem, command, model, persistence, trace, artifact, UI, and approval I/O.
7
+ This split keeps Terminal, VS Code, and Desktop behavior equivalent without
8
+ sharing platform APIs.
9
+
10
+ The current baseline is deliberately single-agent. Subagents may be added only
11
+ after deterministic single-agent fixtures remain stable across all hosts.
12
+
13
+ ## Prompt ownership
14
+
15
+ Hosts provide `AiCoderPromptConfiguration`, never free-form system text or a
16
+ claimed hash/version. After capability probing and registry resolution, the
17
+ runtime calls `assembleAiCoderPrompt` and retains the immutable snapshot. It
18
+ also builds the sole P0 user task through `createAiCoderTaskContract` and
19
+ `formatAiCoderUserTask`.
20
+
21
+ When lazy activation changes the registry snapshot, runtime assembly runs again
22
+ and atomically replaces the context manager's system-policy item. Checkpoint
23
+ compatibility always uses the current core-produced snapshot. See
24
+ [PROMPT_CONTRACT.md](PROMPT_CONTRACT.md).
25
+
26
+ ## Trust boundaries
27
+
28
+ There are five distinct input classes:
29
+
30
+ | Input | Trust | Runtime treatment |
31
+ | --- | --- | --- |
32
+ | Structured prompt configuration | trusted host metadata | validated before asynchronous work |
33
+ | Core-assembled system prompt | trusted core policy | versioned, hashed, and immutable per registry snapshot |
34
+ | User task | trusted user request | separated from workspace/tool content |
35
+ | Workspace, command, web, and MCP text | untrusted data | bounded observation only |
36
+ | Host-declared tool effects | trusted host assertion | schema, identity, and capability checked |
37
+
38
+ `effectsAuthority: "host"` is necessary but not sufficient. The runtime also
39
+ requires the tool result's canonical ID to match the active model-name mapping
40
+ and requires each effect category to appear in that canonical tool's declared
41
+ effect capability set. The result type and runtime validator also prohibit
42
+ success effects on `ok=false`; only a correlated host approval denial may
43
+ accompany a failed result.
44
+
45
+ ## One-round protocol
46
+
47
+ Each provider stream must:
48
+
49
+ 1. emit exactly one `started` event first;
50
+ 2. emit content, thinking, usage, or one or more correlated tool calls;
51
+ 3. emit exactly one `done` event last;
52
+ 4. use `stopReason: "tool_calls"` if and only if at least one tool call was emitted;
53
+ 5. preserve the configured model identity;
54
+ 6. use a non-empty, run-unique `toolCallId`.
55
+
56
+ A `completed` terminal event with blank visible content and no tool call is a
57
+ malformed provider turn, even when the provider reports a normal stop reason
58
+ or includes private thinking. The runtime fails it as `INVALID_MODEL_STREAM`
59
+ instead of accepting an impossible completion report. A provider adapter may
60
+ detect an empty wire-terminal payload earlier and classify that provider error
61
+ as retryable; the runtime's model-retry budget still bounds it. Retry feedback is
62
+ appended to the immediate retry request, not merely retained for a later prepared
63
+ round. A provider may also request `without_thinking` recovery when hidden
64
+ reasoning consumed the turn without producing content or a tool call. The
65
+ canonical stream check remains a provider-neutral last line of defense.
66
+
67
+ For a multi-call round, every `toolCallId` must be non-empty and unique for the
68
+ entire run. Tool names may repeat. Before the first call executes, the runtime
69
+ validates the whole batch against the remaining call budget, canonical JSON,
70
+ and the exact registry snapshot shown to the model. Therefore a catalog search
71
+ cannot activate a later tool inside the same batch.
72
+
73
+ Calls execute sequentially in emitted order so mutations, evidence, approvals,
74
+ pause, and cancellation remain deterministic. A structured tool failure is an
75
+ observation and does not discard later independent calls. An exception with an
76
+ unknown side-effect outcome, cancellation, pause, or fatal runtime error stops
77
+ the batch immediately. If a host returns a pending approval, remaining calls
78
+ receive correlated `BATCH_BLOCKED_BY_APPROVAL` results without executing; the
79
+ model may issue fresh calls after the host decision.
80
+
81
+ ## Tool correctness boundary
82
+
83
+ The host supplies an active tool set containing:
84
+
85
+ - model-visible definitions;
86
+ - a complete model-name-to-canonical-ID mapping;
87
+ - the versioned canonical core-tool effect profile;
88
+ - a deterministic registry snapshot hash.
89
+
90
+ All built-in tools use `AI_CODER_CORE_TOOL_EFFECT_PROFILE`. Hosts derive both
91
+ the active model-name mapping and stable full effect policy with
92
+ `createAiCoderCoreToolEffectMetadata(activeDescriptors)`; they must not keep a
93
+ local copy. Runtime startup fails closed when a built-in tool omits or changes
94
+ its canonical capabilities. Extension and MCP canonical IDs may declare their
95
+ own versioned host profile.
96
+
97
+ Before an observation enters context, the runtime verifies result correlation,
98
+ success/error consistency, effect authority, mode restrictions, effect shapes,
99
+ and effect capabilities. Oversized output is bounded; an optional spill adapter
100
+ must receive the run context and honor cancellation/deadline.
101
+
102
+ A host adapter that throws instead of returning a structured result has an
103
+ unknown side-effect outcome. The runtime records that outcome in the failure
104
+ checkpoint and terminates the run; it never converts the throw into a harmless
105
+ tool observation that the model can talk past.
106
+
107
+ Tool output strings can explain what happened, but never satisfy inspection,
108
+ write, validation, diff, approval, or acceptance criteria by themselves.
109
+
110
+ Generic command tools may report `write` only when the host independently
111
+ captures exact changed paths and state hashes. Creation uses a null before hash;
112
+ deletion uses a null after hash. Non-file transitions additionally carry
113
+ `beforeKind`/`afterKind` (`missing`, `directory`, `symlink`, or `other`), so a
114
+ directory create/delete may validly have two null content hashes while its kinds
115
+ prove the change. Symlink and special-entry hashes bind their entry state.
116
+ Merely parsing stdout or assuming command success changed a path is
117
+ insufficient.
118
+
119
+ ## No-progress guards
120
+
121
+ The runtime bounds several loops that are semantically equivalent even when
122
+ their call JSON is not byte-identical:
123
+
124
+ - the same tool and arguments repeated on one state;
125
+ - different failed mutation arguments against one canonical tool, path, and
126
+ state (for example, repeatedly guessing stale edit fragments);
127
+ - a file returning to a prior content hash, such as A→B→A→B;
128
+ - one stable validation ID failing repeatedly on the same workspace
129
+ fingerprint;
130
+ - a bounded suffix cycle of two to six successful tool calls whose names,
131
+ arguments, and semantic runtime state repeat.
132
+ - the same stable read/research observation requested more than twice anywhere
133
+ in one execution segment, even when unrelated calls are interleaved.
134
+
135
+ The first incidents add trusted corrective feedback. Two no-progress episodes
136
+ without a materially different inspection or state transition pause the run
137
+ and persist a checkpoint. Write-state and validation history are reconstructed,
138
+ while exact-repeat and failed-mutation-family counters plus a bounded 12-entry
139
+ successful-tool-cycle suffix are explicitly persisted and restored on resume.
140
+ Stable host state versions and bounded observation-family counters are also
141
+ persisted. Approval correlation remains auditable, but unique approval and tool
142
+ call IDs do not count as semantic task progress.
143
+ The suffix is rebound to the freshly verified resume state, so an alternating
144
+ cycle remains detectable on a new host; the model cannot erase it with prose.
145
+ Successful validation also removes superseded failure details, while repeated
146
+ identical open problems are deduplicated to keep checkpoints bounded. Validation
147
+ and diff observations retain their latest trusted sequence for causal completion
148
+ checks. Their semantic progress projection excludes a mere retry sequence and
149
+ advances only for a status change or newly covered mutation. Thus a validation
150
+ after compiler-artifact cleanup can certify that cleanup, while repeated testing
151
+ of an already-covered workspace cannot reset the no-progress guard forever. A
152
+ criterion already in the same status likewise does not manufacture progress.
153
+
154
+ ## Completion evidence
155
+
156
+ A final report is only a candidate. Completion uses two boundaries. The first
157
+ checks evidence the model can actually improve:
158
+
159
+ - non-empty final report;
160
+ - workspace inspection when required;
161
+ - no running tool and no pending approval;
162
+ - all required criteria are `satisfied`;
163
+ - the latest result for each validation ID (later array entry wins a sequence
164
+ tie);
165
+ - no failed current validation;
166
+ - every write has a later successful validation whose explicit scope covers the
167
+ path;
168
+ - final diff review occurs after the last write and carries a non-empty diff
169
+ hash;
170
+ - validation and diff evidence match the fresh final workspace fingerprint;
171
+ - no remaining model-actionable evidence issue.
172
+ - when configured, the required number of successful search/fetch calls,
173
+ required fetched domains, and a final citation to a successfully fetched URL.
174
+
175
+ After a mutated workspace satisfies this boundary, the runtime projects context
176
+ to policy, original task, durable evidence, file/diff/research facts and an
177
+ explicit `finalizing` state; operational tool dialogue is removed while exact
178
+ fact payloads are recast as data-only user evidence. It then sends
179
+ one explicit finalization turn with an empty tool-definition list. The same bounded
180
+ turn is used for recovery from a detected no-progress cycle once all required
181
+ evidence is present. A provider that emits a tool call in this tool-free turn
182
+ fails closed as `INVALID_MODEL_STREAM` and the call is never dispatched. A run
183
+ is not finalized merely because an early inspection could describe a read-only
184
+ result; this preserves ordinary inspect → edit and multi-step review flows.
185
+ After checkpoint verification, the runtime derives this finalization boundary
186
+ again from restored evidence and the fresh workspace fingerprint before the
187
+ first resumed model request. It does not trust a persisted mode boolean.
188
+
189
+ Only after that boundary passes does the runtime persist the assistant's final
190
+ response, emit and flush the completion trace, finalize the token ledger, and
191
+ run the durability boundary. `FINAL_REPORT_NOT_STORED`,
192
+ `TRACE_NOT_FINALIZED`, and `TOKEN_LEDGER_NOT_FINALIZED` are runtime-owned
193
+ conditions: they are never sent back as instructions to the model and fail as
194
+ `PERSISTENCE_ERROR`. The final response is not a workspace report file unless
195
+ the user explicitly requested such a file.
196
+
197
+ The workspace verifier declares `serialized_workspace`: AI Coder mutations must
198
+ not race evidence capture. Hosts must still detect or coordinate external edits.
199
+
200
+ ## Checkpoint and resume
201
+
202
+ Checkpoint free text is data, even after integrity verification. A checkpoint:
203
+
204
+ - excludes raw chain-of-thought and raw tool output;
205
+ - redacts common credential forms;
206
+ - rejects unknown and forbidden fields;
207
+ - includes prompt, task, model, capability, registry, effect-policy, workspace,
208
+ tool-call, approval, validation, and delivery compatibility state;
209
+ - hashes the sanitized payload, reason, and creation timestamp with SHA-256;
210
+ - is cloned before asynchronous validation and deeply frozen before use;
211
+ - requires trusted host provenance and a matching live workspace fingerprint.
212
+
213
+ The deadline policy is explicitly `per_execution_segment`: a manual resume gets
214
+ a new absolute deadline from the resume request. The prior segment budget and
215
+ checkpoint-persistence grace are retained in the checkpoint for audit.
216
+
217
+ SHA-256 detects accidental or workspace-level tampering; it is not a signature.
218
+ The `AiCoderRunStore.checkpointTrust` contract therefore requires checkpoint
219
+ storage to be isolated from model/workspace-controlled writes.
220
+
221
+ Provider token counting runs before each model request when supported. If the
222
+ provider reports overflow, the runtime checkpoints, compacts, rebuilds the
223
+ round, and counts again. A still-over-budget round fails with a checkpoint
224
+ rather than silently truncating mandatory task, evidence, or tool-policy state.
225
+ Repeated compactions retain the immutable task envelope plus the latest
226
+ verified checkpoint. Raw reasoning is intentionally disposable; goal,
227
+ registry compatibility, writes, validation, diff review, approvals, plan,
228
+ open problems, and no-progress counters are durable state.
229
+
230
+ Runtime error domains remain distinct: model/capability failures are provider
231
+ errors, context assembly failures are `CONTEXT_BUDGET`, and checkpoint or final
232
+ report storage acknowledgement failures are `PERSISTENCE_ERROR`. A storage
233
+ operation that commits and then throws still fails closed because the runtime
234
+ cannot prove durable acknowledgement.
235
+
236
+ ## Cancellation semantics
237
+
238
+ The core races model, tool, persistence, spill, and trace waits against the run
239
+ signal. It cannot roll back an arbitrary external side effect. If cancellation
240
+ wins before a tool adapter returns a structured result, the outcome is recorded
241
+ as `unknown`, not `canceled`. Host adapters must terminate or supervise their
242
+ own process/network operation and preserve idempotency keys where supported.
243
+
244
+ ## Portability constraints
245
+
246
+ - `command.run` is not portable merely because it accepts a string. The host
247
+ must expose the exact non-interactive interpreter contract used to execute
248
+ that string. Core injects a matching dialect instruction and refuses an
249
+ active command tool backed by missing or `unknown` command metadata.
250
+ - Tool `path` and `cwd` arguments always use workspace-relative POSIX syntax;
251
+ `hostEnvironment.command.pathStyle` describes paths embedded inside command
252
+ strings only. Terminal emulators and login shells are intentionally ignored.
253
+ - Workspace compare-and-swap is only atomic between writers that cooperate on
254
+ the same locking protocol. Production native hosts should prefer descriptor-
255
+ relative/openat-style primitives where available to reduce symlink races.
256
+ - A validated command `cwd` is a scope check, not an operating-system sandbox.
257
+ Production hosts still need process permissions/sandboxing.
258
+ - The core contains no Node.js filesystem or process dependency; those live in
259
+ `galaxy-code` host adapters.