@eir-labs/coltrane 0.24.30 → 0.24.32
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/agents/change-verifier.json +4 -2
- package/agents/deploy-scout.json +2 -2
- package/agents/red-law-reviewer.json +54 -0
- package/agents/red-spec-attester.json +53 -0
- package/agents/red-spec-builder.json +56 -0
- package/agents/red-spec-drafter.json +1 -1
- package/agents/spec-reviewer.json +1 -1
- package/dist/src/chart.js +4 -0
- package/dist/src/chart.js.map +1 -1
- package/dist/src/chat_completions_port.d.ts +41 -0
- package/dist/src/chat_completions_port.js +221 -0
- package/dist/src/chat_completions_port.js.map +1 -0
- package/dist/src/claude_invoker.d.ts +18 -0
- package/dist/src/claude_invoker.js +771 -22
- package/dist/src/claude_invoker.js.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js +49 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/completions_invoker.d.ts +79 -0
- package/dist/src/completions_invoker.js +220 -0
- package/dist/src/completions_invoker.js.map +1 -0
- package/dist/src/composition.d.ts +13 -0
- package/dist/src/composition.js +16 -0
- package/dist/src/composition.js.map +1 -1
- package/dist/src/genome_schema.d.ts +200 -0
- package/dist/src/genome_schema.js +37 -0
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.d.ts +30 -2
- package/dist/src/genome_store.js +51 -8
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/invoker_selection.d.ts +58 -0
- package/dist/src/invoker_selection.js +110 -0
- package/dist/src/invoker_selection.js.map +1 -0
- package/dist/src/ledger.d.ts +45 -2
- package/dist/src/ledger.js +23 -3
- package/dist/src/ledger.js.map +1 -1
- package/dist/src/mcp.js +2 -2
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/outputs.d.ts +24 -0
- package/dist/src/outputs.js +1 -0
- package/dist/src/outputs.js.map +1 -1
- package/dist/src/registry.js +16 -0
- package/dist/src/registry.js.map +1 -1
- package/dist/src/repo_index.d.ts +13 -0
- package/dist/src/repo_index.js +90 -10
- package/dist/src/repo_index.js.map +1 -1
- package/dist/src/reside_backing.d.ts +3 -2
- package/dist/src/reside_backing.js +8 -2
- package/dist/src/reside_backing.js.map +1 -1
- package/dist/src/reuse.d.ts +8 -0
- package/dist/src/reuse.js.map +1 -1
- package/dist/src/run_deps.d.ts +10 -10
- package/dist/src/run_deps.js +25 -15
- package/dist/src/run_deps.js.map +1 -1
- package/dist/src/runtime.d.ts +205 -109
- package/dist/src/runtime.js +908 -145
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.js +148 -45
- package/dist/src/server.js.map +1 -1
- package/dist/src/server_relay.js +28 -0
- package/dist/src/server_relay.js.map +1 -1
- package/dist/src/skill_runner.mjs +9 -2
- package/dist/src/skill_subprocess.d.ts +20 -1
- package/dist/src/skill_subprocess.js +11 -4
- package/dist/src/skill_subprocess.js.map +1 -1
- package/dist/src/transcript_store.d.ts +14 -0
- package/dist/src/transcript_store.js +39 -0
- package/dist/src/transcript_store.js.map +1 -0
- package/dist/src/turn_loop.d.ts +173 -0
- package/dist/src/turn_loop.js +283 -0
- package/dist/src/turn_loop.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/worker.js +6 -0
- package/dist/src/worker.js.map +1 -1
- package/dist/src/worker_env.d.ts +4 -2
- package/dist/src/worker_env.js +42 -0
- package/dist/src/worker_env.js.map +1 -1
- package/domain_types/change-set.json +33 -22
- package/domain_types/red-spec.json +32 -23
- package/domain_types/seat-primer.json +65 -0
- package/package.json +1 -1
- package/standards/build-from-red-spec-v0.json +93 -0
- package/standards/draft-red-laws-v0.json +68 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { ENGINE_MCP_SERVER, isHostBuiltin, mcpServerOf, toolBaseName } from "./tool_providers.js";
|
|
2
|
+
import { venueEffectiveTools } from "./chart.js";
|
|
3
|
+
import { buildPrompt, extractJson, extractOptionsForChair, promptSchemaFor, sessionUuidFor, } from "./claude_invoker.js";
|
|
4
|
+
// The provider-neutral loop and the chat-completions wire it runs on. The invoker no longer carries
|
|
5
|
+
// a loop of its own: it hands `runTurn` a port and a tool source and reads back typed stops. The
|
|
6
|
+
// tool-name encoding lives in the port now (the one place that speaks the wire) and is re-exported
|
|
7
|
+
// here UNCHANGED so the existing completions-invoker laws keep their import path (Laws 4 & 12 import
|
|
8
|
+
// encodeToolName/fromFunctionName/toFunctionDef from this module).
|
|
9
|
+
import { runTurn } from "./turn_loop.js";
|
|
10
|
+
import { encodeToolName, fromFunctionName, makeChatCompletionsPort, toFunctionDef, } from "./chat_completions_port.js";
|
|
11
|
+
export { encodeToolName, fromFunctionName, toFunctionDef };
|
|
12
|
+
/** One model invocation's wall-clock bound — a completion plus its tool turns, not a whole chair. */
|
|
13
|
+
export const DEFAULT_COMPLETIONS_TIMEOUT_MS = 120_000;
|
|
14
|
+
/** How many tool round-trips one chair may take before the loop refuses to keep paying. */
|
|
15
|
+
export const DEFAULT_MAX_TOOL_ROUNDS = 8;
|
|
16
|
+
export const COMPLETIONS_REFUSALS = [
|
|
17
|
+
"host_tool_denied",
|
|
18
|
+
"no_tool_source",
|
|
19
|
+
"transport_failed",
|
|
20
|
+
"unresolved_tier",
|
|
21
|
+
"round_limit",
|
|
22
|
+
"timeout",
|
|
23
|
+
"aborted",
|
|
24
|
+
"context_limit",
|
|
25
|
+
"tool_name_collision",
|
|
26
|
+
];
|
|
27
|
+
const refuse = (refusal, message) => ({
|
|
28
|
+
ok: false,
|
|
29
|
+
refusal,
|
|
30
|
+
message,
|
|
31
|
+
});
|
|
32
|
+
// ── The invoker ──────────────────────────────────────────────────────────────────────────────────
|
|
33
|
+
/** A bare in-house grant `x` addresses the engine server's tool `mcp__coltrane__x` (#204); an
|
|
34
|
+
* already-namespaced grant (`mcp__<server>__<tool>`, including a `*` prefix) is kept verbatim. This
|
|
35
|
+
* is the SAME bridge resolveAgentGrants applies internally — sharing the one constant keeps the
|
|
36
|
+
* bare-slug/namespaced-surface split (#204) from drifting without dragging a provider registry into
|
|
37
|
+
* this invoker's options. */
|
|
38
|
+
function mapGrant(grant) {
|
|
39
|
+
return mcpServerOf(grant) ? grant : `mcp__${ENGINE_MCP_SERVER}__${toolBaseName(grant)}`;
|
|
40
|
+
}
|
|
41
|
+
export function makeCompletionsInvoker(opts) {
|
|
42
|
+
const port = makeChatCompletionsPort({
|
|
43
|
+
baseUrl: opts.baseUrl,
|
|
44
|
+
apiKey: opts.apiKey,
|
|
45
|
+
...(opts.fetchFn ? { fetchFn: opts.fetchFn } : {}),
|
|
46
|
+
});
|
|
47
|
+
const timeoutMs = opts.timeoutMs ?? DEFAULT_COMPLETIONS_TIMEOUT_MS;
|
|
48
|
+
return async (ctx) => {
|
|
49
|
+
const grants = ctx.agent.allowed_tools ?? [];
|
|
50
|
+
// (1) HOST BUILTINS ARE REFUSED BY NAME, before anything is spent. Naming the tool is the
|
|
51
|
+
// difference between a usable refusal and a shrug — and refusing before the wire means a
|
|
52
|
+
// misconfigured chair costs nothing to discover.
|
|
53
|
+
const host = grants.filter((g) => isHostBuiltin(g));
|
|
54
|
+
if (host.length > 0) {
|
|
55
|
+
return refuse("host_tool_denied", `agent "${ctx.agent.slug}" grants host builtin(s) [${host.join(", ")}], which this invoker ` +
|
|
56
|
+
`does not carry — its hands are MCP tools only, which arrive governed by the server that ` +
|
|
57
|
+
`serves them. Run this chair on the host-tool invoker, or narrow its grants.`);
|
|
58
|
+
}
|
|
59
|
+
// (2) Grants with no source to satisfy them: a chair advertising tools it cannot reach would
|
|
60
|
+
// confabulate. Absent must mean DECLINE.
|
|
61
|
+
if (grants.length > 0 && !opts.tools) {
|
|
62
|
+
return refuse("no_tool_source", `agent "${ctx.agent.slug}" grants [${grants.join(", ")}] but no MCP tool source is wired — ` +
|
|
63
|
+
`a deployment supplies it. Refusing rather than running the chair without its hands.`);
|
|
64
|
+
}
|
|
65
|
+
// (3) The tier must resolve to a concrete model. Guessing one spends real money against a
|
|
66
|
+
// model nobody chose.
|
|
67
|
+
const tier = ctx.agent.model_tier;
|
|
68
|
+
const model = tier ? opts.tierMap?.[tier] : undefined;
|
|
69
|
+
if (!model) {
|
|
70
|
+
return refuse("unresolved_tier", `no model configured for tier "${String(tier ?? "(none)")}" — the tier map is supplied by the ` +
|
|
71
|
+
`deployment, and an unmapped tier is a misconfiguration, not a default.`);
|
|
72
|
+
}
|
|
73
|
+
const types = ctx.output_types?.length ? ctx.output_types : ctx.agent.output_types;
|
|
74
|
+
const single = types.length === 1 ? promptSchemaFor(opts.registry, types[0]) : undefined;
|
|
75
|
+
const many = types.length > 1
|
|
76
|
+
? Object.fromEntries(types.map((t) => [t, promptSchemaFor(opts.registry, t)]))
|
|
77
|
+
: undefined;
|
|
78
|
+
// THE OFFERED SET. The chair's grants — narrowed by the room when the chair sits in one (the SAME
|
|
79
|
+
// venueEffectiveTools oracle claude_invoker uses, never a re-inlined intersection) — mapped so a
|
|
80
|
+
// bare in-house grant addresses the engine server's tool. Those mapped grants ARE the loop's allow
|
|
81
|
+
// list, whichever server serves the tool: a grant is the chair's ceiling, and a tool the source
|
|
82
|
+
// lists but the chair never named is not authorization to offer it. The loop offers exactly
|
|
83
|
+
// `listed ∩ allow`, re-sent byte-identical every round, and refuses any call outside it before it
|
|
84
|
+
// reaches source.
|
|
85
|
+
const chairGrants = ctx.venue ? venueEffectiveTools(ctx.agent, ctx.venue) : grants;
|
|
86
|
+
const allow = chairGrants.map(mapGrant);
|
|
87
|
+
// THE ROUND CAP. Chair budget, then the agent's own cap, then the invoker default, then the
|
|
88
|
+
// engine default — the turn-budget contract's order. `ctx.turn_budget === 0` is a deliberate hard
|
|
89
|
+
// floor and does NOT fall through (0 is not nullish).
|
|
90
|
+
const maxRounds = ctx.turn_budget ?? ctx.agent.max_tool_calls ?? opts.maxToolRounds ?? DEFAULT_MAX_TOOL_ROUNDS;
|
|
91
|
+
// contract-completions-seat-transcript-v1 — the seat's conversation lives in a store keyed by its
|
|
92
|
+
// (gig_id, role) session id, the SAME id the Claude door resumes under. A MAKER amend (`resume`,
|
|
93
|
+
// and NOT `resume_keep_prompt` — a re-verify keeps the full cold prompt, out of scope) resumes that
|
|
94
|
+
// saved transcript; everything else — a first invocation, a re-verify — seeds exactly the full
|
|
95
|
+
// prompt buildPrompt returns and never reads the store (I2's "only a resume reads" half).
|
|
96
|
+
const store = opts.transcripts;
|
|
97
|
+
const sid = sessionUuidFor(ctx.gig_id, ctx.role);
|
|
98
|
+
const isMakerAmend = ctx.resume === true && ctx.resume_keep_prompt !== true;
|
|
99
|
+
const loaded = isMakerAmend && store && sid ? store.load(sid) : undefined;
|
|
100
|
+
let seed;
|
|
101
|
+
if (isMakerAmend && loaded && loaded.length > 0) {
|
|
102
|
+
// O2 / I1 — re-send the saved transcript UNCHANGED as the prefix (a provider prefix cache can
|
|
103
|
+
// serve it), then EXACTLY ONE new user message: the trimmed amend prompt buildPrompt returns on a
|
|
104
|
+
// resume (its one new thing is the failing verdict). Append-only over the prior round.
|
|
105
|
+
seed = [...loaded, { role: "user", content: buildPrompt(ctx, single, many) }];
|
|
106
|
+
}
|
|
107
|
+
else if (isMakerAmend) {
|
|
108
|
+
// F1 — a maker amend with no saved transcript (no store wired, or nothing under this id) has no
|
|
109
|
+
// conversation to resume. Seed the FULL cold prompt (buildPrompt with resume OFF: identity,
|
|
110
|
+
// method, gig input) — NEVER the resume-only prompt that claims a conversation the seat does not
|
|
111
|
+
// hold — and emit the SAME `resume_fallback` event the Claude invoker does, which the runtime
|
|
112
|
+
// folds into chair_complete.resume_fallback. The chair does not fail for this.
|
|
113
|
+
seed = [{ role: "user", content: buildPrompt({ ...ctx, resume: false }, single, many) }];
|
|
114
|
+
ctx.onEvent?.({
|
|
115
|
+
type: "resume_fallback",
|
|
116
|
+
raw: {
|
|
117
|
+
agent: ctx.agent.slug,
|
|
118
|
+
session_id: sid,
|
|
119
|
+
resumed: false,
|
|
120
|
+
reason: "no saved transcript for this session — re-seeding cold with the full prompt rather than " +
|
|
121
|
+
"the resume-only prompt, which would claim a conversation that is not held",
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
seed = [{ role: "user", content: buildPrompt(ctx, single, many) }];
|
|
127
|
+
}
|
|
128
|
+
const result = await runTurn(seed, {
|
|
129
|
+
port,
|
|
130
|
+
model,
|
|
131
|
+
...(opts.tools ? { tools: opts.tools } : {}),
|
|
132
|
+
allow,
|
|
133
|
+
max_rounds: maxRounds,
|
|
134
|
+
timeout_ms: timeoutMs,
|
|
135
|
+
// contract-tool-wire-name-collision-v1 (O2) — hand the loop the SAME encoding the port speaks, so
|
|
136
|
+
// it refuses an offered set two of whose tools collapse to one wire name before any model call.
|
|
137
|
+
wire_name: encodeToolName,
|
|
138
|
+
// #seat-effort (O4) — carry the resolved effort onto the model request. The runtime set it on
|
|
139
|
+
// the ctx (resolveEffort); the provider wire mapping is a lower layer, out of scope.
|
|
140
|
+
...(ctx.effort ? { effort: ctx.effort } : {}),
|
|
141
|
+
// contract-seat-context-ceiling-v1 (O3) — hand the resolved ceiling to runTurn, which stops
|
|
142
|
+
// `context_limit` the round its measured context crosses it. Absent ⇒ nothing passed, so the turn
|
|
143
|
+
// runs uncapped exactly as today (I1).
|
|
144
|
+
...(ctx.max_context_tokens !== undefined ? { max_context_tokens: ctx.max_context_tokens } : {}),
|
|
145
|
+
...(ctx.signal ? { signal: ctx.signal } : {}),
|
|
146
|
+
...(opts.prices ? { prices: opts.prices } : {}),
|
|
147
|
+
...(opts.maxTokens !== undefined ? { max_tokens: opts.maxTokens } : {}),
|
|
148
|
+
});
|
|
149
|
+
// O1 — save the seat's transcript under its (gig_id, role) session id AFTER the turn, whatever the
|
|
150
|
+
// stop, so a later maker amend resumes the conversation it actually had. runTurn.messages is the
|
|
151
|
+
// seed plus everything appended this turn (a new array). No store or no session id ⇒ nothing saved.
|
|
152
|
+
if (store && sid)
|
|
153
|
+
store.save(sid, result.messages);
|
|
154
|
+
// Settle what RAN, whatever the stop. The full prompt (uncached input + cache reads + cache
|
|
155
|
+
// writes) preserves GigUsage.input_tokens' "whole prompt" meaning — reporting the uncached part
|
|
156
|
+
// alone would silently narrow the field, unseen by any fixture that caches nothing. Cost is
|
|
157
|
+
// emitted ONLY when every round was priced; a round the transport left unpriced or unreported is
|
|
158
|
+
// never folded in as $0 (#235). The per-model breakdown is keyed by the model the transport
|
|
159
|
+
// NAMED as serving the round, never the configured tier.
|
|
160
|
+
const totalInput = result.totals.input_tokens + result.totals.cache_read_tokens + result.totals.cache_write_tokens;
|
|
161
|
+
const totalOutput = result.totals.output_tokens;
|
|
162
|
+
const byModel = {};
|
|
163
|
+
for (const r of result.rounds) {
|
|
164
|
+
if (r.model === undefined || r.usage === undefined)
|
|
165
|
+
continue;
|
|
166
|
+
const slot = (byModel[r.model] ??= { inputTokens: 0, outputTokens: 0, costUSD: 0 });
|
|
167
|
+
slot.inputTokens +=
|
|
168
|
+
(r.usage.input_tokens ?? 0) + (r.usage.cache_read_tokens ?? 0) + (r.usage.cache_write_tokens ?? 0);
|
|
169
|
+
slot.outputTokens += r.usage.output_tokens ?? 0;
|
|
170
|
+
slot.costUSD += r.cost_usd ?? 0;
|
|
171
|
+
}
|
|
172
|
+
const everyRoundPriced = result.rounds.length > 0 && result.rounds.every((r) => r.cost_usd !== undefined);
|
|
173
|
+
if (totalInput > 0 || totalOutput > 0) {
|
|
174
|
+
ctx.onEvent?.({
|
|
175
|
+
type: "result",
|
|
176
|
+
raw: {
|
|
177
|
+
usage: { input_tokens: totalInput, output_tokens: totalOutput },
|
|
178
|
+
...(everyRoundPriced ? { total_cost_usd: result.totals.cost_usd } : {}),
|
|
179
|
+
...(Object.keys(byModel).length > 0 ? { modelUsage: byModel } : {}),
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
// A typed stop is a NAMED refusal, never a throw and never a parse of empty content. The runtime
|
|
184
|
+
// reads `{ok:false, refusal, message}` and fails the chair with the reason, so running out of
|
|
185
|
+
// rounds no longer falls through to "the model produced no answer".
|
|
186
|
+
if (result.stop === "round_limit") {
|
|
187
|
+
return refuse("round_limit", `chair "${ctx.agent.slug}" ran ${result.totals.rounds} model round(s) — its turn budget of ` +
|
|
188
|
+
`${maxRounds} — without answering. Raise the chair's turn_budget or the agent's ` +
|
|
189
|
+
`max_tool_calls, or narrow the work.`);
|
|
190
|
+
}
|
|
191
|
+
if (result.stop === "timeout") {
|
|
192
|
+
return refuse("timeout", `a model call exceeded the ${timeoutMs}ms per-call timeout.`);
|
|
193
|
+
}
|
|
194
|
+
if (result.stop === "aborted") {
|
|
195
|
+
return refuse("aborted", `the invocation was aborted by its caller before the chair answered.`);
|
|
196
|
+
}
|
|
197
|
+
if (result.stop === "transport_failed") {
|
|
198
|
+
return refuse("transport_failed", `the completions endpoint failed: ${result.error ?? "no reason reported"}`);
|
|
199
|
+
}
|
|
200
|
+
// contract-tool-wire-name-collision-v1 (O2) — the offered set held two tools indistinguishable on
|
|
201
|
+
// the wire. A TYPED refusal naming the colliding tools, caught before any model call, never an
|
|
202
|
+
// insertion-order winner and never a sealed partial.
|
|
203
|
+
if (result.stop === "tool_name_collision") {
|
|
204
|
+
return refuse("tool_name_collision", `chair "${ctx.agent.slug}" was offered tools that collide on the wire: ` +
|
|
205
|
+
`${result.error ?? "two tools encode to one wire name"}. Two tools that map to one wire ` +
|
|
206
|
+
`name cannot be told apart; refusing rather than running whichever won the reverse map.`);
|
|
207
|
+
}
|
|
208
|
+
// contract-seat-context-ceiling-v1 (O4) — a context_limit stop is a TYPED refusal that names the
|
|
209
|
+
// context tokens reached (the loop's peak) and the declared ceiling; it NEVER falls through to
|
|
210
|
+
// extractJson, so no partial answer is sealed as complete.
|
|
211
|
+
if (result.stop === "context_limit") {
|
|
212
|
+
return refuse("context_limit", `chair "${ctx.agent.slug}" crossed its context ceiling: reached ` +
|
|
213
|
+
`${result.totals.peak_context_tokens} context token(s) against a ceiling of ` +
|
|
214
|
+
`${ctx.max_context_tokens}. No partial answer is sealed; raise the seat's ` +
|
|
215
|
+
`max_context_tokens or narrow the work.`);
|
|
216
|
+
}
|
|
217
|
+
return extractJson(result.text, extractOptionsForChair(types, single));
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=completions_invoker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completions_invoker.js","sourceRoot":"","sources":["../../src/completions_invoker.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,19 @@ export interface Chair {
|
|
|
58
58
|
/** The per-chair ceiling on draws from the gig reserve pool (mirrors `ChairSchema.turn_reserve`).
|
|
59
59
|
* A chair never draws more than this even when the pool is larger. */
|
|
60
60
|
turn_reserve?: number;
|
|
61
|
+
/** contract-seat-primer-v1 — a PRIME chair reads an `area` once and seals a `seat-primer`
|
|
62
|
+
* (mirrors `ChairSchema.prime`). Mutually exclusive with `fork_from`. */
|
|
63
|
+
prime?: {
|
|
64
|
+
area: string;
|
|
65
|
+
};
|
|
66
|
+
/** contract-seat-primer-v1 — a FORK chair warm-starts from the most recent `seat-primer` its
|
|
67
|
+
* agent sealed for `fork_from.primer` (an area slug; mirrors `ChairSchema.fork_from`).
|
|
68
|
+
* contract-rolling-seat-primer-v1 (O4) — `max_context_tokens` is a context ceiling: a primer whose
|
|
69
|
+
* recorded `context_tokens` exceeds it is REPLACED (cold run), never forked. Absent → fork any size. */
|
|
70
|
+
fork_from?: {
|
|
71
|
+
primer: string;
|
|
72
|
+
max_context_tokens?: number;
|
|
73
|
+
};
|
|
61
74
|
}
|
|
62
75
|
export interface PhaseDef {
|
|
63
76
|
name: string;
|
package/dist/src/composition.js
CHANGED
|
@@ -147,6 +147,22 @@ export function composeStandard(def) {
|
|
|
147
147
|
throw new CompositionError(`standard ${def.slug}: duplicate role "${ch.role}" across phases (also in ${seenRoles.get(ch.role)})`);
|
|
148
148
|
}
|
|
149
149
|
seenRoles.set(ch.role, ph.name);
|
|
150
|
+
// contract-rolling-seat-primer-v1 (O1) — a chair MAY declare both prime and fork_from when they
|
|
151
|
+
// name the SAME area: a build primes the area and forks the prior primer OF THAT area (the rolling
|
|
152
|
+
// primer itself). Refuse ONLY a chair whose primed area DIFFERS from the area it forks — a
|
|
153
|
+
// warm-start from a reading of the wrong area — naming the chair AND both areas so the author sees
|
|
154
|
+
// exactly which two disagree. (This rewrites contract-seat-primer-v1's F3, which refused ALL
|
|
155
|
+
// prime+fork chairs.) The fork_from slug check below is unchanged.
|
|
156
|
+
if (ch.prime && ch.fork_from && ch.prime.area !== ch.fork_from.primer) {
|
|
157
|
+
throw new CompositionError(`standard ${def.slug}: chair "${ch.role}" primes area "${ch.prime.area}" but forks a primer of ` +
|
|
158
|
+
`a DIFFERENT area "${ch.fork_from.primer}" — a seat that primes and forks must name the SAME ` +
|
|
159
|
+
`area (a build primes an area and forks the prior primer OF THAT area). Make prime.area and ` +
|
|
160
|
+
`fork_from.primer the same slug, or drop one.`);
|
|
161
|
+
}
|
|
162
|
+
if (ch.fork_from && !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(ch.fork_from.primer)) {
|
|
163
|
+
throw new CompositionError(`standard ${def.slug}: chair "${ch.role}" fork_from area "${ch.fork_from.primer}" is not a ` +
|
|
164
|
+
`lowercase-hyphen slug — a primer area is a slug like "amend-loop". Fix the fork_from field.`);
|
|
165
|
+
}
|
|
150
166
|
// A skill-backed chair (skill_slug set, no agent_slug) runs the skill's deterministic
|
|
151
167
|
// code half instead of an agent — skip the agent/required-skills checks for it. The
|
|
152
168
|
// type-flow (input/output_contract) below still applies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/composition.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/composition.ts"],"names":[],"mappings":"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"}
|