@dzhechkov/harness-core 0.5.0 → 0.5.1
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/.dz-manifest.json +299 -75
- package/README.md +47 -4
- package/dist/codex-hooks-assets.d.ts.map +1 -1
- package/dist/codex-hooks-assets.js +39 -2
- package/dist/codex-hooks-assets.js.map +1 -1
- package/dist/codex-hooks-verify.d.ts +23 -2
- package/dist/codex-hooks-verify.d.ts.map +1 -1
- package/dist/codex-hooks-verify.js +29 -0
- package/dist/codex-hooks-verify.js.map +1 -1
- package/dist/codex-hooks.d.ts +90 -7
- package/dist/codex-hooks.d.ts.map +1 -1
- package/dist/codex-hooks.js +171 -21
- package/dist/codex-hooks.js.map +1 -1
- package/dist/feature-adr-routing.d.ts +22 -0
- package/dist/feature-adr-routing.d.ts.map +1 -1
- package/dist/feature-adr-routing.js +45 -0
- package/dist/feature-adr-routing.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.d.ts +1 -1
- package/dist/loop-blobs.generated.d.ts.map +1 -1
- package/dist/loop-blobs.generated.js +10 -1
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/loop-plan.d.ts +70 -0
- package/dist/loop-plan.d.ts.map +1 -1
- package/dist/loop-plan.js +103 -0
- package/dist/loop-plan.js.map +1 -1
- package/dist/loop-render.d.ts.map +1 -1
- package/dist/loop-render.js +37 -129
- package/dist/loop-render.js.map +1 -1
- package/dist/loop-run-semantics.d.ts +130 -0
- package/dist/loop-run-semantics.d.ts.map +1 -0
- package/dist/loop-run-semantics.js +257 -0
- package/dist/loop-run-semantics.js.map +1 -0
- package/dist/loop-trace.d.ts +31 -2
- package/dist/loop-trace.d.ts.map +1 -1
- package/dist/loop-trace.js +89 -12
- package/dist/loop-trace.js.map +1 -1
- package/dist/managed-hooks.d.ts +10 -0
- package/dist/managed-hooks.d.ts.map +1 -1
- package/dist/managed-hooks.js +17 -5
- package/dist/managed-hooks.js.map +1 -1
- package/dist/named-lock.d.ts +57 -0
- package/dist/named-lock.d.ts.map +1 -0
- package/dist/named-lock.js +247 -0
- package/dist/named-lock.js.map +1 -0
- package/dist/operations.d.ts +81 -5
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +356 -38
- package/dist/operations.js.map +1 -1
- package/dist/parity.d.ts +70 -2
- package/dist/parity.d.ts.map +1 -1
- package/dist/parity.js +133 -2
- package/dist/parity.js.map +1 -1
- package/dist/qe-bridge.d.ts +291 -0
- package/dist/qe-bridge.d.ts.map +1 -0
- package/dist/qe-bridge.js +538 -0
- package/dist/qe-bridge.js.map +1 -0
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +43 -9
- package/dist/score.js.map +1 -1
- package/dist/workflow-run-dispatch.d.ts +230 -0
- package/dist/workflow-run-dispatch.d.ts.map +1 -0
- package/dist/workflow-run-dispatch.js +363 -0
- package/dist/workflow-run-dispatch.js.map +1 -0
- package/dist/workflow-run.d.ts +498 -0
- package/dist/workflow-run.d.ts.map +1 -0
- package/dist/workflow-run.js +1359 -0
- package/dist/workflow-run.js.map +1 -0
- package/package.json +1 -1
- package/sbom.json +634 -74
- package/src/codex-hooks-assets.ts +39 -2
- package/src/codex-hooks-verify.ts +55 -2
- package/src/codex-hooks.ts +172 -20
- package/src/feature-adr-routing.ts +55 -0
- package/src/index.ts +45 -1
- package/src/loop-blobs.generated.ts +10 -1
- package/src/loop-plan.ts +185 -0
- package/src/loop-render.ts +37 -127
- package/src/loop-run-semantics.ts +278 -0
- package/src/loop-trace.ts +84 -10
- package/src/managed-hooks.ts +26 -5
- package/src/named-lock.ts +277 -0
- package/src/operations.ts +441 -40
- package/src/parity.ts +177 -2
- package/src/qe-bridge.ts +737 -0
- package/src/score.ts +50 -9
- package/src/workflow-run-dispatch.ts +459 -0
- package/src/workflow-run.ts +1743 -0
package/dist/loop-plan.js
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { createHash } from 'node:crypto';
|
|
28
28
|
import { TRACE_KEY_RE } from './loop-trace.js';
|
|
29
|
+
// The ONE ceiling formula (ADR-004 Confirmation-2) — imported so the run projection's
|
|
30
|
+
// `budgetTotal` and the rendered script's `__budget` constant cannot drift into two ceilings.
|
|
31
|
+
// loop-run-semantics has no runtime import of its own, so this edge introduces no cycle.
|
|
32
|
+
import { computeBudgetTotal } from './loop-run-semantics.js';
|
|
29
33
|
export const LOOP_PLAN_SCHEMA = 'loop-plan/1';
|
|
30
34
|
/** Blob/schema version stamp read by scripts/gen-loop-blobs.mjs (this module is NOT a blob source
|
|
31
35
|
* today; the stamp keeps the convention uniform for every loop-designer module). */
|
|
@@ -1151,4 +1155,103 @@ export function toTraceProjection(plan) {
|
|
|
1151
1155
|
expectedSteps: norm.steps.filter((s) => s.kind === 'agent' || s.kind === 'gate').map((s) => s.stepId),
|
|
1152
1156
|
};
|
|
1153
1157
|
}
|
|
1158
|
+
/** The ONLY plan view `workflow-run.ts` consumes (AM-3, fourth consumer). */
|
|
1159
|
+
export function toRunProjection(plan) {
|
|
1160
|
+
const norm = normalizePlan(plan);
|
|
1161
|
+
const byId = new Map(norm.steps.map((s) => [s.stepId, s]));
|
|
1162
|
+
const gatesById = new Map((norm.gates ?? []).map((g) => [g.stepId, g]));
|
|
1163
|
+
const pausesByState = new Map((norm.pauses ?? []).map((p) => [p.state, p]));
|
|
1164
|
+
const fanouts = norm.fanouts ?? [];
|
|
1165
|
+
const joinsByForStage = new Map((norm.joins ?? []).map((j) => [j.forStage, j]));
|
|
1166
|
+
/** member stepId → its owning fanout stage; join stepId → its owning fanout stage. */
|
|
1167
|
+
const ownedByRegion = new Map();
|
|
1168
|
+
for (const f of fanouts) {
|
|
1169
|
+
for (const c of f.chain ?? [])
|
|
1170
|
+
ownedByRegion.set(c, f.stage);
|
|
1171
|
+
const j = joinsByForStage.get(f.stage);
|
|
1172
|
+
if (j !== undefined)
|
|
1173
|
+
ownedByRegion.set(j.stage, f.stage);
|
|
1174
|
+
}
|
|
1175
|
+
const specOf = (s) => {
|
|
1176
|
+
const g = s.kind === 'gate' ? gatesById.get(s.stepId) : undefined;
|
|
1177
|
+
return {
|
|
1178
|
+
stepId: s.stepId,
|
|
1179
|
+
kind: s.kind === 'gate' ? 'gate' : 'agent',
|
|
1180
|
+
phase: s.phase,
|
|
1181
|
+
prompt: typeof s.prompt === 'string' ? s.prompt : null,
|
|
1182
|
+
model: typeof s.model === 'string' && s.model !== '' ? s.model : null,
|
|
1183
|
+
deliverable: s.deliverable ?? 'return-value',
|
|
1184
|
+
reads: [...(s.artifacts?.reads ?? [])],
|
|
1185
|
+
writes: [...(s.artifacts?.writes ?? [])],
|
|
1186
|
+
tools: [...(s.tools ?? [])],
|
|
1187
|
+
retryMaxAttempts: typeof s.retry?.maxAttempts === 'number' && s.retry.maxAttempts >= 1 ? Math.floor(s.retry.maxAttempts) : 1,
|
|
1188
|
+
retryOn: [...(s.retry?.retryableFailureClasses ?? [])],
|
|
1189
|
+
maxAgents: typeof s.budget?.maxAgents === 'number' ? s.budget.maxAgents : 1,
|
|
1190
|
+
qeRole: s['x-role'] === 'qe',
|
|
1191
|
+
gate: g === undefined
|
|
1192
|
+
? null
|
|
1193
|
+
: {
|
|
1194
|
+
kind: typeof g.kind === 'string' ? g.kind : 'gate',
|
|
1195
|
+
failRoute: typeof g.failRoute === 'string' ? g.failRoute : null,
|
|
1196
|
+
maxRedos: typeof g.maxRedos === 'number' && Number.isFinite(g.maxRedos) && g.maxRedos > 0 ? Math.floor(g.maxRedos) : 0,
|
|
1197
|
+
},
|
|
1198
|
+
};
|
|
1199
|
+
};
|
|
1200
|
+
/** A declared dep resolved to the BOUNDARY that must have settled before this one dispatches. */
|
|
1201
|
+
const depBoundary = (dep) => ownedByRegion.get(dep) ?? dep;
|
|
1202
|
+
const boundaries = [];
|
|
1203
|
+
for (const s of norm.steps) {
|
|
1204
|
+
if (ownedByRegion.has(s.stepId))
|
|
1205
|
+
continue; // members and joins are rendered inside their region
|
|
1206
|
+
const deps = [...new Set((s.deps ?? []).map(depBoundary).filter((d) => d !== s.stepId))];
|
|
1207
|
+
if (s.kind === 'fanout') {
|
|
1208
|
+
const f = fanouts.find((x) => x.stage === s.stepId);
|
|
1209
|
+
const j = f === undefined ? undefined : joinsByForStage.get(f.stage);
|
|
1210
|
+
boundaries.push({
|
|
1211
|
+
boundaryId: s.stepId,
|
|
1212
|
+
kind: 'region',
|
|
1213
|
+
deps,
|
|
1214
|
+
region: {
|
|
1215
|
+
fanout: s.stepId,
|
|
1216
|
+
join: j?.stage ?? '',
|
|
1217
|
+
joinPolicy: j?.joinPolicy ?? '',
|
|
1218
|
+
onInvalid: j?.onInvalid ?? 'named-failure',
|
|
1219
|
+
maxFanout: typeof f?.maxFanout === 'number' ? f.maxFanout : 0,
|
|
1220
|
+
registry: [...(f?.registry ?? [])],
|
|
1221
|
+
dedup: f?.dedup === true,
|
|
1222
|
+
shape: s.concurrency ?? 'barrier',
|
|
1223
|
+
chain: (f?.chain ?? []).map((c) => byId.get(c)).filter((c) => c !== undefined).map(specOf),
|
|
1224
|
+
},
|
|
1225
|
+
});
|
|
1226
|
+
continue;
|
|
1227
|
+
}
|
|
1228
|
+
if (s.kind === 'pause') {
|
|
1229
|
+
const state = typeof s.pauseState === 'string' ? s.pauseState : '';
|
|
1230
|
+
const declared = pausesByState.get(state);
|
|
1231
|
+
boundaries.push({
|
|
1232
|
+
boundaryId: s.stepId,
|
|
1233
|
+
kind: 'pause',
|
|
1234
|
+
deps,
|
|
1235
|
+
pause: {
|
|
1236
|
+
state,
|
|
1237
|
+
resumeArg: declared?.resumeArg ?? '',
|
|
1238
|
+
payloadSchema: declared?.payloadSchema ?? null,
|
|
1239
|
+
},
|
|
1240
|
+
});
|
|
1241
|
+
continue;
|
|
1242
|
+
}
|
|
1243
|
+
if (s.kind === 'gate') {
|
|
1244
|
+
boundaries.push({ boundaryId: s.stepId, kind: 'gate', deps, stage: specOf(s) });
|
|
1245
|
+
continue;
|
|
1246
|
+
}
|
|
1247
|
+
boundaries.push({ boundaryId: s.stepId, kind: 'stage', deps, stage: specOf(s) });
|
|
1248
|
+
}
|
|
1249
|
+
return {
|
|
1250
|
+
kind: 'run-projection/1',
|
|
1251
|
+
boundaries,
|
|
1252
|
+
budgetTotal: computeBudgetTotal(norm),
|
|
1253
|
+
resumeArgKeys: (norm.pauses ?? []).map((p) => p.resumeArg).filter((k) => typeof k === 'string' && k !== ''),
|
|
1254
|
+
traceEmit: norm.trace?.emit === true,
|
|
1255
|
+
};
|
|
1256
|
+
}
|
|
1154
1257
|
//# sourceMappingURL=loop-plan.js.map
|
package/dist/loop-plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-plan.js","sourceRoot":"","sources":["../src/loop-plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop-plan.js","sourceRoot":"","sources":["../src/loop-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-render.d.ts","sourceRoot":"","sources":["../src/loop-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"loop-render.d.ts","sourceRoot":"","sources":["../src/loop-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGjE,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;;qDAGqD;AACrD,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,sFAAsF;IACtF,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAkCtD;AAmrBD,MAAM,WAAW,cAAc;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAEpG;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAsDpE;AAED;+EAC+E;AAC/E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAO/E;AAED;wFACwF;AACxF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CASpE;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAqGvD;AAID,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAIpE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CA6BzG"}
|
package/dist/loop-render.js
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
import { createHash } from 'node:crypto';
|
|
28
28
|
import { normalizePlan, planDigest, stepIdent, } from './loop-plan.js';
|
|
29
29
|
import { BLOBS } from './loop-blobs.generated.js';
|
|
30
|
+
import { computeBudgetTotal, stepContractLines } from './loop-run-semantics.js';
|
|
30
31
|
export const LOOP_RENDER_GENERATOR = 'loop-render/1';
|
|
31
32
|
/** The checkpoint schema stamp — PINNED in v1 (QE round-6 narrowing: `checkpointing.schemaVersion`
|
|
32
33
|
* is validated-away by ENACT-CKPT-OPT; the omitted-vs-explicit-default distinction false-flipped
|
|
@@ -39,6 +40,12 @@ function sha256(s) {
|
|
|
39
40
|
/** Which blobs a plan pulls in (opt-in subsystems + auto rules + requires closure). */
|
|
40
41
|
export function selectBlobs(plan) {
|
|
41
42
|
const names = new Set();
|
|
43
|
+
// The ENACTMENT-DECISION blob is UNCONDITIONAL (ADR-001 W4): the base runtime aliases
|
|
44
|
+
// errText/errSnap/classifyFailure in every script, so there is no plan that does not need it.
|
|
45
|
+
// gateVerdict/joinRegion are inert function declarations in a plan with no gate/fanout — the
|
|
46
|
+
// alternative (a conditional roster) would make the exec fingerprint's `tools` axis depend on
|
|
47
|
+
// plan shape twice, and would let a semantics-carrying script exist without the semantics.
|
|
48
|
+
names.add('loop-semantics');
|
|
42
49
|
const sub = plan.subsystems ?? {};
|
|
43
50
|
if (plan.checkpointing?.enabled === true || sub.checkpoints === true)
|
|
44
51
|
names.add('checkpoints');
|
|
@@ -124,27 +131,22 @@ function stepUserLines(s) {
|
|
|
124
131
|
function stepPromptAssembly(s, plan) {
|
|
125
132
|
const id = s.stepId;
|
|
126
133
|
const lines = [];
|
|
127
|
-
const reads = s.artifacts?.reads ?? [];
|
|
128
|
-
const writes = s.artifacts?.writes ?? [];
|
|
129
134
|
const gateCfg = s.kind === 'gate' ? (plan.gates ?? []).find((g) => g.stepId === id) : undefined;
|
|
130
135
|
lines.push(`const P_${ident(id)} = [`);
|
|
131
136
|
lines.push(` USER_PROMPT_${ident(id)},`);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
lines.push(` ${jsString(
|
|
145
|
-
}
|
|
146
|
-
if (s.kind === 'gate') {
|
|
147
|
-
lines.push(` ${jsString('GATE PROTOCOL (kind: ' + (gateCfg?.kind ?? 'gate') + '): end your reply with exactly one line "GATE: PASS" or "GATE: FAIL" — the loop PARSES this verdict and never synthesizes one.')},`);
|
|
137
|
+
// The contract lines themselves come from ONE function shared with the dz runner
|
|
138
|
+
// (loop-run-semantics.stepContractLines, ADR-001 Confirmation-5) — the render's only remaining
|
|
139
|
+
// job is JS-quoting them. ENACTS artifacts.reads/writes/deliverable, LoopStep.tools and the gate
|
|
140
|
+
// protocol: the plan's declarations are COMMUNICATED to the agent in FIXED wording, so their
|
|
141
|
+
// presence is greppable by a layer-1 test and IDENTICAL under both enactors.
|
|
142
|
+
for (const line of stepContractLines({
|
|
143
|
+
reads: s.artifacts?.reads ?? [],
|
|
144
|
+
writes: s.artifacts?.writes ?? [],
|
|
145
|
+
deliverable: s.deliverable ?? 'return-value',
|
|
146
|
+
tools: s.tools ?? [],
|
|
147
|
+
gate: s.kind === 'gate' ? { kind: gateCfg?.kind ?? 'gate' } : null,
|
|
148
|
+
})) {
|
|
149
|
+
lines.push(` ${jsString(line)},`);
|
|
148
150
|
}
|
|
149
151
|
lines.push(`].join('\\n')`);
|
|
150
152
|
return lines;
|
|
@@ -423,16 +425,10 @@ function renderRuntime(plan, planDig, execFp, blobs) {
|
|
|
423
425
|
const traceOn = plan.trace?.emit === true;
|
|
424
426
|
const ckptOn = plan.checkpointing?.enabled === true || plan.subsystems?.checkpoints === true;
|
|
425
427
|
// budget: declared per-step budgets PLUS the declared gate-redo allowance (QE round-3 B1 — a
|
|
426
|
-
// plan-declared redo must be affordable; an undeclared one still hits the guard loudly).
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
const
|
|
430
|
-
const redos = typeof g.maxRedos === 'number' && Number.isFinite(g.maxRedos) && g.maxRedos > 0 ? Math.floor(g.maxRedos) : 0;
|
|
431
|
-
if (redos === 0 || typeof g.failRoute !== 'string' || g.failRoute.startsWith('terminal:'))
|
|
432
|
-
return n;
|
|
433
|
-
return n + redos * ((byIdB.get(g.failRoute)?.budget?.maxAgents ?? 1) + (byIdB.get(g.stepId)?.budget?.maxAgents ?? 1));
|
|
434
|
-
}, 0);
|
|
435
|
-
const budgetTotal = stepBudget + gateRedoBudget;
|
|
428
|
+
// plan-declared redo must be affordable; an undeclared one still hits the guard loudly). The
|
|
429
|
+
// FORMULA lives in loop-run-semantics (ADR-004 Confirmation-2) so the dz runner reserves against
|
|
430
|
+
// the same ceiling this script spends against — one formula, two enactors.
|
|
431
|
+
const budgetTotal = computeBudgetTotal(plan);
|
|
436
432
|
const lines = [];
|
|
437
433
|
lines.push(G('runtime'));
|
|
438
434
|
lines.push(`const A = typeof args === 'string' ? JSON.parse(args) : (args || {})`);
|
|
@@ -466,82 +462,15 @@ function renderRuntime(plan, planDig, execFp, blobs) {
|
|
|
466
462
|
lines.push(`function __settleSeqOf(stepId, itemKey, occ) { const v = __settled[__settleKey(stepId, itemKey, occ)]; return typeof v === 'number' ? v : -1 }`);
|
|
467
463
|
lines.push(`let __invocationN = 0`);
|
|
468
464
|
lines.push(`let __seqFallback = 0 // used only when the trace blob is opted out (hooks are no-ops)`);
|
|
469
|
-
lines.push(`//
|
|
470
|
-
lines.push(`//
|
|
471
|
-
lines.push(`//
|
|
472
|
-
lines.push(`//
|
|
473
|
-
lines.push(`//
|
|
474
|
-
lines.push(
|
|
475
|
-
lines.push(`
|
|
476
|
-
lines.push(`
|
|
477
|
-
lines.push(`
|
|
478
|
-
lines.push(` return String(err)`);
|
|
479
|
-
lines.push(` } catch (_e) {`);
|
|
480
|
-
lines.push(` try { return Object.prototype.toString.call(err) } catch (_e2) { return '[unrenderable error]' }`);
|
|
481
|
-
lines.push(` }`);
|
|
482
|
-
lines.push(`}`);
|
|
483
|
-
lines.push(`// failure classification (G4, hardened in QE round-3 B3, round-4: cause-chain + word bounds) —`);
|
|
484
|
-
lines.push(`// the CLOSED enum from loop-plan/1 (timeout | transport | malformed-output | policy-refusal).`);
|
|
485
|
-
lines.push(`// The err.cause CHAIN is traversed (bounded depth 5, cycle-safe, getter-safe): the standard`);
|
|
486
|
-
lines.push(`// Node fetch shape TypeError('fetch failed', {cause:{code:'ECONNRESET'}}) is TRANSPORT.`);
|
|
487
|
-
lines.push(`// THREE TIERS over the whole chain, strongest first:`);
|
|
488
|
-
lines.push(`// 1. error CODE (works on non-Error shapes like {code:'ECONNRESET'}; never message-dependent;`);
|
|
489
|
-
lines.push(`// ETIMEDOUT is a TRANSPORT code — round-2's message regex captured it as 'timeout' first);`);
|
|
490
|
-
lines.push(`// 2. error NAME (SyntaxError = parsing model output failed → malformed-output);`);
|
|
491
|
-
lines.push(`// 3. message patterns, DISJOINT by precedence transport > policy-refusal > malformed-output >`);
|
|
492
|
-
lines.push(`// timeout — every alternative WORD-BOUNDED (round-4 B3: 'rate.?limit' unbounded matched`);
|
|
493
|
-
lines.push(`// 'delibeRATE LIMITation'/'corpoRATE LIMITation' — a substring can never smuggle a class).`);
|
|
494
|
-
lines.push(`// An UNCLASSIFIABLE failure returns null and is NEVER retried (closed enum, fail-closed).`);
|
|
495
|
-
lines.push(`function __causeChain(err) {`);
|
|
496
|
-
lines.push(` const chain = []`);
|
|
497
|
-
lines.push(` let cur = err`);
|
|
498
|
-
lines.push(` for (let d = 0; d < 5; d++) {`);
|
|
499
|
-
lines.push(` if (cur === null || cur === undefined) break`);
|
|
500
|
-
lines.push(` if (chain.indexOf(cur) !== -1) break // cycle-safe`);
|
|
501
|
-
lines.push(` chain.push(cur)`);
|
|
502
|
-
lines.push(` try { cur = typeof cur === 'object' ? cur.cause : undefined } catch (_e) { cur = undefined } // getter-safe`);
|
|
503
|
-
lines.push(` }`);
|
|
504
|
-
lines.push(` return chain.length > 0 ? chain : [err]`);
|
|
505
|
-
lines.push(`}`);
|
|
506
|
-
lines.push(`// __errSnap — ONE snapshot PER FAILURE (round-6 B3; Codex round-5: .message was snapshot once`);
|
|
507
|
-
lines.push(`// per __errText INVOCATION, not once per failure — logging read it, classification read it`);
|
|
508
|
-
lines.push(`// AGAIN, so a one-shot .message getter answered the log and defeated classification: 2 getter`);
|
|
509
|
-
lines.push(`// reads, 1 attempt MEASURED). The catch site builds this snapshot ONCE; the log line and the`);
|
|
510
|
-
lines.push(`// classifier both consume the SNAPSHOT — .code/.name/.message are each read exactly once per`);
|
|
511
|
-
lines.push(`// failure, getter-safe, over the whole cause chain.`);
|
|
512
|
-
lines.push(`function __errSnap(err) {`);
|
|
513
|
-
lines.push(` const chain = __causeChain(err)`);
|
|
514
|
-
lines.push(` const snap = []`);
|
|
515
|
-
lines.push(` for (let ci = 0; ci < chain.length; ci++) {`);
|
|
516
|
-
lines.push(` let code = null`);
|
|
517
|
-
lines.push(` try { const c = chain[ci] !== null && typeof chain[ci] === 'object' ? chain[ci].code : null; code = typeof c === 'string' ? c.toUpperCase() : null } catch (_e) { code = null }`);
|
|
518
|
-
lines.push(` let name = null`);
|
|
519
|
-
lines.push(` try { const n = chain[ci] !== null && typeof chain[ci] === 'object' ? chain[ci].name : null; name = typeof n === 'string' ? n : null } catch (_e) { name = null }`);
|
|
520
|
-
lines.push(` snap.push({ code: code, name: name, text: __errText(chain[ci]) })`);
|
|
521
|
-
lines.push(` }`);
|
|
522
|
-
lines.push(` return snap`);
|
|
523
|
-
lines.push(`}`);
|
|
524
|
-
lines.push(`function __classifyFailure(outcome, snap) {`);
|
|
525
|
-
lines.push(` if (outcome === 'null') return 'transport' // a dead/empty agent is a delivery failure — the "agent died" case is retryable ONLY under retryOn: ['transport']`);
|
|
526
|
-
lines.push(` const links = Array.isArray(snap) ? snap : []`);
|
|
527
|
-
lines.push(` for (let ci = 0; ci < links.length; ci++) {`);
|
|
528
|
-
lines.push(` const code = links[ci].code`);
|
|
529
|
-
lines.push(` if (code === 'ETIMEDOUT' || code === 'ECONNRESET' || code === 'ECONNREFUSED' || code === 'ENOTFOUND' || code === 'EPIPE' || code === 'ECONNABORTED' || code === 'EAI_AGAIN') return 'transport'`);
|
|
530
|
-
lines.push(` }`);
|
|
531
|
-
lines.push(` for (let ci = 0; ci < links.length; ci++) {`);
|
|
532
|
-
lines.push(` if (links[ci].name === 'SyntaxError') return 'malformed-output'`);
|
|
533
|
-
lines.push(` }`);
|
|
534
|
-
lines.push(` let msg = ''`);
|
|
535
|
-
lines.push(` for (let ci = 0; ci < links.length; ci++) { msg += (ci > 0 ? '\\n' : '') + links[ci].text }`);
|
|
536
|
-
lines.push(` msg = msg.toLowerCase()`);
|
|
537
|
-
lines.push(` // rate[ -]?limit(ed|ing|s)? is RIGHT-BOUNDED (round-5 B3: the open 'rate.?limit' matched`);
|
|
538
|
-
lines.push(` // 'rate limitation: invalid JSON' as transport — a malformed-output failure smuggled a class)`);
|
|
539
|
-
lines.push(` if (/\\btransport\\b|\\beconnreset\\b|\\beconnrefused\\b|\\benotfound\\b|\\bepipe\\b|\\betimedout\\b|\\bsocket hang up\\b|\\bnetwork error\\b|\\brate[ -]?limit(ed|ing|s)?\\b|\\boverloaded\\b|\\bhttp 5[0-9][0-9]\\b/.test(msg)) return 'transport'`);
|
|
540
|
-
lines.push(` if (/\\bpolicy\\b|\\brefus(e|ed|es|al|ing)\\b|\\bdeclin(e|ed|es|ing)\\b|\\bcontent filter\\b|\\bsafety block\\b/.test(msg)) return 'policy-refusal'`);
|
|
541
|
-
lines.push(` if (/\\bmalformed\\b|\\bunparseable\\b|\\bparse error\\b|\\binvalid json\\b|\\bunexpected token\\b|\\bunexpected end of json\\b|\\bschema mismatch\\b/.test(msg)) return 'malformed-output'`);
|
|
542
|
-
lines.push(` if (/\\btimeout\\b|\\btimed out\\b/.test(msg)) return 'timeout'`);
|
|
543
|
-
lines.push(` return null`);
|
|
544
|
-
lines.push(`}`);
|
|
465
|
+
lines.push(`// The enactment DECISIONS below are ALIASES onto the always-on \`loop-semantics\` blob`);
|
|
466
|
+
lines.push(`// (ADR-001 W4): errText/causeChain/errSnap/classifyFailure/gateVerdict/joinRegion have ONE`);
|
|
467
|
+
lines.push(`// implementation, sliced into this script from harness-core/src/loop-run-semantics.ts and`);
|
|
468
|
+
lines.push(`// IMPORTED (not copied) by the dz runner. The __-prefixed names are kept so every call site`);
|
|
469
|
+
lines.push(`// in this runtime reads exactly as it did when the bodies lived here.`);
|
|
470
|
+
lines.push(`const __errText = errText`);
|
|
471
|
+
lines.push(`const __causeChain = causeChain`);
|
|
472
|
+
lines.push(`const __errSnap = errSnap`);
|
|
473
|
+
lines.push(`const __classifyFailure = classifyFailure`);
|
|
545
474
|
lines.push(`// __settleStep — THE single terminal exit of every step path (QE round-5 B3 class-kill;`);
|
|
546
475
|
lines.push(`// round-6: SUCCESS-PATH PARITY — Codex round-5 showed __settleStep({outcome:'ok'}) returned`);
|
|
547
476
|
lines.push(`// BEFORE flushing, leaving success durability on a naked phase-boundary await whose rejection`);
|
|
@@ -632,17 +561,8 @@ function renderRuntime(plan, planDig, execFp, blobs) {
|
|
|
632
561
|
lines.push(` if (lastErr !== null) throw lastErr`);
|
|
633
562
|
lines.push(` return null`);
|
|
634
563
|
lines.push(`}`);
|
|
635
|
-
lines.push(`// join helper — explicit policy from the closed set; a dispatched branch is never skippable
|
|
636
|
-
lines.push(
|
|
637
|
-
lines.push(` const policy = o && o.policy ? o.policy : 'all-activated'`);
|
|
638
|
-
lines.push(` const failures = []`);
|
|
639
|
-
lines.push(` for (let i = 0; i < results.length; i++) { if (results[i] === null || results[i] === undefined) failures.push(i) }`);
|
|
640
|
-
lines.push(` if (policy === 'any') { if (failures.length === results.length) { throw new Error('join ' + o.region + ': every branch failed (policy any)') } return { ok: true, values: results, failures: failures } }`);
|
|
641
|
-
lines.push(` const quorum = /^quorum:([1-9][0-9]*)$/.exec(policy)`);
|
|
642
|
-
lines.push(` if (quorum) { const okN = results.length - failures.length; if (okN < Number(quorum[1])) { throw new Error('join ' + o.region + ': quorum ' + quorum[1] + ' not met (' + okN + ' ok)') } return { ok: true, values: results, failures: failures } }`);
|
|
643
|
-
lines.push(` if (failures.length > 0) { throw new Error('join ' + o.region + ': ' + failures.length + ' dispatched branch(es) failed under policy ' + policy + ' — a dispatched branch is never skippable') }`);
|
|
644
|
-
lines.push(` return { ok: true, values: results, failures: [] }`);
|
|
645
|
-
lines.push(`}`);
|
|
564
|
+
lines.push(`// join helper — explicit policy from the closed set; a dispatched branch is never skippable.`);
|
|
565
|
+
lines.push(`// The DECISION lives in the loop-semantics blob above (\`joinRegion\`), called directly here.`);
|
|
646
566
|
if (plan.steps.some((s) => s.kind === 'fanout')) {
|
|
647
567
|
// ── QUIESCENCE (QE round-7 B3, the round-6 reviewer's FOURTH CLASS: structured-concurrency /
|
|
648
568
|
// quiescence ownership). MEASURED by Codex on the previous shape: the region awaited a
|
|
@@ -820,20 +740,8 @@ function renderRuntime(plan, planDig, execFp, blobs) {
|
|
|
820
740
|
lines.push(`// must be the ONLY anchored verdict line. Embedded mid-reply "GATE: PASS" text never counts,`);
|
|
821
741
|
lines.push(`// "GATE: PASS" followed by trailing prose is invalid, and "GATE: FAIL … GATE: PASS" is an`);
|
|
822
742
|
lines.push(`// INVALID verdict (never a success) — routed like a failure (redo/fail route), never a pass.`);
|
|
823
|
-
lines.push(
|
|
824
|
-
lines.push(`
|
|
825
|
-
lines.push(` const vLines = r.split('\\n')`);
|
|
826
|
-
lines.push(` const vRe = /^\\s*GATE:\\s*(PASS|FAIL)\\s*$/`);
|
|
827
|
-
lines.push(` let vCount = 0`);
|
|
828
|
-
lines.push(` let vLast = ''`);
|
|
829
|
-
lines.push(` for (let i = 0; i < vLines.length; i++) {`);
|
|
830
|
-
lines.push(` if (vRe.test(vLines[i])) { vCount++ }`);
|
|
831
|
-
lines.push(` if (vLines[i].trim() !== '') { vLast = vLines[i] }`);
|
|
832
|
-
lines.push(` }`);
|
|
833
|
-
lines.push(` const vEnd = vRe.exec(vLast)`);
|
|
834
|
-
lines.push(` if (vCount !== 1 || vEnd === null) return 'invalid'`);
|
|
835
|
-
lines.push(` return vEnd[1] === 'PASS' ? 'pass' : 'fail'`);
|
|
836
|
-
lines.push(`}`);
|
|
743
|
+
lines.push(`// The grammar itself lives in the loop-semantics blob, shared with the dz runner.`);
|
|
744
|
+
lines.push(`const __gateVerdict = gateVerdict`);
|
|
837
745
|
}
|
|
838
746
|
lines.push(GE('runtime'));
|
|
839
747
|
return lines.join('\n');
|