@cat-factory/orchestration 0.278.0 → 0.280.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 (47) hide show
  1. package/dist/container/dependencies.d.ts +18 -7
  2. package/dist/container/dependencies.d.ts.map +1 -1
  3. package/dist/container/execution-service.d.ts.map +1 -1
  4. package/dist/container/execution-service.js +4 -0
  5. package/dist/container/execution-service.js.map +1 -1
  6. package/dist/container/runtime.d.ts +1 -0
  7. package/dist/container/runtime.d.ts.map +1 -1
  8. package/dist/container/runtime.js +6 -0
  9. package/dist/container/runtime.js.map +1 -1
  10. package/dist/container.d.ts +8 -1
  11. package/dist/container.d.ts.map +1 -1
  12. package/dist/container.js.map +1 -1
  13. package/dist/modules/execution/AgentContextBuilder.d.ts +9 -10
  14. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  15. package/dist/modules/execution/AgentContextBuilder.js +35 -4
  16. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  17. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +7 -1
  18. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  19. package/dist/modules/execution/run-context-admission.d.ts +1 -1
  20. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  21. package/dist/modules/execution/run-context-admission.js +1 -0
  22. package/dist/modules/execution/run-context-admission.js.map +1 -1
  23. package/dist/modules/execution/run-skills.d.ts +27 -1
  24. package/dist/modules/execution/run-skills.d.ts.map +1 -1
  25. package/dist/modules/execution/run-skills.js +32 -2
  26. package/dist/modules/execution/run-skills.js.map +1 -1
  27. package/dist/modules/sandbox/SandboxRunService.d.ts +6 -1
  28. package/dist/modules/sandbox/SandboxRunService.d.ts.map +1 -1
  29. package/dist/modules/sandbox/SandboxRunService.js +34 -27
  30. package/dist/modules/sandbox/SandboxRunService.js.map +1 -1
  31. package/dist/modules/sandbox/SandboxService.d.ts +26 -3
  32. package/dist/modules/sandbox/SandboxService.d.ts.map +1 -1
  33. package/dist/modules/sandbox/SandboxService.js +81 -19
  34. package/dist/modules/sandbox/SandboxService.js.map +1 -1
  35. package/dist/modules/sandbox/sandbox-input.d.ts +16 -0
  36. package/dist/modules/sandbox/sandbox-input.d.ts.map +1 -0
  37. package/dist/modules/sandbox/sandbox-input.js +274 -0
  38. package/dist/modules/sandbox/sandbox-input.js.map +1 -0
  39. package/dist/modules/sandbox/sandbox.logic.d.ts +0 -8
  40. package/dist/modules/sandbox/sandbox.logic.d.ts.map +1 -1
  41. package/dist/modules/sandbox/sandbox.logic.js +4 -48
  42. package/dist/modules/sandbox/sandbox.logic.js.map +1 -1
  43. package/dist/modules/sandbox/sandboxAdmission.d.ts +36 -0
  44. package/dist/modules/sandbox/sandboxAdmission.d.ts.map +1 -0
  45. package/dist/modules/sandbox/sandboxAdmission.js +83 -0
  46. package/dist/modules/sandbox/sandboxAdmission.js.map +1 -0
  47. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxService.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxService.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SandboxFixture } from '@cat-factory/contracts';
