@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.
- package/LICENSE +21 -0
- package/README.md +131 -0
- package/dist/approval/approval-policy.d.ts +31 -0
- package/dist/approval/approval-policy.d.ts.map +1 -0
- package/dist/approval/approval-policy.js +179 -0
- package/dist/approval/approval-policy.js.map +1 -0
- package/dist/approval/index.d.ts +2 -0
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +2 -0
- package/dist/approval/index.js.map +1 -0
- package/dist/context/attachment-types.d.ts +35 -0
- package/dist/context/attachment-types.d.ts.map +1 -0
- package/dist/context/attachment-types.js +9 -0
- package/dist/context/attachment-types.js.map +1 -0
- package/dist/context/checkpoint.d.ts +194 -0
- package/dist/context/checkpoint.d.ts.map +1 -0
- package/dist/context/checkpoint.js +921 -0
- package/dist/context/checkpoint.js.map +1 -0
- package/dist/context/context-manager.d.ts +153 -0
- package/dist/context/context-manager.d.ts.map +1 -0
- package/dist/context/context-manager.js +541 -0
- package/dist/context/context-manager.js.map +1 -0
- package/dist/context/context-profile.d.ts +42 -0
- package/dist/context/context-profile.d.ts.map +1 -0
- package/dist/context/context-profile.js +102 -0
- package/dist/context/context-profile.js.map +1 -0
- package/dist/context/index.d.ts +7 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +7 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/token-ledger.d.ts +102 -0
- package/dist/context/token-ledger.d.ts.map +1 -0
- package/dist/context/token-ledger.js +205 -0
- package/dist/context/token-ledger.js.map +1 -0
- package/dist/context/tool-output.d.ts +46 -0
- package/dist/context/tool-output.d.ts.map +1 -0
- package/dist/context/tool-output.js +82 -0
- package/dist/context/tool-output.js.map +1 -0
- package/dist/deterministic-order.d.ts +3 -0
- package/dist/deterministic-order.d.ts.map +1 -0
- package/dist/deterministic-order.js +5 -0
- package/dist/deterministic-order.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/ports/approval-port.d.ts +29 -0
- package/dist/ports/approval-port.d.ts.map +1 -0
- package/dist/ports/approval-port.js +9 -0
- package/dist/ports/approval-port.js.map +1 -0
- package/dist/ports/artifact-port.d.ts +66 -0
- package/dist/ports/artifact-port.d.ts.map +1 -0
- package/dist/ports/artifact-port.js +9 -0
- package/dist/ports/artifact-port.js.map +1 -0
- package/dist/ports/capability-port.d.ts +62 -0
- package/dist/ports/capability-port.d.ts.map +1 -0
- package/dist/ports/capability-port.js +9 -0
- package/dist/ports/capability-port.js.map +1 -0
- package/dist/ports/coding-model-port.d.ts +12 -0
- package/dist/ports/coding-model-port.d.ts.map +1 -0
- package/dist/ports/coding-model-port.js +9 -0
- package/dist/ports/coding-model-port.js.map +1 -0
- package/dist/ports/command-port.d.ts +94 -0
- package/dist/ports/command-port.d.ts.map +1 -0
- package/dist/ports/command-port.js +9 -0
- package/dist/ports/command-port.js.map +1 -0
- package/dist/ports/execution-context.d.ts +30 -0
- package/dist/ports/execution-context.d.ts.map +1 -0
- package/dist/ports/execution-context.js +11 -0
- package/dist/ports/execution-context.js.map +1 -0
- package/dist/ports/git-port.d.ts +27 -0
- package/dist/ports/git-port.d.ts.map +1 -0
- package/dist/ports/git-port.js +9 -0
- package/dist/ports/git-port.js.map +1 -0
- package/dist/ports/host-adapter.d.ts +36 -0
- package/dist/ports/host-adapter.d.ts.map +1 -0
- package/dist/ports/host-adapter.js +9 -0
- package/dist/ports/host-adapter.js.map +1 -0
- package/dist/ports/index.d.ts +16 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +16 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/pagination.d.ts +17 -0
- package/dist/ports/pagination.d.ts.map +1 -0
- package/dist/ports/pagination.js +9 -0
- package/dist/ports/pagination.js.map +1 -0
- package/dist/ports/persistence-port.d.ts +59 -0
- package/dist/ports/persistence-port.d.ts.map +1 -0
- package/dist/ports/persistence-port.js +9 -0
- package/dist/ports/persistence-port.js.map +1 -0
- package/dist/ports/port-result.d.ts +29 -0
- package/dist/ports/port-result.d.ts.map +1 -0
- package/dist/ports/port-result.js +20 -0
- package/dist/ports/port-result.js.map +1 -0
- package/dist/ports/preview-port.d.ts +27 -0
- package/dist/ports/preview-port.d.ts.map +1 -0
- package/dist/ports/preview-port.js +9 -0
- package/dist/ports/preview-port.js.map +1 -0
- package/dist/ports/research-port.d.ts +40 -0
- package/dist/ports/research-port.d.ts.map +1 -0
- package/dist/ports/research-port.js +9 -0
- package/dist/ports/research-port.js.map +1 -0
- package/dist/ports/trace-port.d.ts +26 -0
- package/dist/ports/trace-port.d.ts.map +1 -0
- package/dist/ports/trace-port.js +9 -0
- package/dist/ports/trace-port.js.map +1 -0
- package/dist/ports/workspace-port.d.ts +126 -0
- package/dist/ports/workspace-port.d.ts.map +1 -0
- package/dist/ports/workspace-port.js +9 -0
- package/dist/ports/workspace-port.js.map +1 -0
- package/dist/prompt/index.d.ts +2 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +2 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/prompt-assembler.d.ts +114 -0
- package/dist/prompt/prompt-assembler.d.ts.map +1 -0
- package/dist/prompt/prompt-assembler.js +363 -0
- package/dist/prompt/prompt-assembler.js.map +1 -0
- package/dist/retrieval/evidence.d.ts +41 -0
- package/dist/retrieval/evidence.d.ts.map +1 -0
- package/dist/retrieval/evidence.js +48 -0
- package/dist/retrieval/evidence.js.map +1 -0
- package/dist/retrieval/index.d.ts +4 -0
- package/dist/retrieval/index.d.ts.map +1 -0
- package/dist/retrieval/index.js +4 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/retrieval/lexical-retriever.d.ts +56 -0
- package/dist/retrieval/lexical-retriever.d.ts.map +1 -0
- package/dist/retrieval/lexical-retriever.js +128 -0
- package/dist/retrieval/lexical-retriever.js.map +1 -0
- package/dist/retrieval/retrieval-policy.d.ts +25 -0
- package/dist/retrieval/retrieval-policy.d.ts.map +1 -0
- package/dist/retrieval/retrieval-policy.js +71 -0
- package/dist/retrieval/retrieval-policy.js.map +1 -0
- package/dist/runtime/completion-gate.d.ts +75 -0
- package/dist/runtime/completion-gate.d.ts.map +1 -0
- package/dist/runtime/completion-gate.js +114 -0
- package/dist/runtime/completion-gate.js.map +1 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/run-controller.d.ts +55 -0
- package/dist/runtime/run-controller.d.ts.map +1 -0
- package/dist/runtime/run-controller.js +2673 -0
- package/dist/runtime/run-controller.js.map +1 -0
- package/dist/runtime/runtime-error.d.ts +7 -0
- package/dist/runtime/runtime-error.d.ts.map +1 -0
- package/dist/runtime/runtime-error.js +11 -0
- package/dist/runtime/runtime-error.js.map +1 -0
- package/dist/runtime/runtime-types.d.ts +303 -0
- package/dist/runtime/runtime-types.d.ts.map +1 -0
- package/dist/runtime/runtime-types.js +2 -0
- package/dist/runtime/runtime-types.js.map +1 -0
- package/dist/runtime/state-machine.d.ts +27 -0
- package/dist/runtime/state-machine.d.ts.map +1 -0
- package/dist/runtime/state-machine.js +68 -0
- package/dist/runtime/state-machine.js.map +1 -0
- package/dist/runtime/trace-emitter.d.ts +17 -0
- package/dist/runtime/trace-emitter.d.ts.map +1 -0
- package/dist/runtime/trace-emitter.js +91 -0
- package/dist/runtime/trace-emitter.js.map +1 -0
- package/dist/tools/coding-messages.d.ts +112 -0
- package/dist/tools/coding-messages.d.ts.map +1 -0
- package/dist/tools/coding-messages.js +20 -0
- package/dist/tools/coding-messages.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/json-schema.d.ts +18 -0
- package/dist/tools/json-schema.d.ts.map +1 -0
- package/dist/tools/json-schema.js +299 -0
- package/dist/tools/json-schema.js.map +1 -0
- package/dist/tools/settings-types.d.ts +41 -0
- package/dist/tools/settings-types.d.ts.map +1 -0
- package/dist/tools/settings-types.js +88 -0
- package/dist/tools/settings-types.js.map +1 -0
- package/dist/tools/tool-effect-profile.d.ts +44 -0
- package/dist/tools/tool-effect-profile.d.ts.map +1 -0
- package/dist/tools/tool-effect-profile.js +157 -0
- package/dist/tools/tool-effect-profile.js.map +1 -0
- package/dist/tools/tool-registry-types.d.ts +72 -0
- package/dist/tools/tool-registry-types.d.ts.map +1 -0
- package/dist/tools/tool-registry-types.js +9 -0
- package/dist/tools/tool-registry-types.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +155 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +599 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/tool-registry.schema.json +144 -0
- package/docs/ARCHITECTURE.md +259 -0
- package/docs/HOST_CONFORMANCE.md +210 -0
- package/docs/PROMPT_CONTRACT.md +123 -0
- package/docs/TOOL_EFFECT_PROFILE.md +77 -0
- package/docs/TOOL_REGISTRY_COMPARISON.md +358 -0
- 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.
|