@polderlabs/bizar-omp 0.6.6 → 0.6.8

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 (89) hide show
  1. package/README.md +8 -8
  2. package/dist/cli/agents.d.ts +1 -1
  3. package/dist/cli/agents.d.ts.map +1 -1
  4. package/dist/cli/agents.js +1 -1
  5. package/dist/cli/doctor.d.ts +4 -4
  6. package/dist/cli/omb-commands.js +1 -1
  7. package/dist/cli/omb-commands.js.map +1 -1
  8. package/dist/cli/omb-update.d.ts +5 -0
  9. package/dist/cli/omb-update.d.ts.map +1 -1
  10. package/dist/cli/omb-update.js +14 -5
  11. package/dist/cli/omb-update.js.map +1 -1
  12. package/dist/cli/update-ink.d.ts +51 -0
  13. package/dist/cli/update-ink.d.ts.map +1 -0
  14. package/dist/cli/update-ink.js +185 -0
  15. package/dist/cli/update-ink.js.map +1 -0
  16. package/dist/core/acceptance.d.ts.map +1 -1
  17. package/dist/core/acceptance.js +2 -1
  18. package/dist/core/acceptance.js.map +1 -1
  19. package/dist/core/recovery.d.ts.map +1 -1
  20. package/dist/core/recovery.js +47 -3
  21. package/dist/core/recovery.js.map +1 -1
  22. package/dist/core/transitions.d.ts +3 -2
  23. package/dist/core/transitions.d.ts.map +1 -1
  24. package/dist/core/transitions.js +34 -8
  25. package/dist/core/transitions.js.map +1 -1
  26. package/dist/core/types.d.ts +32 -1
  27. package/dist/core/types.d.ts.map +1 -1
  28. package/dist/extension.d.ts +14 -3
  29. package/dist/extension.d.ts.map +1 -1
  30. package/dist/extension.js +50 -23
  31. package/dist/extension.js.map +1 -1
  32. package/dist/omp/compatibility.d.ts +5 -5
  33. package/dist/omp/compatibility.d.ts.map +1 -1
  34. package/dist/omp/compatibility.js +2 -2
  35. package/dist/omp/compatibility.js.map +1 -1
  36. package/dist/omp/daemon-service.d.ts.map +1 -1
  37. package/dist/omp/daemon-service.js +116 -2
  38. package/dist/omp/daemon-service.js.map +1 -1
  39. package/dist/omp/dashboard-html.d.ts.map +1 -1
  40. package/dist/omp/dashboard-html.js +70 -3
  41. package/dist/omp/dashboard-html.js.map +1 -1
  42. package/dist/omp/dispatch-admission.d.ts +4 -1
  43. package/dist/omp/dispatch-admission.d.ts.map +1 -1
  44. package/dist/omp/dispatch-admission.js +2 -2
  45. package/dist/omp/dispatch-admission.js.map +1 -1
  46. package/dist/omp/omb-sessions.d.ts +9 -0
  47. package/dist/omp/omb-sessions.d.ts.map +1 -1
  48. package/dist/omp/omb-sessions.js +16 -8
  49. package/dist/omp/omb-sessions.js.map +1 -1
  50. package/dist/omp/result-reconciliation.js +1 -1
  51. package/dist/omp/result-reconciliation.js.map +1 -1
  52. package/dist/omp/rpc.d.ts +3 -1
  53. package/dist/omp/rpc.d.ts.map +1 -1
  54. package/dist/services/candidate-verify.d.ts +35 -0
  55. package/dist/services/candidate-verify.d.ts.map +1 -0
  56. package/dist/services/candidate-verify.js +138 -0
  57. package/dist/services/candidate-verify.js.map +1 -0
  58. package/dist/storage/journal.d.ts.map +1 -1
  59. package/dist/storage/journal.js +6 -21
  60. package/dist/storage/journal.js.map +1 -1
  61. package/dist/storage/lease.d.ts +16 -0
  62. package/dist/storage/lease.d.ts.map +1 -0
  63. package/dist/storage/lease.js +153 -0
  64. package/dist/storage/lease.js.map +1 -0
  65. package/dist/storage/repository-identity.d.ts.map +1 -1
  66. package/dist/storage/repository-identity.js +1 -0
  67. package/dist/storage/repository-identity.js.map +1 -1
  68. package/dist/tools/integrate.d.ts.map +1 -1
  69. package/dist/tools/integrate.js +52 -23
  70. package/dist/tools/integrate.js.map +1 -1
  71. package/dist/tools/verify.d.ts.map +1 -1
  72. package/dist/tools/verify.js +57 -14
  73. package/dist/tools/verify.js.map +1 -1
  74. package/dist/tools/workflow.d.ts +12 -2
  75. package/dist/tools/workflow.d.ts.map +1 -1
  76. package/dist/tools/workflow.js +39 -6
  77. package/dist/tools/workflow.js.map +1 -1
  78. package/docs/compatibility/baseline.json +9 -8
  79. package/docs/compatibility/supported-surfaces.json +2 -1
  80. package/docs/releases/0.6.6.md +3 -2
  81. package/docs/releases/0.6.7.md +29 -0
  82. package/docs/releases/0.6.8.md +11 -0
  83. package/docs/releases/native-stable.md +1 -1
  84. package/docs/releases/npm-publishing.md +1 -1
  85. package/docs/releases/support-matrix.md +1 -1
  86. package/package.json +2 -2
  87. package/skills/omp-native-development/SKILL.md +1 -1
  88. package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
  89. package/skills/omp-native-development/references/source-manifest.json +3 -3