2
+ import { type AgentKindRegistry } from '@cat-factory/agents';
3
+ import { type SandboxAgentKindMeta } from '@cat-factory/sandbox';
4
+ /**
5
+ * Render a fixture into the task input for one cell.
6
+ *
7
+ * Throws a {@link ValidationError} naming the fixture when its payload cannot be read as the shape
8
+ * its agent kind consumes. That is deliberate: the old tolerant renderer turned a malformed
9
+ * workspace fixture into an EMPTY prompt, and the cell then ran, the judge was told "(no task input
10
+ * was supplied)", and it graded anyway, producing a real-looking score for a task nobody posed.
11
+ *
12
+ * Because it throws, the run-driver resolves it BEFORE claiming the experiment: a fixture the
13
+ * builder cannot read is a bad request, not a half-run grid.
14
+ */
15
+ export declare function renderFixtureInput(fixture: SandboxFixture, meta: SandboxAgentKindMeta, registry: AgentKindRegistry): string;
16
+ //# sourceMappingURL=sandbox-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-input.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAU5D,OAAO,EAAE,KAAK,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAyB,MAAM,sBAAsB,CAAA;AAuGvF;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,iBAAiB,GAC1B,MAAM,CAcR"}
@@ -0,0 +1,274 @@
1
+ import { blockTypeSchema } from '@cat-factory/contracts';
2
+ import { ValidationError } from '@cat-factory/kernel';
3
+ import { userPromptFor } from '@cat-factory/agents';
4
+ import { statesMissingCheckout } from '@cat-factory/sandbox';
5
+ import { buildClarityPrompt } from '../clarity/clarity.logic.js';
6
+ import { buildRecommendationPrompt, buildReviewPrompt, } from '../requirements/requirements.logic.js';
7
+ /**
8
+ * What the candidate is TOLD when the Sandbox runs a kind production dispatches into a container.
9
+ *
10
+ * Its composed system prompt was written for an agent holding a real clone and instructs it to diff
11
+ * the branch and read the changed files; here there is neither a checkout nor a tool loop. Left
12
+ * unsaid, the candidate spends its answer apologising for files it could not open and the grade
13
+ * measures the harness rather than the prompt, which is the same defect as silently dropping a
14
+ * capability the prompt promised (see the "degrade loudly" rule).
15
+ */
16
+ const NO_CHECKOUT_NOTICE = [
17
+ 'EVALUATION NOTE: this run has NO repository checkout and no tools. Your instructions above',
18
+ 'describe a run in which you would clone the branch and read the files yourself; here the work',
19
+ 'under review is reproduced in full in the material above, and that material is all there is.',
20
+ 'Review what you were given. Where a judgement genuinely needs code you were not shown, say so',
21
+ 'explicitly instead of reporting on files you could not read.',
22
+ ].join('\n');
23
+ /**
24
+ * The per-kind builders, each delegating to the pure prompt builder its production caller uses:
25
+ * `IterativeReviewService` for the requirements/clarity reviewers, `RequirementReviewService` for
26
+ * the Writer, and the generic `userPromptFor` for every kind the engine dispatches as an ordinary
27
+ * agent step (the companions and the estimator).
28
+ *
29
+ * Keyed by AGENT KIND, not fixture kind: the fixture kind says what shape the payload is, the agent
30
+ * kind decides what prompt that shape becomes.
31
+ */
32
+ function inputBuilders(registry) {
33
+ const asAgentContext = (cell) => userPromptFor(agentRunContext(cell), registry, cell.notice ? { runNotice: cell.notice } : {});
34
+ // The inline ENGINE builders return a plain string with no closing instruction of their own, so
35
+ // appending is the right placement for them; it is still routed through one helper rather than
36
+ // hand-written three times, so a kind that later grows a suffix has one place to change.
37
+ return {
38
+ 'requirements-review': (cell) => appendNotice(buildReviewPrompt(requirementsContext(cell)), cell),
39
+ 'clarity-review': (cell) => appendNotice(buildClarityPrompt(clarityContext(cell)), cell),
40
+ 'requirements-writer': (cell) => appendNotice(buildRecommendationPrompt(requirementsContext(cell), findings(cell), grounding(cell.payload)), cell),
41
+ reviewer: asAgentContext,
42
+ 'architect-companion': asAgentContext,
43
+ 'task-estimator': asAgentContext,
44
+ };
45
+ }
46
+ function appendNotice(prompt, cell) {
47
+ return cell.notice ? `${prompt}\n\n${cell.notice}` : prompt;
48
+ }
49
+ /**
50
+ * Render a fixture into the task input for one cell.
51
+ *
52
+ * Throws a {@link ValidationError} naming the fixture when its payload cannot be read as the shape
53
+ * its agent kind consumes. That is deliberate: the old tolerant renderer turned a malformed
54
+ * workspace fixture into an EMPTY prompt, and the cell then ran, the judge was told "(no task input
55
+ * was supplied)", and it graded anyway, producing a real-looking score for a task nobody posed.
56
+ *
57
+ * Because it throws, the run-driver resolves it BEFORE claiming the experiment: a fixture the
58
+ * builder cannot read is a bad request, not a half-run grid.
59
+ */
60
+ export function renderFixtureInput(fixture, meta, registry) {
61
+ const build = inputBuilders(registry)[meta.agentKind];
62
+ if (!build) {
63
+ throw new ValidationError(`The Sandbox has no task-input builder for "${meta.agentKind}"; it cannot be run as a cell.`, { reason: 'sandbox_input_unsupported' });
64
+ }
65
+ return build({
66
+ payload: fixture.payload ?? {},
67
+ fixtureName: fixture.name,
68
+ meta,
69
+ notice: statesMissingCheckout(meta) ? NO_CHECKOUT_NOTICE : undefined,
70
+ });
71
+ }
72
+ // ---- payload coercion -----------------------------------------------------
73
+ // A payload is `Record<string, unknown>` on the wire (a workspace may author one by hand), so each
74
+ // coercion asserts what its builder cannot work without and defaults the rest. The BUILTIN payloads
75
+ // are additionally pinned against the real context types by `sandbox-fixture-payloads.test.ts`.
76
+ /**
77
+ * Narrow a payload's `block.type` through the picklist that OWNS the vocabulary rather than a copy
78
+ * of its members. A hand list is silently partial the day a block type is added: the coercion keeps
79
+ * compiling, downgrades the new type to `service`, and the fixture's prompt then names a different
80
+ * kind of thing than the fixture describes.
81
+ */
82
+ function isBlockType(value) {
83
+ return blockTypeSchema.options.includes(value);
84
+ }
85
+ /** The `{ title, type, description }` every context shape starts from. */
86
+ function block(cell) {
87
+ const raw = asRecord(cell.payload.block);
88
+ const title = asString(raw.title);
89
+ if (!title) {
90
+ throw new ValidationError(`Fixture "${cell.fixtureName}" has no \`block.title\`; there is nothing for the agent to work on.`, { reason: 'sandbox_fixture_payload_invalid' });
91
+ }
92
+ return {
93
+ title,
94
+ type: isBlockType(raw.type) ? raw.type : 'service',
95
+ description: asString(raw.description),
96
+ };
97
+ }
98
+ function requirementsContext(cell) {
99
+ const payload = cell.payload;
100
+ // `service` rides through as authored: absent means the fixture deliberately does not identify
101
+ // the product, which `buildReviewPrompt` STATES ("do not pick one") rather than omitting. A
102
+ // fixture that supplies one is exercising the opposite, identified path.
103
+ return {
104
+ block: block(cell),
105
+ docs: asArray(payload.docs).map((doc) => {
106
+ const d = asRecord(doc);
107
+ return {
108
+ title: asString(d.title) || 'Document',
109
+ url: asString(d.url),
110
+ excerpt: asString(d.excerpt) || asString(d.body) || asString(d.content),
111
+ };
112
+ }),
113
+ tasks: asArray(payload.tasks).map((task) => {
114
+ const t = asRecord(task);
115
+ return {
116
+ key: asString(t.key) || 'ISSUE',
117
+ title: asString(t.title) || 'Issue',
118
+ status: asString(t.status) || 'open',
119
+ type: asString(t.type) || 'task',
120
+ description: asString(t.description) || asString(t.body),
121
+ };
122
+ }),
123
+ ...optional('service', payload.service),
124
+ ...optionalString('specIntent', payload.specIntent),
125
+ ...optionalString('refinedDirection', payload.refinedDirection),
126
+ ...optionalString('incorporatedDoc', payload.incorporatedDoc),
127
+ };
128
+ }
129
+ function clarityContext(cell) {
130
+ const payload = cell.payload;
131
+ return {
132
+ block: block(cell),
133
+ ...optional('service', payload.service),
134
+ ...optionalString('investigation', payload.investigation),
135
+ ...optionalString('clarifiedDoc', payload.clarifiedDoc),
136
+ };
137
+ }
138
+ /**
139
+ * The findings the Requirement Writer must answer. Required and non-empty: the Writer's whole
140
+ * contract is one recommendation per finding id, so a fixture with none poses no task and its
141
+ * `coverage` dimension would have nothing to score.
142
+ */
143
+ function findings(cell) {
144
+ const items = asArray(cell.payload.findings).map((item, index) => {
145
+ const f = asRecord(item);
146
+ return {
147
+ id: asString(f.id) || `finding-${index + 1}`,
148
+ category: (asString(f.category) || 'gap'),
149
+ severity: (asString(f.severity) || 'medium'),
150
+ title: asString(f.title),
151
+ detail: asString(f.detail),
152
+ status: (asString(f.status) || 'open'),
153
+ reply: null,
154
+ ...(typeof f.autoAnswerable === 'boolean' ? { autoAnswerable: f.autoAnswerable } : {}),
155
+ createdAt: 0,
156
+ updatedAt: 0,
157
+ };
158
+ });
159
+ if (items.length === 0) {
160
+ throw new ValidationError(`Fixture "${cell.fixtureName}" declares no \`findings\`; the requirement writer answers findings, so there is nothing to recommend.`, { reason: 'sandbox_fixture_payload_invalid' });
161
+ }
162
+ return items;
163
+ }
164
+ /**
165
+ * The grounding material, in the Writer's own precedence order. Every leg is optional and an EMPTY
166
+ * one is meaningful rather than missing: a fixture with no standards and no spec excerpts is the one
167
+ * that tests whether the Writer reports `general-practice` honestly instead of citing a source it
168
+ * was never given.
169
+ */
170
+ function grounding(payload) {
171
+ const raw = asRecord(payload.grounding);
172
+ return {
173
+ fragments: asArray(raw.fragments).map((fragment) => {
174
+ const f = asRecord(fragment);
175
+ return {
176
+ id: asString(f.id),
177
+ title: asString(f.title),
178
+ body: asString(f.body),
179
+ };
180
+ }),
181
+ specExcerpts: asArray(raw.specExcerpts).map((excerpt) => asString(excerpt)),
182
+ webResults: asArray(raw.webResults).map((result) => {
183
+ const w = asRecord(result);
184
+ return { title: asString(w.title), url: asString(w.url), content: asString(w.content) };
185
+ }),
186
+ };
187
+ }
188
+ /**
189
+ * Build the run context for a kind the engine dispatches as an ordinary agent step, so
190
+ * `userPromptFor` composes the same prompt it would in a real run.
191
+ *
192
+ * `injectedContextFiles` is the field that carries a repo-scale change into an inline cell: it is
193
+ * the production seam for a caller with no filesystem (`withInjectedContext` folds the bodies in and
194
+ * states its own budget), which is why a multi-file fixture uses it rather than pasting the diff
195
+ * into a prior output.
196
+ */
197
+ function agentRunContext(cell) {
198
+ const payload = cell.payload;
199
+ const resolved = asRecord(payload.resolvedDecision);
200
+ return {
201
+ // From the CATALOG entry, never the payload: this context composes the USER prompt while
202
+ // `meta.agentKind` composes the SYSTEM prompt, and a payload that named a different kind (or
203
+ // named none, and defaulted) would pair one kind's task framing with another's instructions.
204
+ agentKind: cell.meta.agentKind,
205
+ pipelineName: asString(payload.pipelineName) || 'sandbox',
206
+ stepIndex: typeof payload.stepIndex === 'number' ? payload.stepIndex : 0,
207
+ isFinalStep: payload.isFinalStep !== false,
208
+ block: {
209
+ ...block(cell),
210
+ ...optional('estimate', payload.estimate),
211
+ },
212
+ ownService: ownService(payload),
213
+ priorOutputs: asArray(payload.priorOutputs).map((prior) => {
214
+ const p = asRecord(prior);
215
+ return { agentKind: asString(p.agentKind) || 'coder', output: asString(p.output) };
216
+ }),
217
+ decisions: asArray(payload.decisions).map((decision) => {
218
+ const d = asRecord(decision);
219
+ return { question: asString(d.question), chosen: asString(d.chosen) };
220
+ }),
221
+ resolvedDecision: asString(resolved.question) && asString(resolved.chosen)
222
+ ? { question: asString(resolved.question), chosen: asString(resolved.chosen) }
223
+ : null,
224
+ ...optional('injectedContextFiles', contextFiles(payload.injectedContextFiles)),
225
+ };
226
+ }
227
+ /**
228
+ * Which system the fixture's work belongs to, ALWAYS answered.
229
+ *
230
+ * Production's `AgentContextBuilder` populates `ownService` on every dispatch, and
231
+ * `ownServiceSection` is the one section that renders when the value says "no service", because a
232
+ * short task title names no software, so a silent omission reads exactly like a task whose product
233
+ * is obvious, and a model asked for concrete output then supplies one. Leaving the field undefined
234
+ * here would have graded these three kinds on a prompt production never sends, and penalised a
235
+ * candidate for inventing a product the harness gave it no way to know.
236
+ *
237
+ * A fixture that identifies one authors `ownService` as the real `OwnServiceContext` (the payload
238
+ * IS the context shape); one that does not gets the honest `not-under-a-service`, which is what
239
+ * production sends for a task sitting outside every service frame.
240
+ */
241
+ function ownService(payload) {
242
+ const own = payload.ownService;
243
+ if (own && typeof own === 'object' && typeof own.stated === 'boolean')
244
+ return own;
245
+ return { stated: false, reason: 'not-under-a-service' };
246
+ }
247
+ /** The injected context files, or undefined when the fixture declares none. */
248
+ function contextFiles(value) {
249
+ const files = asArray(value).map((file) => {
250
+ const f = asRecord(file);
251
+ return { path: asString(f.path), content: asString(f.content) };
252
+ });
253
+ return files.length > 0 ? files : undefined;
254
+ }
255
+ function asRecord(value) {
256
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
257
+ ? value
258
+ : {};
259
+ }
260
+ function asArray(value) {
261
+ return Array.isArray(value) ? value : [];
262
+ }
263
+ function asString(value) {
264
+ return typeof value === 'string' ? value : '';
265
+ }
266
+ /** Spread an optional field only when it has a value, so the context stays sparse. */
267
+ function optional(key, value) {
268
+ return value === undefined || value === null ? {} : { [key]: value };
269
+ }
270
+ function optionalString(key, value) {
271
+ const text = asString(value).trim();
272
+ return text ? { [key]: text } : {};
273
+ }
274
+ //# sourceMappingURL=sandbox-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-input.js","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox-input.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,6 @@ import { type ExpectationScore, type Rubric } from '@cat-factory/sandbox';
4
4
  export { extractJson } from '@cat-factory/kernel';
