oh-my-codex 0.18.9 → 0.18.11
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/Cargo.lock +6 -6
- package/Cargo.toml +1 -1
- package/README.md +6 -6
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts +2 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.d.ts.map +1 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js +215 -0
- package/dist/autopilot/__tests__/deep-interview-gate.test.js.map +1 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js +148 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/deep-interview-gate.d.ts.map +1 -1
- package/dist/autopilot/deep-interview-gate.js +140 -0
- package/dist/autopilot/deep-interview-gate.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +6 -0
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/cli/__tests__/auth.test.js +36 -3
- package/dist/cli/__tests__/auth.test.js.map +1 -1
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts +2 -0
- package/dist/cli/__tests__/codex-feature-probe.test.d.ts.map +1 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js +46 -0
- package/dist/cli/__tests__/codex-feature-probe.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.js +79 -0
- package/dist/cli/__tests__/doctor-spark-routing.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +2 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +47 -1175
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +276 -6
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +19 -5
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/nested-help-routing.test.js +1 -1
- package/dist/cli/__tests__/nested-help-routing.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +19 -6
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +6 -2
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-packaging.test.js +45 -2
- package/dist/cli/__tests__/sparkshell-packaging.test.js.map +1 -1
- package/dist/cli/__tests__/team-decompose.test.js +10 -5
- package/dist/cli/__tests__/team-decompose.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +45 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +75 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +25 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/codex-feature-probe.d.ts +5 -2
- package/dist/cli/codex-feature-probe.d.ts.map +1 -1
- package/dist/cli/codex-feature-probe.js +25 -9
- package/dist/cli/codex-feature-probe.js.map +1 -1
- package/dist/cli/doctor.d.ts +17 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +121 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts +2 -21
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +25 -624
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +34 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +166 -89
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +9 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +4 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +43 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +29 -0
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +8 -10
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js +15 -0
- package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/deep-interview-contract.test.js +16 -0
- package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/explore-routing.test.js +5 -8
- package/dist/hooks/__tests__/explore-routing.test.js.map +1 -1
- package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js +6 -6
- package/dist/hooks/__tests__/explore-sparkshell-guidance-contract.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +14 -5
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +2 -1
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/explore-routing.d.ts +1 -1
- package/dist/hooks/explore-routing.d.ts.map +1 -1
- package/dist/hooks/explore-routing.js +3 -8
- package/dist/hooks/explore-routing.js.map +1 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js +112 -1
- package/dist/hooks/extensibility/__tests__/plugin-runner.test.js.map +1 -1
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts +2 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.d.ts.map +1 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js +16 -0
- package/dist/hooks/extensibility/plugin-runner-stdin.js.map +1 -0
- package/dist/hooks/extensibility/plugin-runner.js +2 -4
- package/dist/hooks/extensibility/plugin-runner.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +23 -2
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +367 -1
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.js +118 -7
- package/dist/hud/__tests__/tmux.test.js.map +1 -1
- package/dist/hud/constants.d.ts +10 -0
- package/dist/hud/constants.d.ts.map +1 -1
- package/dist/hud/constants.js +19 -0
- package/dist/hud/constants.js.map +1 -1
- package/dist/hud/index.d.ts +6 -1
- package/dist/hud/index.d.ts.map +1 -1
- package/dist/hud/index.js +12 -3
- package/dist/hud/index.js.map +1 -1
- package/dist/hud/reconcile.d.ts +10 -2
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +78 -30
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/tmux.d.ts +14 -1
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +129 -15
- package/dist/hud/tmux.js.map +1 -1
- package/dist/mcp/wiki-server.d.ts +3 -3
- package/dist/ralplan/consensus-gate.js +9 -1
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +170 -17
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +115 -1
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +74 -11
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.js +54 -21
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
- package/dist/scripts/run-test-files.js +218 -160
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +463 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.js +18 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +48 -0
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +107 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.d.ts.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.js +14 -2
- package/dist/team/__tests__/tmux-test-fixture.js.map +1 -1
- package/dist/team/__tests__/tmux-test-fixture.test.js +1 -0
- package/dist/team/__tests__/tmux-test-fixture.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +54 -1
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/delivery-log.d.ts +1 -1
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +4 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +78 -9
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/tmux-session.d.ts +1 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +16 -5
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/ultragoal-context.d.ts +12 -0
- package/dist/team/ultragoal-context.d.ts.map +1 -1
- package/dist/team/ultragoal-context.js +32 -8
- package/dist/team/ultragoal-context.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +23 -0
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +4 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/toml.d.ts +4 -0
- package/dist/utils/toml.d.ts.map +1 -0
- package/dist/utils/toml.js +75 -0
- package/dist/utils/toml.js.map +1 -0
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/autopilot/SKILL.md +3 -0
- package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +34 -0
- package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +32 -17
- package/skills/autopilot/SKILL.md +3 -0
- package/skills/deep-interview/SKILL.md +34 -0
- package/skills/ultrawork/SKILL.md +32 -17
- package/src/scripts/__tests__/codex-native-hook.test.ts +218 -28
- package/src/scripts/__tests__/run-test-files.test.ts +138 -2
- package/src/scripts/codex-native-hook.ts +80 -10
- package/src/scripts/notify-hook/team-worker-stop.ts +58 -18
- package/src/scripts/run-test-files.ts +229 -150
- package/templates/AGENTS.md +39 -199
- package/templates/catalog-manifest.json +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-files.js","sourceRoot":"","sources":["../../src/scripts/run-test-files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-test-files.js","sourceRoot":"","sources":["../../src/scripts/run-test-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,38 @@ async function withOmxRootEnv(root, run) {
|
|
|
65
65
|
delete process.env.OMX_TEAM_STATE_ROOT;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
+
function validExecutionContract(stride) {
|
|
69
|
+
const perStride = {
|
|
70
|
+
task: {
|
|
71
|
+
allow_task_shrink: true,
|
|
72
|
+
acceptance_coverage_scope: 'task',
|
|
73
|
+
shrink_policy: 'allowed',
|
|
74
|
+
completion_unit: 'One focused task',
|
|
75
|
+
stop_condition: 'Stop after that task is implemented and verified',
|
|
76
|
+
},
|
|
77
|
+
deliverable: {
|
|
78
|
+
allow_task_shrink: false,
|
|
79
|
+
acceptance_coverage_scope: 'deliverable',
|
|
80
|
+
shrink_policy: 'ask_before_shrink',
|
|
81
|
+
completion_unit: 'The named deliverable',
|
|
82
|
+
stop_condition: 'Stop after the deliverable is complete and verified',
|
|
83
|
+
},
|
|
84
|
+
milestone: {
|
|
85
|
+
allow_task_shrink: false,
|
|
86
|
+
acceptance_coverage_scope: 'milestone',
|
|
87
|
+
shrink_policy: 'deny_unless_blocked',
|
|
88
|
+
completion_unit: 'The approved milestone',
|
|
89
|
+
stop_condition: 'Stop after the milestone is complete unless blocked',
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
version: 1,
|
|
94
|
+
execution_stride: stride,
|
|
95
|
+
source: 'deep-interview',
|
|
96
|
+
selected_by: 'user',
|
|
97
|
+
...perStride[stride],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
68
100
|
async function writeNativeSubagentTracking(cwd, sessionId) {
|
|
69
101
|
const trackingPath = subagentTrackingPath(cwd);
|
|
70
102
|
const now = '2026-05-28T00:00:00.000Z';
|
|
@@ -1203,6 +1235,437 @@ describe('state operations directory initialization', () => {
|
|
|
1203
1235
|
await rm(wd, { recursive: true, force: true });
|
|
1204
1236
|
}
|
|
1205
1237
|
});
|
|
1238
|
+
it('allows Autopilot deep-interview to ralplan handoff with required valid execution contract strides', async () => {
|
|
1239
|
+
for (const stride of ['task', 'deliverable', 'milestone']) {
|
|
1240
|
+
const wd = await mkdtemp(join(tmpdir(), `omx-state-ops-autopilot-execution-contract-${stride}-`));
|
|
1241
|
+
try {
|
|
1242
|
+
await withOmxRootEnv(wd, async () => {
|
|
1243
|
+
const sessionId = `sess-autopilot-execution-contract-${stride}`;
|
|
1244
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1245
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1246
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1247
|
+
active: true,
|
|
1248
|
+
mode: 'autopilot',
|
|
1249
|
+
current_phase: 'deep-interview',
|
|
1250
|
+
}, null, 2));
|
|
1251
|
+
const response = await executeStateOperation('state_write', {
|
|
1252
|
+
workingDirectory: wd,
|
|
1253
|
+
session_id: sessionId,
|
|
1254
|
+
mode: 'autopilot',
|
|
1255
|
+
active: true,
|
|
1256
|
+
current_phase: 'ralplan',
|
|
1257
|
+
state: {
|
|
1258
|
+
deep_interview_gate: {
|
|
1259
|
+
status: 'complete',
|
|
1260
|
+
rationale: `The ${stride} stride is explicitly contracted for planning.`,
|
|
1261
|
+
},
|
|
1262
|
+
handoff_artifacts: {
|
|
1263
|
+
deep_interview: {
|
|
1264
|
+
summary: `Ready for ralplan with ${stride} stride.`,
|
|
1265
|
+
execution_contract_required: true,
|
|
1266
|
+
execution_contract: validExecutionContract(stride),
|
|
1267
|
+
},
|
|
1268
|
+
},
|
|
1269
|
+
},
|
|
1270
|
+
});
|
|
1271
|
+
assert.equal(response.isError, undefined);
|
|
1272
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1273
|
+
assert.equal(state.current_phase, 'ralplan');
|
|
1274
|
+
});
|
|
1275
|
+
}
|
|
1276
|
+
finally {
|
|
1277
|
+
await rm(wd, { recursive: true, force: true });
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
});
|
|
1281
|
+
it('allows partial Autopilot ralplan handoff writes when a required execution contract is already persisted', async () => {
|
|
1282
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ops-autopilot-execution-contract-partial-write-'));
|
|
1283
|
+
try {
|
|
1284
|
+
await withOmxRootEnv(wd, async () => {
|
|
1285
|
+
const sessionId = 'sess-autopilot-execution-contract-partial-write';
|
|
1286
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1287
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1288
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1289
|
+
active: true,
|
|
1290
|
+
mode: 'autopilot',
|
|
1291
|
+
current_phase: 'deep-interview',
|
|
1292
|
+
state: {
|
|
1293
|
+
deep_interview_gate: {
|
|
1294
|
+
status: 'complete',
|
|
1295
|
+
rationale: 'The persisted interview artifact already defines the milestone contract.',
|
|
1296
|
+
},
|
|
1297
|
+
handoff_artifacts: {
|
|
1298
|
+
deep_interview: {
|
|
1299
|
+
summary: 'Ready for ralplan with a persisted milestone execution contract.',
|
|
1300
|
+
execution_contract_required: true,
|
|
1301
|
+
execution_contract: validExecutionContract('milestone'),
|
|
1302
|
+
},
|
|
1303
|
+
},
|
|
1304
|
+
},
|
|
1305
|
+
}, null, 2));
|
|
1306
|
+
const response = await executeStateOperation('state_write', {
|
|
1307
|
+
workingDirectory: wd,
|
|
1308
|
+
session_id: sessionId,
|
|
1309
|
+
mode: 'autopilot',
|
|
1310
|
+
active: true,
|
|
1311
|
+
current_phase: 'ralplan',
|
|
1312
|
+
});
|
|
1313
|
+
assert.equal(response.isError, undefined);
|
|
1314
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1315
|
+
assert.equal(state.current_phase, 'ralplan');
|
|
1316
|
+
assert.deepEqual(state.state.handoff_artifacts.deep_interview, {
|
|
1317
|
+
summary: 'Ready for ralplan with a persisted milestone execution contract.',
|
|
1318
|
+
execution_contract_required: true,
|
|
1319
|
+
execution_contract: validExecutionContract('milestone'),
|
|
1320
|
+
});
|
|
1321
|
+
});
|
|
1322
|
+
}
|
|
1323
|
+
finally {
|
|
1324
|
+
await rm(wd, { recursive: true, force: true });
|
|
1325
|
+
}
|
|
1326
|
+
});
|
|
1327
|
+
it('denies Autopilot deep-interview handoff when execution contract is required but missing or invalid', async () => {
|
|
1328
|
+
for (const [caseName, deepInterviewHandoff] of Object.entries({
|
|
1329
|
+
missing: {
|
|
1330
|
+
summary: 'Execution contract was required but omitted.',
|
|
1331
|
+
execution_contract_required: true,
|
|
1332
|
+
},
|
|
1333
|
+
wrongStrideFields: {
|
|
1334
|
+
summary: 'Execution contract mismatches its stride semantics.',
|
|
1335
|
+
execution_contract_required: true,
|
|
1336
|
+
execution_contract: {
|
|
1337
|
+
...validExecutionContract('deliverable'),
|
|
1338
|
+
allow_task_shrink: true,
|
|
1339
|
+
},
|
|
1340
|
+
},
|
|
1341
|
+
legacyPhaseEnum: {
|
|
1342
|
+
summary: 'Legacy phase enum must not be accepted as an execution stride.',
|
|
1343
|
+
execution_contract_required: true,
|
|
1344
|
+
execution_contract: {
|
|
1345
|
+
...validExecutionContract('milestone'),
|
|
1346
|
+
execution_stride: 'phase',
|
|
1347
|
+
},
|
|
1348
|
+
},
|
|
1349
|
+
invalidSource: {
|
|
1350
|
+
summary: 'Contract provenance must be deep-interview.',
|
|
1351
|
+
execution_contract_required: true,
|
|
1352
|
+
execution_contract: {
|
|
1353
|
+
...validExecutionContract('task'),
|
|
1354
|
+
source: 'ralplan',
|
|
1355
|
+
},
|
|
1356
|
+
},
|
|
1357
|
+
invalidSelection: {
|
|
1358
|
+
summary: 'Contract selected_by must be user or default.',
|
|
1359
|
+
execution_contract_required: true,
|
|
1360
|
+
execution_contract: {
|
|
1361
|
+
...validExecutionContract('task'),
|
|
1362
|
+
selected_by: 'inferred',
|
|
1363
|
+
},
|
|
1364
|
+
},
|
|
1365
|
+
})) {
|
|
1366
|
+
const wd = await mkdtemp(join(tmpdir(), `omx-state-ops-autopilot-execution-contract-deny-${caseName}-`));
|
|
1367
|
+
try {
|
|
1368
|
+
await withOmxRootEnv(wd, async () => {
|
|
1369
|
+
const sessionId = `sess-autopilot-execution-contract-deny-${caseName}`;
|
|
1370
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1371
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1372
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1373
|
+
active: true,
|
|
1374
|
+
mode: 'autopilot',
|
|
1375
|
+
current_phase: 'deep-interview',
|
|
1376
|
+
}, null, 2));
|
|
1377
|
+
const response = await executeStateOperation('state_write', {
|
|
1378
|
+
workingDirectory: wd,
|
|
1379
|
+
session_id: sessionId,
|
|
1380
|
+
mode: 'autopilot',
|
|
1381
|
+
active: true,
|
|
1382
|
+
current_phase: 'ralplan',
|
|
1383
|
+
state: {
|
|
1384
|
+
deep_interview_gate: {
|
|
1385
|
+
status: 'complete',
|
|
1386
|
+
rationale: 'The interview is complete but the required contract is not valid.',
|
|
1387
|
+
},
|
|
1388
|
+
handoff_artifacts: {
|
|
1389
|
+
deep_interview: deepInterviewHandoff,
|
|
1390
|
+
},
|
|
1391
|
+
},
|
|
1392
|
+
});
|
|
1393
|
+
assert.equal(response.isError, true);
|
|
1394
|
+
assert.match(String(response.payload.error || ''), /execution_contract/i);
|
|
1395
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1396
|
+
assert.equal(state.current_phase, 'deep-interview');
|
|
1397
|
+
});
|
|
1398
|
+
}
|
|
1399
|
+
finally {
|
|
1400
|
+
await rm(wd, { recursive: true, force: true });
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
});
|
|
1404
|
+
it('preserves Autopilot legacy behavior when execution contract is absent or not required', async () => {
|
|
1405
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ops-autopilot-execution-contract-not-required-'));
|
|
1406
|
+
try {
|
|
1407
|
+
await withOmxRootEnv(wd, async () => {
|
|
1408
|
+
const sessionId = 'sess-autopilot-execution-contract-not-required';
|
|
1409
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1410
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1411
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1412
|
+
active: true,
|
|
1413
|
+
mode: 'autopilot',
|
|
1414
|
+
current_phase: 'deep-interview',
|
|
1415
|
+
}, null, 2));
|
|
1416
|
+
const response = await executeStateOperation('state_write', {
|
|
1417
|
+
workingDirectory: wd,
|
|
1418
|
+
session_id: sessionId,
|
|
1419
|
+
mode: 'autopilot',
|
|
1420
|
+
active: true,
|
|
1421
|
+
current_phase: 'ralplan',
|
|
1422
|
+
state: {
|
|
1423
|
+
deep_interview_gate: {
|
|
1424
|
+
status: 'complete',
|
|
1425
|
+
rationale: 'No execution contract was required for this legacy handoff.',
|
|
1426
|
+
},
|
|
1427
|
+
handoff_artifacts: {
|
|
1428
|
+
deep_interview: {
|
|
1429
|
+
summary: 'Ready for ralplan with legacy behavior.',
|
|
1430
|
+
execution_contract_required: false,
|
|
1431
|
+
execution_contract: {
|
|
1432
|
+
version: 1,
|
|
1433
|
+
execution_stride: 'phase',
|
|
1434
|
+
},
|
|
1435
|
+
},
|
|
1436
|
+
},
|
|
1437
|
+
},
|
|
1438
|
+
});
|
|
1439
|
+
assert.equal(response.isError, undefined);
|
|
1440
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1441
|
+
assert.equal(state.current_phase, 'ralplan');
|
|
1442
|
+
});
|
|
1443
|
+
}
|
|
1444
|
+
finally {
|
|
1445
|
+
await rm(wd, { recursive: true, force: true });
|
|
1446
|
+
}
|
|
1447
|
+
});
|
|
1448
|
+
it('honors all documented execution contract required marker locations and runtime aliases', async () => {
|
|
1449
|
+
const aliasContract = {
|
|
1450
|
+
version: 1,
|
|
1451
|
+
executionStride: 'deliverable',
|
|
1452
|
+
source: 'deep-interview',
|
|
1453
|
+
selected_by: 'user',
|
|
1454
|
+
allowTaskShrink: false,
|
|
1455
|
+
completionUnit: 'The named deliverable',
|
|
1456
|
+
stopCondition: 'Stop after the deliverable is complete and verified',
|
|
1457
|
+
acceptanceCoverageScope: 'deliverable',
|
|
1458
|
+
shrinkPolicy: 'ask_before_shrink',
|
|
1459
|
+
};
|
|
1460
|
+
for (const [caseName, topLevelPatch, nestedPatch, handoffPatch] of [
|
|
1461
|
+
['gate', {}, { deep_interview_gate: { execution_contract_required: true } }, {}],
|
|
1462
|
+
['top-level', { execution_contract_required: true }, {}, {}],
|
|
1463
|
+
['nested-state', {}, { execution_contract_required: true }, {}],
|
|
1464
|
+
['handoff', {}, {}, { execution_contract_required: true }],
|
|
1465
|
+
['handoff-camel', {}, {}, { executionContractRequired: true }],
|
|
1466
|
+
]) {
|
|
1467
|
+
const wd = await mkdtemp(join(tmpdir(), `omx-state-ops-autopilot-execution-contract-marker-${caseName}-`));
|
|
1468
|
+
try {
|
|
1469
|
+
await withOmxRootEnv(wd, async () => {
|
|
1470
|
+
const sessionId = `sess-autopilot-execution-contract-marker-${caseName}`;
|
|
1471
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1472
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1473
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1474
|
+
active: true,
|
|
1475
|
+
mode: 'autopilot',
|
|
1476
|
+
current_phase: 'deep-interview',
|
|
1477
|
+
}, null, 2));
|
|
1478
|
+
const response = await executeStateOperation('state_write', {
|
|
1479
|
+
workingDirectory: wd,
|
|
1480
|
+
session_id: sessionId,
|
|
1481
|
+
mode: 'autopilot',
|
|
1482
|
+
active: true,
|
|
1483
|
+
current_phase: 'ralplan',
|
|
1484
|
+
...topLevelPatch,
|
|
1485
|
+
state: {
|
|
1486
|
+
...nestedPatch,
|
|
1487
|
+
deep_interview_gate: {
|
|
1488
|
+
status: 'complete',
|
|
1489
|
+
rationale: `The ${caseName} marker requires a valid execution contract.`,
|
|
1490
|
+
...(nestedPatch.deep_interview_gate ?? {}),
|
|
1491
|
+
},
|
|
1492
|
+
handoff_artifacts: {
|
|
1493
|
+
deep_interview: {
|
|
1494
|
+
summary: `Ready for ralplan with ${caseName} required marker.`,
|
|
1495
|
+
execution_contract: aliasContract,
|
|
1496
|
+
...handoffPatch,
|
|
1497
|
+
},
|
|
1498
|
+
},
|
|
1499
|
+
},
|
|
1500
|
+
});
|
|
1501
|
+
assert.equal(response.isError, undefined);
|
|
1502
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1503
|
+
assert.equal(state.current_phase, 'ralplan');
|
|
1504
|
+
});
|
|
1505
|
+
}
|
|
1506
|
+
finally {
|
|
1507
|
+
await rm(wd, { recursive: true, force: true });
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
});
|
|
1511
|
+
it('denies stale valid execution contracts from masking an invalid next-state contract', async () => {
|
|
1512
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ops-autopilot-execution-contract-precedence-'));
|
|
1513
|
+
try {
|
|
1514
|
+
await withOmxRootEnv(wd, async () => {
|
|
1515
|
+
const sessionId = 'sess-autopilot-execution-contract-precedence';
|
|
1516
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1517
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1518
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1519
|
+
active: true,
|
|
1520
|
+
mode: 'autopilot',
|
|
1521
|
+
current_phase: 'deep-interview',
|
|
1522
|
+
state: {
|
|
1523
|
+
handoff_artifacts: {
|
|
1524
|
+
deep_interview: {
|
|
1525
|
+
summary: 'Stale current-state contract must not rescue nextState.',
|
|
1526
|
+
execution_contract_required: true,
|
|
1527
|
+
execution_contract: validExecutionContract('milestone'),
|
|
1528
|
+
},
|
|
1529
|
+
},
|
|
1530
|
+
},
|
|
1531
|
+
}, null, 2));
|
|
1532
|
+
const response = await executeStateOperation('state_write', {
|
|
1533
|
+
workingDirectory: wd,
|
|
1534
|
+
session_id: sessionId,
|
|
1535
|
+
mode: 'autopilot',
|
|
1536
|
+
active: true,
|
|
1537
|
+
current_phase: 'ralplan',
|
|
1538
|
+
state: {
|
|
1539
|
+
execution_contract: {
|
|
1540
|
+
...validExecutionContract('milestone'),
|
|
1541
|
+
shrink_policy: 'allowed',
|
|
1542
|
+
},
|
|
1543
|
+
deep_interview_gate: {
|
|
1544
|
+
status: 'complete',
|
|
1545
|
+
rationale: 'Resulting next state carries an invalid higher-priority contract.',
|
|
1546
|
+
},
|
|
1547
|
+
handoff_artifacts: {
|
|
1548
|
+
deep_interview: {
|
|
1549
|
+
summary: 'Valid handoff contract must not mask invalid direct/nested contract.',
|
|
1550
|
+
execution_contract_required: true,
|
|
1551
|
+
execution_contract: validExecutionContract('milestone'),
|
|
1552
|
+
},
|
|
1553
|
+
},
|
|
1554
|
+
},
|
|
1555
|
+
});
|
|
1556
|
+
assert.equal(response.isError, true);
|
|
1557
|
+
assert.match(String(response.payload.error || ''), /execution_contract/i);
|
|
1558
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1559
|
+
assert.equal(state.current_phase, 'deep-interview');
|
|
1560
|
+
});
|
|
1561
|
+
}
|
|
1562
|
+
finally {
|
|
1563
|
+
await rm(wd, { recursive: true, force: true });
|
|
1564
|
+
}
|
|
1565
|
+
});
|
|
1566
|
+
it('supports direct execution contract compatibility while rejecting invalid handoff contracts', async () => {
|
|
1567
|
+
for (const [caseName, handoffPatch, shouldAllow] of [
|
|
1568
|
+
['missing-handoff-contract', {}, true],
|
|
1569
|
+
['invalid-handoff-contract', { execution_contract: { ...validExecutionContract('deliverable'), source: 'ralplan' } }, false],
|
|
1570
|
+
]) {
|
|
1571
|
+
const wd = await mkdtemp(join(tmpdir(), `omx-state-ops-autopilot-execution-contract-${caseName}-handoff-`));
|
|
1572
|
+
try {
|
|
1573
|
+
await withOmxRootEnv(wd, async () => {
|
|
1574
|
+
const sessionId = `sess-contract-${caseName}`;
|
|
1575
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1576
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1577
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1578
|
+
active: true,
|
|
1579
|
+
mode: 'autopilot',
|
|
1580
|
+
current_phase: 'deep-interview',
|
|
1581
|
+
}, null, 2));
|
|
1582
|
+
const response = await executeStateOperation('state_write', {
|
|
1583
|
+
workingDirectory: wd,
|
|
1584
|
+
session_id: sessionId,
|
|
1585
|
+
mode: 'autopilot',
|
|
1586
|
+
active: true,
|
|
1587
|
+
current_phase: 'ralplan',
|
|
1588
|
+
state: {
|
|
1589
|
+
execution_contract: validExecutionContract('deliverable'),
|
|
1590
|
+
deep_interview_gate: {
|
|
1591
|
+
status: 'complete',
|
|
1592
|
+
rationale: 'A compatibility direct contract may satisfy a marker, but invalid handoff data fails first.',
|
|
1593
|
+
},
|
|
1594
|
+
handoff_artifacts: {
|
|
1595
|
+
deep_interview: {
|
|
1596
|
+
summary: 'Handoff marker requires the handoff contract to be valid too.',
|
|
1597
|
+
execution_contract_required: true,
|
|
1598
|
+
...handoffPatch,
|
|
1599
|
+
},
|
|
1600
|
+
},
|
|
1601
|
+
},
|
|
1602
|
+
});
|
|
1603
|
+
assert.equal(response.isError, shouldAllow ? undefined : true);
|
|
1604
|
+
if (!shouldAllow) {
|
|
1605
|
+
assert.match(String(response.payload.error || ''), /execution_contract/i);
|
|
1606
|
+
}
|
|
1607
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1608
|
+
assert.equal(state.current_phase, shouldAllow ? 'ralplan' : 'deep-interview');
|
|
1609
|
+
});
|
|
1610
|
+
}
|
|
1611
|
+
finally {
|
|
1612
|
+
await rm(wd, { recursive: true, force: true });
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
});
|
|
1616
|
+
it('applies required execution contract validation to explicit Autopilot deep-interview skip gates', async () => {
|
|
1617
|
+
for (const [caseName, deepInterviewHandoff, shouldAllow] of [
|
|
1618
|
+
['missing', { summary: 'Skip is authorized, but contract is missing.', execution_contract_required: true }, false],
|
|
1619
|
+
['valid', {
|
|
1620
|
+
summary: 'Skip is authorized and the required contract is present.',
|
|
1621
|
+
execution_contract_required: true,
|
|
1622
|
+
execution_contract: validExecutionContract('task'),
|
|
1623
|
+
}, true],
|
|
1624
|
+
]) {
|
|
1625
|
+
const wd = await mkdtemp(join(tmpdir(), `omx-state-ops-autopilot-execution-contract-skip-${caseName}-`));
|
|
1626
|
+
try {
|
|
1627
|
+
await withOmxRootEnv(wd, async () => {
|
|
1628
|
+
const sessionId = `sess-autopilot-execution-contract-skip-${caseName}`;
|
|
1629
|
+
const sessionDir = join(wd, '.omx', 'state', 'sessions', sessionId);
|
|
1630
|
+
await mkdir(sessionDir, { recursive: true });
|
|
1631
|
+
await writeFile(join(sessionDir, 'autopilot-state.json'), JSON.stringify({
|
|
1632
|
+
active: true,
|
|
1633
|
+
mode: 'autopilot',
|
|
1634
|
+
current_phase: 'deep-interview',
|
|
1635
|
+
state: {
|
|
1636
|
+
deep_interview_gate: {
|
|
1637
|
+
status: 'skipped',
|
|
1638
|
+
skip_authorized_by_user: true,
|
|
1639
|
+
skip_reason: 'User explicitly authorized skipping deep-interview for this bounded follow-up.',
|
|
1640
|
+
skipped_at: '2026-05-28T00:02:00.000Z',
|
|
1641
|
+
source: 'user',
|
|
1642
|
+
session_id: sessionId,
|
|
1643
|
+
},
|
|
1644
|
+
handoff_artifacts: {
|
|
1645
|
+
deep_interview: deepInterviewHandoff,
|
|
1646
|
+
},
|
|
1647
|
+
},
|
|
1648
|
+
}, null, 2));
|
|
1649
|
+
const response = await executeStateOperation('state_write', {
|
|
1650
|
+
workingDirectory: wd,
|
|
1651
|
+
session_id: sessionId,
|
|
1652
|
+
mode: 'autopilot',
|
|
1653
|
+
active: true,
|
|
1654
|
+
current_phase: 'ralplan',
|
|
1655
|
+
});
|
|
1656
|
+
assert.equal(response.isError, shouldAllow ? undefined : true);
|
|
1657
|
+
if (!shouldAllow) {
|
|
1658
|
+
assert.match(String(response.payload.error || ''), /execution_contract/i);
|
|
1659
|
+
}
|
|
1660
|
+
const state = JSON.parse(await readFile(join(sessionDir, 'autopilot-state.json'), 'utf-8'));
|
|
1661
|
+
assert.equal(state.current_phase, shouldAllow ? 'ralplan' : 'deep-interview');
|
|
1662
|
+
});
|
|
1663
|
+
}
|
|
1664
|
+
finally {
|
|
1665
|
+
await rm(wd, { recursive: true, force: true });
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
});
|
|
1206
1669
|
it('allows Autopilot deep-interview to ralplan self-write with explicit user-authorized skip evidence', async () => {
|
|
1207
1670
|
const wd = await mkdtemp(join(tmpdir(), 'omx-state-ops-autopilot-child-phase-skip-'));
|
|
1208
1671
|
try {
|