@@ -1,5 +1,26 @@
1
1
  import { ContractError, OwnershipError } from "./errors.js";
2
- export function emptySnapshot() { return { revision: 0, dispatches: [], observations: [], evidence: [], integrations: [], decisions: [], lastSequence: 0 }; }
2
+ import { objectiveHash } from "./policies.js";
3
+ const terminalDispatchStatuses = new Set(["settled", "failed", "cancelled", "unknown-outcome", "rejected"]);
4
+ function advanceDispatch(state, event) {
5
+ const current = state.dispatches.find(intent => intent.id === event.dispatch.id);
6
+ if (!current)
7
+ throw new ContractError("Dispatch state change references unknown dispatch", { dispatchId: event.dispatch.id });
8
+ if (event.observed.dispatchId !== event.dispatch.id)
9
+ throw new ContractError("Dispatch observation identity mismatch", { dispatchId: event.dispatch.id, observationDispatchId: event.observed.dispatchId });
10
+ for (const field of ["runId", "workItemId", "idempotencyKey"])
11
+ if (event.dispatch[field] !== current[field])
12
+ throw new ContractError("Dispatch state change mutates immutable identity", { dispatchId: current.id, field });
13
+ const allowed = current.status === "admitted" ? new Set(["acknowledged", "settled", "failed", "cancelled", "unknown-outcome", "rejected"]) : current.status === "acknowledged" ? terminalDispatchStatuses : new Set();
14
+ if (!allowed.has(event.dispatch.status))
15
+ throw new ContractError("Dispatch state transition is not monotonic", { dispatchId: current.id, from: current.status, to: event.dispatch.status });
16
+ state.dispatches = [...state.dispatches.filter(intent => intent.id !== current.id), event.dispatch];
17
+ state.observations.push(event.observed);
18
+ if (state.run) {
19
+ const lifecycle = event.dispatch.status === "settled" ? "settled" : terminalDispatchStatuses.has(event.dispatch.status) ? "rejected" : "running";
20
+ state.run = { ...state.run, workItems: state.run.workItems.map(item => item.id === current.workItemId ? { ...item, lifecycle } : item), updatedAt: event.observed.observedAt };
21
+ }
22
+ }
23
+ export function emptySnapshot() { return { revision: 0, dispatches: [], observations: [], evidence: [], integrations: [], acceptances: [], decisions: [], lastSequence: 0 }; }
3
24
  export function replay(entries) {
4
25
  const state = emptySnapshot();
5
26
  for (const entry of entries) {
@@ -12,6 +33,7 @@ export function replay(entries) {
12
33
  state.observations = [];
13
34
  state.evidence = [];
14
35
  state.integrations = [];
36
+ state.acceptances = [];
15
37
  state.decisions = [];
16
38
  }
17
39
  else if (event.type === "run.transitioned" && state.run?.runId === event.runId) {
@@ -20,15 +42,37 @@ export function replay(entries) {
20
42
  else if (event.type === "work-item.upserted" && state.run?.runId === event.runId)
21
43
  state.run = { ...state.run, workItems: [...state.run.workItems.filter(i => i.id !== event.item.id), event.item], revision: state.run.revision + 1, updatedAt: entry.at };
22
44
  else if (event.type === "dispatch.recorded" && state.run?.runId === event.runId)
23
- state.dispatches.push(event.intent);
24
- else if (event.type === "worker.observed" && state.dispatches.some(intent => intent.id === event.observation.dispatchId))
45
+ state.dispatches = [...state.dispatches.filter(intent => intent.id !== event.intent.id), event.intent];
46
+ else if (event.type === "dispatch.state_changed" && state.run?.runId === event.runId)
47
+ advanceDispatch(state, event);
48
+ else if (event.type === "worker.observed" && state.run?.runId === event.runId) {
49
+ if (!state.dispatches.some(intent => intent.id === event.observation.dispatchId))
50
+ throw new ContractError("Worker observation references unknown dispatch", { dispatchId: event.observation.dispatchId });
25
51
  state.observations.push(event.observation);
52
+ }
53
+ else if (event.type === "worker.observed") { /* stale-run observation: silently ignored */ }
26
54
  else if (event.type === "evidence.recorded" && state.run?.runId === event.runId)
27
55
  state.evidence.push(event.evidence);
56
+ else if (event.type === "acceptance.recorded" && state.run?.runId === event.runId)
57
+ state.acceptances = [...state.acceptances.filter(receipt => receipt.workItemId !== event.receipt.workItemId || receipt.workRevision !== event.receipt.workRevision), event.receipt];
28
58
  else if (event.type === "integration.recorded" && state.run?.runId === event.runId)
29
59
  state.integrations = [...state.integrations.filter(attempt => attempt.id !== event.attempt.id), event.attempt];
30
60
  else if (event.type === "decision.recorded" && state.run?.runId === event.runId)
31
61
  state.decisions.push(event.decision);
62
+ else if (event.type === "objective.amended" && state.run?.runId === event.runId) {
63
+ const prior = state.run.objective;
64
+ const idsFor = (by) => by === "check-spec" ? prior.checkSpecs?.map(spec => spec.id) ?? prior.verificationPlan : prior.criteria?.map(criterion => criterion.id) ?? [];
65
+ const amendedIdsFor = (by, candidate) => by === "check-spec" ? candidate.checkSpecs?.map(spec => spec.id) ?? candidate.verificationPlan : candidate.criteria?.map(criterion => criterion.id) ?? [];
66
+ const priorIds = new Set(idsFor(event.by));
67
+ const amendedIds = new Set(amendedIdsFor(event.by, event.objective));
68
+ const actualAdded = [...amendedIds].filter(id => !priorIds.has(id)).sort();
69
+ const actualRemoved = [...priorIds].filter(id => !amendedIds.has(id)).sort();
70
+ if (event.added.length !== actualAdded.length || event.added.some((id, index) => id !== actualAdded[index]))
71
+ throw new ContractError("objective.amended added delta does not match the new objective", { claimed: event.added, actual: actualAdded });
72
+ if (event.removed.length !== actualRemoved.length || event.removed.some((id, index) => id !== actualRemoved[index]))
73
+ throw new ContractError("objective.amended removed delta does not match the prior objective", { claimed: event.removed, actual: actualRemoved });
74
+ state.run = { ...state.run, objective: event.objective, objectiveHash: objectiveHash(event.objective), revision: state.run.revision + 1, updatedAt: entry.at };
75
+ }
32
76
  else if (event.type === "run.cancelled" && state.run?.runId === event.runId)
33
77
  state.run = { ...state.run, phase: "cancelled", cancellation: { requested: true, reason: event.reason }, revision: state.run.revision + 1, updatedAt: entry.at };
34
78
  else if (event.type === "run.reconciled" && state.run?.runId === event.runId)
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/core/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/core/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5G,SAAS,eAAe,CAAC,KAAoB,EAAE,KAAyE;IACtH,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,aAAa,CAAC,mDAAmD,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9H,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,aAAa,CAAC,wCAAwC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5M,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAU;QAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,kDAAkD,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrO,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IAC9N,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,4CAA4C,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5L,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACjJ,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACjL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,KAAoB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7L,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,YAAY,GAAG,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,oCAAoC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3K,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7I,CAAC;aACI,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAAC,CAAC;aACpL,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;aACtP,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;aACnL,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC/G,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,gDAAgD,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;YAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;aACpU,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC,CAAC,6CAA6C,CAAC,CAAC;aACvF,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAChH,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aAClQ,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aAC9L,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACjH,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAChF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM,MAAM,GAAG,CAAC,EAA8B,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACjM,MAAM,aAAa,GAAG,CAAC,EAA8B,EAAE,SAAuB,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7O,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3E,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7E,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,gEAAgE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACtP,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,oEAAoE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACtQ,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACjK,CAAC;aACI,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;aACzO,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC9K,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;IACtC,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA0B,EAAE,QAAgB;IACtE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,+CAA+C,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtI,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,YAAyB,EAAE,GAAW;IACrE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,8BAA8B,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,MAAgD,EAAE,gBAAyB;IAC9H,IAAI,MAAM,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;AAChD,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { EvidenceRecord, JournalEvent, ObjectiveContract, RouteClass, WorkflowPhase, WorkflowRun, WorkItem } from "./types.js";
1
+ import type { CheckSpec, EvidenceRecord, JournalEvent, ObjectiveContract, RouteClass, WorkflowPhase, WorkflowRun, WorkItem } from "./types.js";
2
+ export declare function freezeObjective(objective: ObjectiveContract): ObjectiveContract;
2
3
  export declare function createRun(projectId: string, objective: ObjectiveContract, mode?: RouteClass, nativeSessionId?: string): WorkflowRun;
3
4
  export declare function addWorkItem(run: WorkflowRun, input: Omit<WorkItem, "id" | "revision" | "lifecycle" | "attempt">): WorkflowRun;
4
5
  export declare function transition(run: WorkflowRun, to: WorkflowPhase, reason: string): {
@@ -6,9 +7,9 @@ export declare function transition(run: WorkflowRun, to: WorkflowPhase, reason:
6
7
  event: JournalEvent;
7
8
  };
8
9
  export declare function acceptWorkItem(run: WorkflowRun, workItemId: string): WorkflowRun;
9
- export declare function canComplete(run: WorkflowRun, requiredChecks: string[], evidence: Pick<EvidenceRecord, "checkId" | "result" | "stale" | "targetDigest">[], ownedWork: WorkItem[], targetDigest: string): boolean;
10
10
  export declare function completeRun(run: WorkflowRun, requiredChecks: string[], evidence: EvidenceRecord[], targetDigest: string): {
11
11
  run: WorkflowRun;
12
12
  event: JournalEvent;
13
13
  };
14
+ export declare function canComplete(run: WorkflowRun, requiredChecks: Array<string | CheckSpec>, evidence: Pick<EvidenceRecord, "checkId" | "result" | "stale" | "targetDigest">[], ownedWork: WorkItem[], targetDigest: string): boolean;
14
15
  //# sourceMappingURL=transitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/core/transitions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiBpI,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,CAGnI;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG,WAAW,CAI7H;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAKzH;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAMhF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAG/M;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAKnK"}
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/core/transitions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAiB,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB9J,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,CAW/E;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,CAGnI;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,GAAG,WAAW,CAK7H;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAKzH;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAMhF;AACD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAenK;AACD,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAGhO"}
@@ -1,7 +1,8 @@
1
+ import { validateDependencies } from "../services/readiness.js";
1
2
  import { createHash, randomUUID } from "node:crypto";
2
3
  import { InvalidTransitionError, ContractError } from "./errors.js";
3
4
  import { classifyRoute, objectiveHash } from "./policies.js";
4
- import { evaluateAcceptance } from "./acceptance.js";
5
+ import { evaluateAcceptance, freezeCheckSpec } from "./acceptance.js";
5
6
  const now = () => new Date().toISOString();
6
7
  const phaseTransitions = {
7
8
  created: ["orienting", "planning", "researching", "executing", "blocked", "cancelled"],
@@ -16,15 +17,28 @@ const phaseTransitions = {
16
17
  complete: [], blocked: ["orienting", "planning", "executing", "verifying", "cancelled"],
17
18
  failed: ["orienting", "planning", "executing", "cancelled"], cancelled: [],
18
19
  };
19
- export function createRun(projectId, objective, mode, nativeSessionId) {
20
+ export function freezeObjective(objective) {
20
21
  if (!objective.objective.trim() || objective.acceptanceCriteria.length === 0)
21
22
  throw new ContractError("Objective and acceptance criteria are required");
22
- return { schemaVersion: 1, runId: `run_${randomUUID()}`, projectId, nativeSessionId, objective, objectiveHash: objectiveHash(objective), revision: 0, mode: mode ?? classifyRoute({ text: objective.objective }).routeClass, phase: "created", workItems: [], cancellation: { requested: false }, createdAt: now(), updatedAt: now() };
23
+ const criteria = objective.criteria
24
+ ? objective.criteria.map((criterion, index) => ({ ...criterion, id: criterion.id || `criterion:${index + 1}`, revision: criterion.revision || 1, requiredEvidenceClasses: [...criterion.requiredEvidenceClasses] }))
25
+ : objective.acceptanceCriteria.map((description, index) => ({ id: `criterion:${index + 1}`, revision: 1, description, kind: "operator-judgment", requiredEvidenceClasses: [], applicable: true }));
26
+ return {
27
+ ...objective,
28
+ nonGoals: [...objective.nonGoals], constraints: [...objective.constraints], acceptanceCriteria: [...objective.acceptanceCriteria], verificationPlan: [...objective.verificationPlan], stopConditions: [...objective.stopConditions], userRestrictions: [...objective.userRestrictions],
29
+ criteria,
30
+ checkSpecs: objective.checkSpecs?.map(spec => freezeCheckSpec({ ...spec, argumentTemplate: [...spec.argumentTemplate], inputDigests: { ...spec.inputDigests }, limits: { ...spec.limits } })),
31
+ };
32
+ }
33
+ export function createRun(projectId, objective, mode, nativeSessionId) {
34
+ const frozen = freezeObjective(objective);
35
+ return { schemaVersion: 1, runId: `run_${randomUUID()}`, projectId, nativeSessionId, objective: frozen, objectiveHash: objectiveHash(frozen), revision: 0, mode: mode ?? classifyRoute({ text: frozen.objective }).routeClass, phase: "created", workItems: [], cancellation: { requested: false }, createdAt: now(), updatedAt: now() };
23
36
  }
24
37
  export function addWorkItem(run, input) {
25
38
  if (run.workItems.some(item => item.title === input.title))
26
39
  throw new ContractError(`Duplicate work item: ${input.title}`);
27
40
  const item = { ...input, id: `work_${createHash("sha256").update(`${run.runId}:${input.title}`).digest("hex").slice(0, 12)}`, revision: 0, lifecycle: "pending", attempt: 0 };
41
+ validateDependencies([...run.workItems, item]);
28
42
  return { ...run, revision: run.revision + 1, workItems: [...run.workItems, item], updatedAt: now() };
29
43
  }
30
44
  export function transition(run, to, reason) {
@@ -44,16 +58,28 @@ export function acceptWorkItem(run, workItemId) {
44
58
  const accepted = { ...item, lifecycle: "accepted", revision: item.revision + 1 };
45
59
  return { ...run, revision: run.revision + 1, workItems: run.workItems.map(candidate => candidate.id === item.id ? accepted : candidate), updatedAt: now() };
46
60
  }
47
- export function canComplete(run, requiredChecks, evidence, ownedWork, targetDigest) {
48
- const normalized = evidence.map((item, index) => ({ ...item, id: `legacy-evidence-${index}`, runId: run.runId, type: "test", inputDigests: {}, artifactHashes: [], provenance: { producer: "legacy", observedAt: "unknown" }, recordedAt: String(index) }));
49
- return evaluateAcceptance({ revision: run.revision, run, dispatches: [], observations: [], evidence: normalized, integrations: [], decisions: [], lastSequence: 0 }, { requiredChecks, targetDigest, ownedWork }).eligible && run.phase !== "failed";
50
- }
51
61
  export function completeRun(run, requiredChecks, evidence, targetDigest) {
52
- if (!canComplete(run, requiredChecks, evidence, run.workItems, targetDigest))
62
+ // A002: completion derives mandatory checks from the admitted objective
63
+ // contract. The caller-supplied requiredChecks are advisory only; the
64
+ // admitted contract cannot be bypassed. Weakening requires an explicit
65
+ // objective.amended event.
66
+ const admittedChecks = run.objective.checkSpecs?.length ? run.objective.checkSpecs : run.objective.verificationPlan;
67
+ if (admittedChecks.length === 0)
68
+ throw new ContractError("Completion requires a nonempty admitted verification plan");
69
+ // A002: reject when the caller attempts to weaken the admitted contract by
70
+ // supplying a strict subset that omits any admitted check.
71
+ const admittedIds = new Set(admittedChecks.map(check => typeof check === "string" ? check : check.id));
72
+ if (requiredChecks.some(check => !admittedIds.has(check)))
73
+ throw new ContractError("requiredChecks must be a subset of the admitted verification plan", { requiredChecks, admittedChecks: [...admittedIds] });
74
+ if (!canComplete(run, admittedChecks, evidence, run.workItems, targetDigest))
53
75
  throw new ContractError("Completion requires fresh checks for the current tree and no outstanding work");
54
76
  if (!["executing", "verifying", "reviewing"].includes(run.phase))
55
77
  throw new InvalidTransitionError(run.phase, "complete");
56
78
  const next = { ...run, phase: "complete", revision: run.revision + 1, updatedAt: now() };
57
79
  return { run: next, event: { type: "run.transitioned", runId: run.runId, from: run.phase, to: "complete", reason: "completion checks satisfied" } };
58
80
  }
81
+ export function canComplete(run, requiredChecks, evidence, ownedWork, targetDigest) {
82
+ const normalized = evidence.map((item, index) => ({ ...item, id: `legacy-evidence-${index}`, runId: run.runId, type: "test", inputDigests: {}, artifactHashes: [], provenance: { producer: "legacy", observedAt: "unknown" }, recordedAt: String(index) }));
83
+ return evaluateAcceptance({ revision: run.revision, run, dispatches: [], observations: [], evidence: normalized, integrations: [], acceptances: [], decisions: [], lastSequence: 0 }, { requiredChecks, targetDigest, ownedWork }).eligible && run.phase !== "failed";
84
+ }
59
85
  //# sourceMappingURL=transitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/core/transitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../src/core/transitions.ts"],"names":[],"mappings":"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"}
@@ -103,9 +103,11 @@ export interface DispatchIntent {
103
103
  routeClass: RouteClass;
104
104
  routeIntent: RouteIntent;
105
105
  modelRole: string;
106
- status: "admitted" | "acknowledged" | "settled" | "unknown-outcome" | "rejected";
106
+ status: "admitted" | "acknowledged" | "settled" | "failed" | "cancelled" | "unknown-outcome" | "rejected";
107
107
  nativeCallId?: string;
108
108
  nativeChildId?: string;
109
+ candidateId?: string;
110
+ candidateTree?: string;
109
111
  }
110
112
  export interface WorkerObservation {
111
113
  dispatchId: string;
@@ -164,6 +166,17 @@ export interface IntegrationAttempt {
164
166
  baseTree?: string;
165
167
  candidateTree?: string;
166
168
  }
169
+ export interface AcceptanceReceipt {
170
+ workItemId: string;
171
+ workRevision: number;
172
+ dispatchId: string;
173
+ candidateId: string;
174
+ candidateTree: string;
175
+ evidenceIds: string[];
176
+ checkSpecHashes: string[];
177
+ policyRevision: string;
178
+ targetDigest: string;
179
+ }
167
180
  export interface DecisionRecord {
168
181
  id: string;
169
182
  runId: string;
@@ -217,6 +230,23 @@ export type JournalEvent = {
217
230
  revision: number;
218
231
  phase: WorkflowPhase;
219
232
  reason: string;
233
+ } | {
234
+ type: "objective.amended";
235
+ runId: string;
236
+ objective: ObjectiveContract;
237
+ by: "criterion" | "check-spec";
238
+ added: string[];
239
+ removed: string[];
240
+ reason: string;
241
+ } | {
242
+ type: "dispatch.state_changed";
243
+ runId: string;
244
+ dispatch: DispatchIntent;
245
+ observed: WorkerObservation;
246
+ } | {
247
+ type: "acceptance.recorded";
248
+ runId: string;
249
+ receipt: AcceptanceReceipt;
220
250
  };
221
251
  export interface JournalEntry {
222
252
  sequence: number;
@@ -234,6 +264,7 @@ export interface StateSnapshot {
234
264
  observations: WorkerObservation[];
235
265
  evidence: EvidenceRecord[];
236
266
  integrations: IntegrationAttempt[];
267
+ acceptances: AcceptanceReceipt[];
237
268
  decisions: DecisionRecord[];
238
269
  lastSequence: number;
239
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -26,21 +26,32 @@ interface ZodSchema<T> {
26
26
  interface OmpZod {
27
27
  string(): ZodSchema<string>;
28
28
  boolean(): ZodSchema<boolean>;
29
+ number(): ZodSchema<number>;
29
30
  array<T>(item: ZodSchema<T>): ZodSchema<T[]>;
30
31
  enum<T extends readonly [string, ...string[]]>(values: T): ZodSchema<T[number]>;
32
+ record<T>(key: ZodSchema<string>, value: ZodSchema<T>): ZodSchema<Record<string, T>>;
31
33
  union<T extends readonly [ZodSchema<unknown>, ZodSchema<unknown>, ...ZodSchema<unknown>[]]>(schemas: T): ZodSchema<unknown>;
32
34
  object<T extends Record<string, ZodSchema<unknown>>>(shape: T): ZodSchema<{
33
35
  [Key in keyof T]: T[Key];
34
36
  }>;
35
37
  }
38
+ /**
39
+ * Mirrors `SendUserMessageOptions` from the qualified OMP public contract
40
+ * (`@oh-my-pi/pi-coding-agent` 18.2.4–18.2.7): `deliverAs` selects queue
41
+ * behavior, `attribution` (`MessageAttribution` in `@oh-my-pi/pi-ai`) marks
42
+ * who initiated the message. Defaults record `"user"`; `"agent"` marks
43
+ * extension-generated guidance as agent-authored.
44
+ */
45
+ interface OmpSendUserMessageOptions {
46
+ deliverAs?: "steer" | "followUp" | "aside";
47
+ attribution?: "user" | "agent";
48
+ }
36
49
  interface OmpPi {
37
50
  zod: OmpZod;
38
51
  pi?: {
39
52
  settings?: NativeSettings;
40
53
  };
41
- sendUserMessage?(content: string, options?: {
42
- deliverAs?: "steer" | "followUp" | "aside";
43
- }): void;
54
+ sendUserMessage?(content: string, options?: OmpSendUserMessageOptions): void;
44
55
  registerTool(definition: Record<string, unknown>): void;
45
56
  registerCommand(name: string, definition: {
46
57
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
package/dist/extension.js CHANGED
@@ -10,6 +10,8 @@ import { result } from "./tools/result.js";
10
10
  import { runVerification } from "./tools/verify.js";
11
11
  import { runWorkflow } from "./tools/workflow.js";
12
12
  import { analyzeRecipe } from "./services/recipes.js";
13
+ import { runCandidateCheck } from "./services/candidate-verify.js";
14
+ import { freezeCheckSpec } from "./core/acceptance.js";
13
15
  import { inspectEvidence } from "./services/inspector.js";
14
16
  import { projectWorkflow } from "./services/projection.js";
15
17
  import { capabilityReport } from "./omp/capabilities.js";
@@ -18,7 +20,6 @@ import { Journal } from "./storage/journal.js";
18
20
  import { nativeSessionReference } from "./omp/context.js";
19
21
  import { findOnPath } from "./omp/tmux.js";
20
22
  import { bindSession } from "./omp/lifecycle.js";
21
- import { AUTONOMOUS_SETTINGS } from "./omp/autonomous-settings.js";
22
23
  import { BIZAR_MODEL_ROLE_AGENT_PROMPT, BIZAR_MODEL_ROLE_TOOL, BIZAR_MODEL_ROLES, BIZAR_MODEL_TAGS, buildAgentEvaluationRequest, clipOperatorNotice, commitRolePlan, diffCatalog, formatCatalogDelta, formatRoleAssignmentPlan, planBizarModelRoles, planFromRecommendations, recordOf, reviewRoleRecommendations, roleAssignmentRoute, snapshotCatalog, } from "./omp/model-role-assignment.js";
23
24
  import { loadOmbSettings, recordCatalogObservation } from "./omp/omb-settings.js";
24
25
  const objectiveSchema = (z) => z.object({
@@ -157,19 +158,6 @@ function ensureBizarModelRoles(pi) {
157
158
  if (JSON.stringify(nextCycle) !== JSON.stringify(currentCycle))
158
159
  settings.set("cycleOrder", nextCycle);
159
160
  }
160
- function ensureBizarAutonomousSettings(pi) {
161
- const settings = pi.pi?.settings;
162
- if (!settings?.get || !settings.set)
163
- return [];
164
- const changed = [];
165
- for (const [key, value] of Object.entries(AUTONOMOUS_SETTINGS)) {
166
- if (settings.get(key) !== undefined)
167
- continue;
168
- settings.set(key, value);
169
- changed.push(key);
170
- }
171
- return changed;
172
- }
173
161
  function modelRoleHealth(pi, ctx) {
174
162
  const settings = pi.pi?.settings;
175
163
  if (!settings?.get)
@@ -221,10 +209,13 @@ async function runModelRoleCommand(pi, args, ctx) {
221
209
  // evaluation task; the agent persists its decision through
222
210
  // BIZAR_MODEL_ROLE_TOOL, while a host without agent messaging applies the
223
211
  // deterministic plan directly.
212
+ const sendUserMessage = pi.sendUserMessage?.bind(pi);
224
213
  const route = roleAssignmentRoute({
225
214
  settings: pi.pi?.settings,
226
215
  models: ctx.models?.list?.(),
227
- sendUserMessage: pi.sendUserMessage?.bind(pi),
216
+ sendUserMessage: sendUserMessage
217
+ ? (content, options) => sendUserMessage(content, { ...options, attribution: "agent" })
218
+ : undefined,
228
219
  });
229
220
  if (route.kind === "unsupported")
230
221
  throw new ContractError("OMP model catalog and messaging APIs are unavailable; model-role assignment was not requested");
@@ -271,7 +262,21 @@ async function runModelRoleCommand(pi, args, ctx) {
271
262
  ].join("\n") + observationNote;
272
263
  }
273
264
  const runVerificationWithSignal = runVerification;
274
- const MAIN_CONTEXT_GUIDANCE = "BizarHarness OMP is installed and this main session is the Bizar Orchestrator. Talk to the user as the orchestrator by default: understand the request, choose the focused, bounded, or full Bizar method tier from scope, ambiguity, risk, file count, and change type, and delegate to specialist agents only when that improves the result. Use the native bizar-omp skill for Bizar's ownership boundaries, adaptive workflow tiers, workflow/evidence tools, model-role command, and omp-versus-omb launcher contract. The native OMP Advisor is enabled by default and may provide passive independent review; incorporate useful concerns without creating a second orchestration runtime. Focused work is direct with targeted proof; bounded work uses a lightweight Bizar workflow with acceptance and targeted checks; full work uses planning, isolation, evidence, review, and serialized integration. Do not add full planning or delegation as ceremony; escalate when scope or risk grows and never downgrade after escalation. Inspect relevant code and tests, make the smallest safe change, run proportional verification, and report concrete evidence. Do not claim completion without fresh verification; surface only material blockers. Create and pursue a native goal only when the user explicitly requests a goal.";
265
+ const MAIN_CONTEXT_GUIDANCE = "BizarHarness OMP is installed and this main session is the Bizar Orchestrator. Talk to the user as the orchestrator by default: understand the request, choose the focused, bounded, or full Bizar method tier from scope, ambiguity, risk, file count, and change type, and delegate to specialist agents only when that improves the result. Use the native bizar-omp skill for Bizar's ownership boundaries, adaptive workflow tiers, workflow/evidence tools, model-role command, and omp-versus-omb launcher contract. The native OMP Advisor reviews passively when the install preset enabled it; incorporate useful concerns without creating a second orchestration runtime. Focused work is direct with targeted proof; bounded work uses a lightweight Bizar workflow with acceptance and targeted checks; full work uses planning, isolation, evidence, review, and serialized integration. Do not add full planning or delegation as ceremony; escalate when scope or risk grows and never downgrade after escalation. Inspect relevant code and tests, make the smallest safe change, run proportional verification, and report concrete evidence. Do not claim completion without fresh verification; surface only material blockers. Create and pursue a native goal only when the user explicitly requests a goal.";
266
+ function appendMainContextGuidance(systemPrompt) {
267
+ if (typeof systemPrompt === "string") {
268
+ return systemPrompt.includes(MAIN_CONTEXT_GUIDANCE)
269
+ ? systemPrompt
270
+ : `${systemPrompt}\n\n${MAIN_CONTEXT_GUIDANCE}`;
271
+ }
272
+ if (Array.isArray(systemPrompt)) {
273
+ const prompts = systemPrompt.map(String);
274
+ return prompts.some(prompt => prompt.includes(MAIN_CONTEXT_GUIDANCE))
275
+ ? prompts
276
+ : [...prompts, MAIN_CONTEXT_GUIDANCE];
277
+ }
278
+ return [MAIN_CONTEXT_GUIDANCE];
279
+ }
275
280
  export default function bizarExtension(pi) {
276
281
  pi.setLabel?.("Bizar Orchestrator");
277
282
  let binding;
@@ -284,7 +289,6 @@ export default function bizarExtension(pi) {
284
289
  binding = undefined;
285
290
  try {
286
291
  ensureBizarModelRoles(pi);
287
- ensureBizarAutonomousSettings(pi);
288
292
  }
289
293
  catch (error) {
290
294
  ctx.ui?.notify(`Bizar could not apply its OMP settings; continuing without the failed setting update. ${error instanceof Error ? error.message : String(error)}`, "warning");
@@ -292,14 +296,13 @@ export default function bizarExtension(pi) {
292
296
  });
293
297
  pi.on("session_before_switch", async () => { binding = undefined; });
294
298
  pi.on("session_shutdown", async () => { binding = undefined; });
295
- pi.on("before_agent_start", event => {
296
- const systemPrompt = paramsOf(event).systemPrompt;
297
- return { systemPrompt: [...(Array.isArray(systemPrompt) ? systemPrompt.map(String) : []), MAIN_CONTEXT_GUIDANCE] };
298
- });
299
+ pi.on("before_agent_start", event => ({
300
+ systemPrompt: appendMainContextGuidance(paramsOf(event).systemPrompt),
301
+ }));
299
302
  pi.registerTool({
300
303
  name: "bizar_workflow", label: "Bizar Workflow", description: "Create, inspect, and advance a typed Bizar workflow; transitions are journaled and revision checked.",
301
304
  parameters: pi.zod.object({
302
- action: pi.zod.enum(["start", "status", "transition", "add-work", "accept-work", "complete", "cancel", "next"]),
305
+ action: pi.zod.enum(["start", "status", "transition", "add-work", "accept-work", "complete", "cancel", "next", "amend-objective"]),
303
306
  objective: pi.zod.union([pi.zod.string(), objectiveSchema(pi.zod)]).optional(),
304
307
  to: pi.zod.string().optional(),
305
308
  reason: pi.zod.string().optional(),
@@ -307,6 +310,7 @@ export default function bizarExtension(pi) {
307
310
  workItemId: pi.zod.string().optional(),
308
311
  evidenceIds: pi.zod.array(pi.zod.string()).optional(),
309
312
  requiredChecks: pi.zod.array(pi.zod.string()).optional(),
313
+ by: pi.zod.enum(["criterion", "check-spec"]).optional(),
310
314
  }),
311
315
  async execute(_id, raw, _signal, _onUpdate, ctx) {
312
316
  try {
@@ -348,6 +352,28 @@ export default function bizarExtension(pi) {
348
352
  }
349
353
  },
350
354
  });
355
+ pi.registerTool({
356
+ name: "bizar_candidate_verify", label: "Bizar Candidate Verify", description: "Materialize an exact candidate patch in a disposable workspace, run a frozen CheckSpec there, and record candidate-bound evidence.",
357
+ parameters: pi.zod.object({
358
+ checkId: pi.zod.string(),
359
+ patch: pi.zod.string(),
360
+ spec: pi.zod.object({
361
+ id: pi.zod.string(), revision: pi.zod.number(), runner: pi.zod.enum(["argv", "shell", "native"]), executable: pi.zod.string().optional(), argumentTemplate: pi.zod.array(pi.zod.string()), cwdRule: pi.zod.enum(["repository-root", "candidate-workspace", "explicit-registered"]), inputDigests: pi.zod.record(pi.zod.string(), pi.zod.string()), environmentPolicy: pi.zod.string(), limits: pi.zod.object({ timeoutMs: pi.zod.number(), outputBytes: pi.zod.number() }), expected: pi.zod.enum(["zero-exit", "structured-pass", "operator-review"]), outputPolicy: pi.zod.enum(["sanitized-tail", "artifact-reference", "none"]), evaluatorHash: pi.zod.string().optional(),
362
+ }),
363
+ cwd: pi.zod.string().optional(), attemptGeneration: pi.zod.number().optional(),
364
+ }),
365
+ async execute(_id, raw, signal, _onUpdate, ctx) {
366
+ try {
367
+ const p = paramsOf(raw);
368
+ const rawSpec = paramsOf(p.spec);
369
+ const spec = freezeCheckSpec({ id: String(rawSpec.id), revision: Number(rawSpec.revision), runner: rawSpec.runner, executable: rawSpec.executable ? String(rawSpec.executable) : undefined, argumentTemplate: Array.isArray(rawSpec.argumentTemplate) ? rawSpec.argumentTemplate.map(String) : [], cwdRule: rawSpec.cwdRule, inputDigests: paramsOf(rawSpec.inputDigests), environmentPolicy: String(rawSpec.environmentPolicy), limits: { timeoutMs: Number(paramsOf(rawSpec.limits).timeoutMs), outputBytes: Number(paramsOf(rawSpec.limits).outputBytes) }, expected: rawSpec.expected, outputPolicy: rawSpec.outputPolicy, evaluatorHash: rawSpec.evaluatorHash ? String(rawSpec.evaluatorHash) : undefined });
370
+ return result(await runCandidateCheck(currentBinding(ctx), { checkId: String(p.checkId), patch: String(p.patch), spec, cwd: p.cwd ? String(p.cwd) : undefined, signal, attemptGeneration: p.attemptGeneration === undefined ? undefined : Number(p.attemptGeneration) }));
371
+ }
372
+ catch (error) {
373
+ return failure(error);
374
+ }
375
+ },
376
+ });
351
377
  pi.registerTool({
352
378
  name: "bizar_integrate", label: "Bizar Integrate", description: "Validate scope and fresh evidence, then record a serialized integration admission. Auto-application is never implicit.",
353
379
  parameters: pi.zod.object({
@@ -357,7 +383,7 @@ export default function bizarExtension(pi) {
357
383
  evidenceIds: pi.zod.array(pi.zod.string()),
358
384
  apply: pi.zod.boolean(),
359
385
  }),
360
- async execute(_id, raw, _signal, _onUpdate, ctx) {
386
+ async execute(_id, raw, signal, _onUpdate, ctx) {
361
387
  try {
362
388
  const active = currentBinding(ctx);
363
389
  const p = paramsOf(raw);
@@ -387,6 +413,7 @@ export default function bizarExtension(pi) {
387
413
  changedPaths: Array.isArray(p.changedPaths) ? p.changedPaths.map(String) : [],
388
414
  evidenceIds: Array.isArray(p.evidenceIds) ? p.evidenceIds.map(String) : [],
389
415
  apply,
416
+ signal,
390
417
  }));
391
418
  }
392
419
  catch (error) {