5
5
  /** Split a model catalog id (`provider:model`) into a {@link ModelRef}. */
6
6
  export declare function parseModelCatalogId(id: string): ModelRef;
7
- /**
8
- * Render an inline fixture's payload into the task input the candidate reasons over (its
9
- * system prompt carries the role instructions) and the judge grades against. Defensive:
10
- * the payload is a `Record<string, unknown>` matching a `RequirementsContext` /
11
- * `ClarityContext` (a `block` + optional `docs`/`tasks`) or a reviewer `AgentRunContext`
12
- * (a `block` + the work-to-review in `priorOutputs`), so it reads each field tolerantly.
13
- */
14
- export declare function renderFixtureInput(fixture: SandboxFixture): string;
15
7
  /** System prompt for the Sandbox judge — a reference-free rubric grader. */
16
8
  export declare const JUDGE_SYSTEM_PROMPT: string;
17
9
  /** Build the judge user prompt for one cell: rubric + task input + candidate output + expectations. */
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,MAAM,EAGZ,MAAM,sBAAsB,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAOjD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAIxD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAyClE;AAED,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,QAUrB,CAAA;AAEX,uGAAuG;AACvG,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAC1C,MAAM,CAsBR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAavF;AAED,mGAAmG;AACnG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,sBAAsB,CAWzF;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,sBAAsB,GAAG,IAAI,CAI/B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAOzE"}
1
+ {"version":3,"file":"sandbox.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,MAAM,EAGZ,MAAM,sBAAsB,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAQjD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAIxD;AAED,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,QAUrB,CAAA;AAEX,uGAAuG;AACvG,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAC1C,MAAM,CAsBR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,qBAAqB,EAAE,CAavF;AAED,mGAAmG;AACnG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,GAAG,sBAAsB,CAWzF;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAC1B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,sBAAsB,GAAG,IAAI,CAI/B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAOzE"}
@@ -5,9 +5,10 @@ import { renderExpectationBrief, scoreExpectations, } from '@cat-factory/sandbox
5
5
  // so the run-driver imports it alongside the other judge helpers.
6
6
  export { extractJson } from '@cat-factory/kernel';
7
7
  // Pure helpers for the Sandbox run-driver + judge. Kept side-effect-free (no LLM/IO,
8
- // no clock/identity) so the candidate-input rendering, judge-prompt assembly, score
9
- // coercion and objective projection are deterministic and unit-testable; the service
10
- // wraps them with the model-provider calls + persistence.
8
+ // no clock/identity) so the judge-prompt assembly, score coercion and objective projection are
9
+ // deterministic and unit-testable; the service wraps them with the model-provider calls +
10
+ // persistence. The candidate's TASK INPUT is built in `sandbox-input.ts`, which routes each kind
11
+ // through the pure prompt builder its production caller uses.
11
12
  /** Split a model catalog id (`provider:model`) into a {@link ModelRef}. */
12
13
  export function parseModelCatalogId(id) {
13
14
  const idx = id.indexOf(':');
@@ -15,51 +16,6 @@ export function parseModelCatalogId(id) {
15
16
  return { provider: id, model: '' };
16
17
  return { provider: id.slice(0, idx), model: id.slice(idx + 1) };
17
18
  }
18
- /**
19
- * Render an inline fixture's payload into the task input the candidate reasons over (its
20
- * system prompt carries the role instructions) and the judge grades against. Defensive:
21
- * the payload is a `Record<string, unknown>` matching a `RequirementsContext` /
22
- * `ClarityContext` (a `block` + optional `docs`/`tasks`) or a reviewer `AgentRunContext`
23
- * (a `block` + the work-to-review in `priorOutputs`), so it reads each field tolerantly.
24
- */
25
- export function renderFixtureInput(fixture) {
26
- const payload = (fixture.payload ?? {});
27
- const parts = [];
28
- const block = payload.block;
29
- if (block) {
30
- const heading = block.type ? `${block.title ?? 'Untitled'} (${block.type})` : block.title;
31
- parts.push(`# ${heading ?? 'Untitled'}`);
32
- if (block.description)
33
- parts.push(block.description);
34
- }
35
- const docs = Array.isArray(payload.docs) ? payload.docs : [];
36
- if (docs.length > 0) {
37
- parts.push('## Linked documents');
38
- for (const doc of docs) {
39
- const d = doc;
40
- parts.push(`### ${d.title ?? 'Document'}\n${d.body ?? d.content ?? ''}`.trim());
41
- }
42
- }
43
- const tasks = Array.isArray(payload.tasks) ? payload.tasks : [];
44
- if (tasks.length > 0) {
45
- parts.push('## Linked tracker issues');
46
- for (const task of tasks) {
47
- const t = task;
48
- parts.push(`- ${t.title ?? 'Issue'}${t.body ? `: ${t.body}` : ''}`);
49
- }
50
- }
51
- const priorOutputs = Array.isArray(payload.priorOutputs)
52
- ? payload.priorOutputs
53
- : [];
54
- if (priorOutputs.length > 0) {
55
- parts.push('## Work from earlier agents');
56
- for (const prior of priorOutputs) {
57
- const p = prior;
58
- parts.push(`### ${p.agentKind ?? 'agent'}\n${p.output ?? ''}`.trim());
59
- }
60
- }
61
- return parts.join('\n\n').trim();
62
- }
63
19
  /** System prompt for the Sandbox judge — a reference-free rubric grader. */
64
20
  export const JUDGE_SYSTEM_PROMPT = [
65
21
  "You are a meticulous, impartial evaluator. You grade an AI agent's output for a given",
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.logic.js","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.logic.js","sourceRoot":"","sources":["../../../src/modules/sandbox/sandbox.logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { SandboxFixture } from '@cat-factory/contracts';
2
+ import { type SandboxAgentKindMeta } from '@cat-factory/sandbox';
3
+ /**
4
+ * Resolve a Sandbox-testable kind, refusing one the catalog does not know or cannot run.
5
+ *
6
+ * Refused as early as the caller can manage: at CREATE, so a draft nobody can launch is never
7
+ * stored, and again at LAUNCH, because a catalog entry can stop being runnable between the two (a
8
+ * kind whose production surface changed) and a stored draft would otherwise dispatch under a
9
+ * composition that no longer matches it.
10
+ */
11
+ export declare function assertSandboxRunnable(agentKind: string): SandboxAgentKindMeta;
12
+ /**
13
+ * Refuse a fixture whose starting point is a repository seed.
14
+ *
15
+ * The run-driver is inline-only: it has no container, no clone and no branch to push, so a
16
+ * `repo-feature` / `repo-bug` fixture has nothing to run against. The message names the route rather
17
+ * than saying "not yet supported", because the two ways to get there are different work and a reader
18
+ * deciding whether to wait needs to know which one is missing (see
19
+ * `docs/initiatives/sandbox-coverage-expansion.md`).
20
+ */
21
+ export declare function assertSandboxRunnableFixture(fixture: Pick<SandboxFixture, 'kind' | 'name'>): void;
22
+ /**
23
+ * Refuse a fixture the chosen agent kind does not claim.
24
+ *
25
+ * The catalog entry's `fixtureKinds` is what the library filter offers, but the FILTER is the SPA's
26
+ * and the API is not the SPA's only caller. Without this, `POST /sandbox/experiments` accepted a
27
+ * `requirements` fixture under `task-estimator`: the estimator's system prompt went out, the
28
+ * requirements payload rendered through the estimator's builder, and the cell was graded against
29
+ * the `estimation` rubric using the requirements fixture's expectations. Every layer behaved
30
+ * correctly and the resulting score meant nothing.
31
+ *
32
+ * The catalog already guarantees no two kinds claim the same fixture kind (`baselines.test.ts`), so
33
+ * a fixture belongs to at most one agent and this is a total answer rather than a heuristic.
34
+ */
35
+ export declare function assertSandboxFixtureMatchesKind(fixture: Pick<SandboxFixture, 'kind' | 'name'>, meta: SandboxAgentKindMeta): void;
36
+ //# sourceMappingURL=sandboxAdmission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxAdmission.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/sandboxAdmission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA4B,MAAM,wBAAwB,CAAA;AAGtF,OAAO,EAAE,KAAK,oBAAoB,EAAmB,MAAM,sBAAsB,CAAA;AA2BjF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAe7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAQjG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,EAC9C,IAAI,EAAE,oBAAoB,GACzB,IAAI,CAQN"}
@@ -0,0 +1,83 @@
1
+ import { SANDBOX_REPO_FIXTURE_KINDS } from '@cat-factory/contracts';
2
+ import { ValidationError } from '@cat-factory/kernel';
3
+ import { sandboxKindMeta } from '@cat-factory/sandbox';
4
+ // What the Sandbox will and will not run, in ONE place.
5
+ //
6
+ // There were two doors and only one of them was locked: `createExperiment` refused a container KIND
7
+ // while `launch` refused both the kind and a repo FIXTURE, each with its own hand-written message.
8
+ // So a matrix naming a repo fixture persisted as a draft that could never be launched, and the two
9
+ // copies of the container-kind wording were free to drift from the catalog's own explanation of why.
10
+ // Both doors now assert through here, and WHICH refusal applies comes off the catalog entry
11
+ // (`unsupportedReason`), the same value the SPA maps to its translated note.
12
+ /**
13
+ * The API-facing sentence for each refusal code, exhaustive over the vocabulary so a new member
14
+ * fails to compile until it has one.
15
+ *
16
+ * English on purpose: this is the message on a `ValidationError`, read by whoever called the
17
+ * endpoint, and it carries `details.reason` for a client that wants to say it differently. The
18
+ * SPA never renders it (it maps the CODE to a locale key), which is what keeps the catalog free of
19
+ * prose no locale can reach.
20
+ */
21
+ const UNSUPPORTED_MESSAGES = {
22
+ 'container-run-required': 'This agent’s deliverable is a pushed commit, so grading it needs a real container run ' +
23
+ 'against a seed repository. Register a repo fixture pointing at a repository this deployment ' +
24
+ 'owns once container cells land; an inline cell can only grade text.',
25
+ };
26
+ /**
27
+ * Resolve a Sandbox-testable kind, refusing one the catalog does not know or cannot run.
28
+ *
29
+ * Refused as early as the caller can manage: at CREATE, so a draft nobody can launch is never
30
+ * stored, and again at LAUNCH, because a catalog entry can stop being runnable between the two (a
31
+ * kind whose production surface changed) and a stored draft would otherwise dispatch under a
32
+ * composition that no longer matches it.
33
+ */
34
+ export function assertSandboxRunnable(agentKind) {
35
+ const meta = sandboxKindMeta(agentKind);
36
+ if (!meta) {
37
+ throw new ValidationError(`"${agentKind}" is not a Sandbox-testable agent kind`, {
38
+ reason: 'sandbox_kind_unknown',
39
+ });
40
+ }
41
+ if (meta.sandboxRun === 'unsupported') {
42
+ const reason = meta.unsupportedReason;
43
+ throw new ValidationError(reason ? UNSUPPORTED_MESSAGES[reason] : `"${agentKind}" cannot run in the Sandbox`, { reason: 'sandbox_kind_unsupported' });
44
+ }
45
+ return meta;
46
+ }
47
+ /**
48
+ * Refuse a fixture whose starting point is a repository seed.
49
+ *
50
+ * The run-driver is inline-only: it has no container, no clone and no branch to push, so a
51
+ * `repo-feature` / `repo-bug` fixture has nothing to run against. The message names the route rather
52
+ * than saying "not yet supported", because the two ways to get there are different work and a reader
53
+ * deciding whether to wait needs to know which one is missing (see
54
+ * `docs/initiatives/sandbox-coverage-expansion.md`).
55
+ */
56
+ export function assertSandboxRunnableFixture(fixture) {
57
+ if (!SANDBOX_REPO_FIXTURE_KINDS.includes(fixture.kind))
58
+ return;
59
+ throw new ValidationError(`Fixture "${fixture.name}" starts from a repository seed, and Sandbox cells run inline with no ` +
60
+ 'checkout. Use an inline fixture, or wait for container cells (which need a seed repository ' +
61
+ 'this deployment owns).', { reason: 'sandbox_fixture_needs_checkout' });
62
+ }
63
+ /**
64
+ * Refuse a fixture the chosen agent kind does not claim.
65
+ *
66
+ * The catalog entry's `fixtureKinds` is what the library filter offers, but the FILTER is the SPA's
67
+ * and the API is not the SPA's only caller. Without this, `POST /sandbox/experiments` accepted a
68
+ * `requirements` fixture under `task-estimator`: the estimator's system prompt went out, the
69
+ * requirements payload rendered through the estimator's builder, and the cell was graded against
70
+ * the `estimation` rubric using the requirements fixture's expectations. Every layer behaved
71
+ * correctly and the resulting score meant nothing.
72
+ *
73
+ * The catalog already guarantees no two kinds claim the same fixture kind (`baselines.test.ts`), so
74
+ * a fixture belongs to at most one agent and this is a total answer rather than a heuristic.
75
+ */
76
+ export function assertSandboxFixtureMatchesKind(fixture, meta) {
77
+ if (meta.fixtureKinds.includes(fixture.kind))
78
+ return;
79
+ throw new ValidationError(`Fixture "${fixture.name}" is a "${fixture.kind}" fixture, which "${meta.agentKind}" is not ` +
80
+ `exercised against (it takes: ${meta.fixtureKinds.join(', ')}). Grading it here would score ` +
81
+ "one agent's task on another's rubric.", { reason: 'sandbox_fixture_kind_mismatch' });
82
+ }
83
+ //# sourceMappingURL=sandboxAdmission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxAdmission.js","sourceRoot":"","sources":["../../../src/modules/sandbox/sandboxAdmission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAA6B,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEjF,wDAAwD;AACxD,EAAE;AACF,oGAAoG;AACpG,mGAAmG;AACnG,mGAAmG;AACnG,qGAAqG;AACrG,4FAA4F;AAC5F,6EAA6E;AAE7E;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAA6C;IACrE,wBAAwB,EACtB,wFAAwF;QACxF,8FAA8F;QAC9F,qEAAqE;CACxE,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,eAAe,CAAC,IAAI,SAAS,wCAAwC,EAAE;YAC/E,MAAM,EAAE,sBAAsB;SAC/B,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACrC,MAAM,IAAI,eAAe,CACvB,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,6BAA6B,EAClF,EAAE,MAAM,EAAE,0BAA0B,EAAE,CACvC,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAA8C;IACzF,IAAI,CAAE,0BAAgD,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAM;IACrF,MAAM,IAAI,eAAe,CACvB,YAAY,OAAO,CAAC,IAAI,wEAAwE;QAC9F,6FAA6F;QAC7F,wBAAwB,EAC1B,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAC7C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAA8C,EAC9C,IAA0B;IAE1B,IAAK,IAAI,CAAC,YAAkC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAM;IAC3E,MAAM,IAAI,eAAe,CACvB,YAAY,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,WAAW;QAC3F,gCAAgC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;QAC7F,uCAAuC,EACzC,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAC5C,CAAA;AACH,CAAC"}