codex-orchestrator 2.0.10 → 2.0.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +26 -1
  3. package/dist/src/index.d.ts +3 -2
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1 -1
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +29 -16
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  9. package/dist/src/v2/acceptance-proof.js +159 -129
  10. package/dist/src/v2/acceptance-proof.js.map +1 -1
  11. package/dist/src/v2/adapters/command.d.ts +1 -0
  12. package/dist/src/v2/adapters/command.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/command.js +1 -1
  14. package/dist/src/v2/adapters/command.js.map +1 -1
  15. package/dist/src/v2/adapters/gh-pull-request-adapter.js +1 -0
  16. package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
  17. package/dist/src/v2/adapters/pull-requests.d.ts +1 -0
  18. package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
  19. package/dist/src/v2/adapters/pull-requests.js +1 -0
  20. package/dist/src/v2/adapters/pull-requests.js.map +1 -1
  21. package/dist/src/v2/adapters/worktree.js +3 -3
  22. package/dist/src/v2/adapters/worktree.js.map +1 -1
  23. package/dist/src/v2/atomic-store.d.ts +15 -0
  24. package/dist/src/v2/atomic-store.d.ts.map +1 -1
  25. package/dist/src/v2/atomic-store.js +55 -8
  26. package/dist/src/v2/atomic-store.js.map +1 -1
  27. package/dist/src/v2/candidate.d.ts +152 -0
  28. package/dist/src/v2/candidate.d.ts.map +1 -0
  29. package/dist/src/v2/candidate.js +129 -0
  30. package/dist/src/v2/candidate.js.map +1 -0
  31. package/dist/src/v2/checked-change.d.ts +37 -6
  32. package/dist/src/v2/checked-change.d.ts.map +1 -1
  33. package/dist/src/v2/checked-change.js +71 -0
  34. package/dist/src/v2/checked-change.js.map +1 -1
  35. package/dist/src/v2/cli.d.ts +6 -0
  36. package/dist/src/v2/cli.d.ts.map +1 -1
  37. package/dist/src/v2/cli.js +57 -21
  38. package/dist/src/v2/cli.js.map +1 -1
  39. package/dist/src/v2/codex-process.d.ts +1 -0
  40. package/dist/src/v2/codex-process.d.ts.map +1 -1
  41. package/dist/src/v2/codex-process.js +12 -1
  42. package/dist/src/v2/codex-process.js.map +1 -1
  43. package/dist/src/v2/contained-report-operation.d.ts +196 -30
  44. package/dist/src/v2/contained-report-operation.d.ts.map +1 -1
  45. package/dist/src/v2/contained-report-operation.js +464 -150
  46. package/dist/src/v2/contained-report-operation.js.map +1 -1
  47. package/dist/src/v2/direct-delivery.d.ts +10 -28
  48. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  49. package/dist/src/v2/direct-delivery.js +44 -114
  50. package/dist/src/v2/direct-delivery.js.map +1 -1
  51. package/dist/src/v2/implementation-reviewer.d.ts +4 -24
  52. package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
  53. package/dist/src/v2/implementation-reviewer.js +29 -35
  54. package/dist/src/v2/implementation-reviewer.js.map +1 -1
  55. package/dist/src/v2/owner-control-lock.d.ts +13 -1
  56. package/dist/src/v2/owner-control-lock.d.ts.map +1 -1
  57. package/dist/src/v2/owner-control-lock.js +66 -7
  58. package/dist/src/v2/owner-control-lock.js.map +1 -1
  59. package/dist/src/v2/proof-report.d.ts +2 -1
  60. package/dist/src/v2/proof-report.d.ts.map +1 -1
  61. package/dist/src/v2/proof-report.js +6 -40
  62. package/dist/src/v2/proof-report.js.map +1 -1
  63. package/dist/src/v2/proof-store.d.ts +19 -7
  64. package/dist/src/v2/proof-store.d.ts.map +1 -1
  65. package/dist/src/v2/proof-store.js +162 -41
  66. package/dist/src/v2/proof-store.js.map +1 -1
  67. package/dist/src/v2/review-feedback-coordinator.d.ts +7 -1
  68. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -1
  69. package/dist/src/v2/review-feedback-coordinator.js +97 -70
  70. package/dist/src/v2/review-feedback-coordinator.js.map +1 -1
  71. package/dist/src/v2/review-feedback.d.ts +0 -18
  72. package/dist/src/v2/review-feedback.d.ts.map +1 -1
  73. package/dist/src/v2/review-feedback.js +9 -34
  74. package/dist/src/v2/review-feedback.js.map +1 -1
  75. package/dist/src/v2/route-coordinator.d.ts +7 -12
  76. package/dist/src/v2/route-coordinator.d.ts.map +1 -1
  77. package/dist/src/v2/route-coordinator.js +33 -128
  78. package/dist/src/v2/route-coordinator.js.map +1 -1
  79. package/dist/src/v2/route-decision.d.ts +0 -9
  80. package/dist/src/v2/route-decision.d.ts.map +1 -1
  81. package/dist/src/v2/route-decision.js +7 -27
  82. package/dist/src/v2/route-decision.js.map +1 -1
  83. package/dist/src/v2/run-issue.d.ts +64 -26
  84. package/dist/src/v2/run-issue.d.ts.map +1 -1
  85. package/dist/src/v2/run-issue.js +1298 -620
  86. package/dist/src/v2/run-issue.js.map +1 -1
  87. package/dist/src/v2/run-store.d.ts +39 -25
  88. package/dist/src/v2/run-store.d.ts.map +1 -1
  89. package/dist/src/v2/run-store.js +469 -88
  90. package/dist/src/v2/run-store.js.map +1 -1
  91. package/dist/src/v2/runtime.d.ts +61 -36
  92. package/dist/src/v2/runtime.d.ts.map +1 -1
  93. package/dist/src/v2/runtime.js +992 -402
  94. package/dist/src/v2/runtime.js.map +1 -1
  95. package/dist/src/v2/spec-coordinator.d.ts +16 -28
  96. package/dist/src/v2/spec-coordinator.d.ts.map +1 -1
  97. package/dist/src/v2/spec-coordinator.js +81 -43
  98. package/dist/src/v2/spec-coordinator.js.map +1 -1
  99. package/dist/src/v2/spec-delivery.d.ts +3 -34
  100. package/dist/src/v2/spec-delivery.d.ts.map +1 -1
  101. package/dist/src/v2/spec-delivery.js +42 -107
  102. package/dist/src/v2/spec-delivery.js.map +1 -1
  103. package/docs/deep-dive.md +52 -14
  104. package/internal-workflow/evals/coding-skill-evals.json +58 -17
  105. package/internal-workflow/manifest.json +1 -1
  106. package/internal-workflow/schemas/proof-report-v1.json +1 -1
  107. package/internal-workflow/skills/code-review/SKILL.md +18 -0
  108. package/internal-workflow/skills/spec-implementer/SKILL.md +8 -1
  109. package/package.json +1 -1
@@ -1,15 +1,6 @@
1
- import type { ContainedReportOperation, ReportOnlyWorktreeSnapshot } from './contained-report-operation.js';
2
- import type { CodeReviewDefectV1, CodeReviewReportV1, ReviewMode, ReviewOperation } from './code-review-report.js';
1
+ import type { ContainedReportOperation, DurableReportInvocationState } from './contained-report-operation.js';
2
+ import { type CodeReviewDefectV1, type CodeReviewReportV1, type ReviewMode, type ReviewOperation } from './code-review-report.js';
3
3
  import type { WorkflowGenerationReceipt } from './workflow-assets.js';
4
- export interface ImplementationReviewInvocation {
5
- attemptId: string;
6
- operation: ReviewOperation;
7
- mode: ReviewMode;
8
- reviewerSessionId: string;
9
- targetRevision: number;
10
- targetFingerprint: string;
11
- closureRequestSha256: string | null;
12
- }
13
4
  export interface ImplementationReviewerInput {
14
5
  runId: string;
15
6
  worktreePath: string;
@@ -36,11 +27,7 @@ export interface ImplementationReviewerInput {
36
27
  validationDiagnostic: string | null;
37
28
  originalReportBytes: Buffer | null;
38
29
  signal: AbortSignal;
39
- onPrepared(invocation: ImplementationReviewInvocation): Promise<void>;
40
- onLaunched(invocation: ImplementationReviewInvocation & {
41
- pid: number;
42
- processGroupId: number;
43
- }): Promise<void>;
30
+ invocationState: DurableReportInvocationState;
44
31
  }
45
32
  export type ImplementationReviewerResult = {
46
33
  kind: 'completed';
@@ -57,13 +44,7 @@ export type ImplementationReviewerResult = {
57
44
  originalReportBytes: Buffer;
58
45
  } | {
59
46
  kind: 'safe-halt';
60
- process: {
61
- pid: number;
62
- processGroupId: number;
63
- startedAt: string;
64
- baseline: ReportOnlyWorktreeSnapshot;
65
- };
66
- waitForAbsence(): Promise<void>;
47
+ code: string;
67
48
  } | {
68
49
  kind: 'cancelled';
69
50
  } | {
@@ -74,7 +55,6 @@ export declare class ContainedImplementationReviewer {
74
55
  private readonly dependencies;
75
56
  constructor(dependencies: {
76
57
  operation: ContainedReportOperation;
77
- createAttemptId?: () => string;
78
58
  });
79
59
  run(input: ImplementationReviewerInput): Promise<ImplementationReviewerResult>;
80
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"implementation-reviewer.d.ts","sourceRoot":"","sources":["../../../src/v2/implementation-reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation-reviewer.d.ts","sourceRoot":"","sources":["../../../src/v2/implementation-reviewer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAkC,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC9I,OAAO,EAAkD,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAElL,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,4BAA4B,CAAC;CAC/C;AAED,MAAM,MAAM,4BAA4B,GACpC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,qBAAa,+BAA+B;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE;QAAE,SAAS,EAAE,wBAAwB,CAAA;KAAE;IAE5E,GAAG,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC;CAqCrF"}
@@ -1,5 +1,7 @@
1
- import { createHash, randomUUID } from 'node:crypto';
1
+ import { createHash } from 'node:crypto';
2
2
  import { canonicalJson, containsCredentialEvidence } from './containment.js';
3
+ import { hashCodeReviewReport, validateCodeReviewReport } from './code-review-report.js';
4
+ import { decodeAgentReportForValidation } from './report-envelope.js';
3
5
  const SHA256 = /^[0-9a-f]{64}$/u;
4
6
  const MAX_CAPSULE_BYTES = 1024 * 1024;
5
7
  export class ContainedImplementationReviewer {
@@ -8,14 +10,11 @@ export class ContainedImplementationReviewer {
8
10
  this.dependencies = dependencies;
9
11
  }
10
12
  async run(input) {
11
- let attemptId;
12
13
  let promptFacts;
13
14
  try {
14
- attemptId = (this.dependencies.createAttemptId ?? randomUUID)();
15
- assertText(attemptId, 'review attempt ID');
16
15
  assertText(input.reviewerSessionId, 'reviewer session ID');
17
16
  assertText(input.implementationAttemptId, 'implementation attempt ID');
18
- if (attemptId === input.implementationAttemptId || input.reviewerSessionId === input.implementationAttemptId) {
17
+ if (input.reviewerSessionId === input.implementationAttemptId) {
19
18
  throw new Error('reviewer identity is not independent');
20
19
  }
21
20
  assertPositiveInteger(input.targetRevision, 'target revision');
@@ -32,35 +31,23 @@ export class ContainedImplementationReviewer {
32
31
  code: safeCode(error, input.repairOnly ? 'review-report-repair-input-invalid' : 'review-input-invalid'),
33
32
  };
34
33
  }
35
- const invocation = {
36
- attemptId, operation: input.operation, mode: input.mode, reviewerSessionId: input.reviewerSessionId,
37
- targetRevision: input.targetRevision, targetFingerprint: input.targetFingerprint,
38
- closureRequestSha256: input.closureRequestSha256,
39
- };
40
34
  let result;
41
35
  try {
42
36
  result = await this.dependencies.operation.run({
43
37
  operation: input.operation,
44
- attemptId,
45
38
  runId: input.runId,
46
39
  worktreePath: input.worktreePath,
47
40
  workflowGeneration: structuredClone(input.workflowGeneration),
48
41
  promptFacts,
49
42
  signal: input.signal,
50
- reviewContext: {
51
- operation: input.operation, mode: input.mode, targetRevision: input.targetRevision,
52
- targetFingerprint: input.targetFingerprint, reviewerSessionId: input.reviewerSessionId,
53
- closureRequestSha256: input.closureRequestSha256,
54
- fixedRepairFindingIds: input.fixedRepairFindings.map((finding) => finding.id).sort(),
55
- },
56
- onPrepared: () => input.onPrepared(structuredClone(invocation)),
57
- onLaunched: ({ pid, processGroupId }) => input.onLaunched({ ...structuredClone(invocation), pid, processGroupId }),
43
+ invocationState: input.invocationState,
44
+ forbiddenAttemptIds: [input.implementationAttemptId, input.reviewerSessionId],
58
45
  });
59
46
  }
60
47
  catch {
61
48
  return { kind: 'internal-error', code: 'review-operation-threw' };
62
49
  }
63
- return mapResult(result);
50
+ return mapResult(result, input);
64
51
  }
65
52
  }
66
53
  function buildCapsule(input) {
@@ -103,26 +90,33 @@ function rejectUnexpectedRepairInput(hash, diagnostic, bytes) {
103
90
  throw new Error('Full/Closure review cannot carry report repair bytes');
104
91
  return null;
105
92
  }
106
- function mapResult(result) {
107
- if (result.status === 'completed')
108
- return {
109
- kind: 'completed', attemptId: result.attemptId, report: result.validatedPayload,
110
- artifactSha256: result.artifactSha256,
111
- };
93
+ function mapResult(result, input) {
94
+ if (result.status === 'completed') {
95
+ try {
96
+ const report = validateCodeReviewReport(decodeAgentReportForValidation(result.reportBytes), {
97
+ operation: input.operation, mode: input.mode, targetRevision: input.targetRevision,
98
+ targetFingerprint: input.targetFingerprint, reviewerSessionId: input.reviewerSessionId,
99
+ closureRequestSha256: input.closureRequestSha256,
100
+ fixedRepairFindingIds: input.fixedRepairFindings.map((finding) => finding.id).sort(),
101
+ });
102
+ return { kind: 'completed', attemptId: result.attemptId, report, artifactSha256: hashCodeReviewReport(report) };
103
+ }
104
+ catch (error) {
105
+ const text = result.reportBytes.toString('utf8');
106
+ if (!Buffer.from(text, 'utf8').equals(result.reportBytes) || containsCredentialEvidence(text)) {
107
+ return { kind: 'internal-error', code: 'review-report-invalid' };
108
+ }
109
+ return { kind: 'report-invalid', diagnostic: error instanceof Error ? error.message : 'review report invalid',
110
+ originalReportSha256: result.reportSha256, originalReportBytes: Buffer.from(result.reportBytes) };
111
+ }
112
+ }
112
113
  if (result.status === 'retryable')
113
114
  return { kind: 'transport-failed', resumable: true };
114
115
  if (result.status === 'safe-halt')
115
- return { kind: 'safe-halt', process: result.process, waitForAbsence: result.waitForAbsence };
116
+ return { kind: 'safe-halt', code: result.code };
116
117
  if (result.status === 'cancelled')
117
118
  return { kind: 'cancelled' };
118
- if (result.status === 'invalid' && result.repairInput)
119
- return {
120
- kind: 'report-invalid',
121
- diagnostic: result.findings[0] ?? 'review report is invalid',
122
- originalReportSha256: result.repairInput.originalReportSha256,
123
- originalReportBytes: Buffer.from(result.repairInput.originalReportBytes),
124
- };
125
- return { kind: 'internal-error', code: result.status === 'invalid' ? 'review-report-invalid' : result.code };
119
+ return { kind: 'internal-error', code: result.code };
126
120
  }
127
121
  function sortedUnique(value, field) {
128
122
  if (!Array.isArray(value) || value.length > 256 || value.some((item) => typeof item !== 'string' || item.length === 0))
@@ -1 +1 @@
1
- {"version":3,"file":"implementation-reviewer.js","sourceRoot":"","sources":["../../../src/v2/implementation-reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation-reviewer.js","sourceRoot":"","sources":["../../../src/v2/implementation-reviewer.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ interface OwnerControlRecordV1 {
5
5
  host: string;
6
6
  bootId: string;
7
7
  pid: number;
8
+ processStartIdentity: string;
8
9
  acquiredAt: string;
9
10
  }
10
11
  export declare function inspectOwnerControlLock(input: {
@@ -13,8 +14,9 @@ export declare function inspectOwnerControlLock(input: {
13
14
  bootId: string;
14
15
  host: string;
15
16
  processAlive(pid: number): boolean;
17
+ inspectProcessIdentity?(pid: number): Promise<ProcessIdentityInspection>;
16
18
  }): Promise<{
17
- status: 'absent' | 'active' | 'ambiguous';
19
+ status: 'absent' | 'inactive' | 'active' | 'ambiguous';
18
20
  reason?: string;
19
21
  }>;
20
22
  export declare class OwnerControlLockBlockedError extends Error {
@@ -30,6 +32,8 @@ export interface OwnerControlLockInput {
30
32
  now(): string;
31
33
  createToken(): string;
32
34
  processAlive(pid: number): boolean;
35
+ processStartIdentity?: string;
36
+ inspectProcessIdentity?: (pid: number) => Promise<ProcessIdentityInspection>;
33
37
  waitMs?: number;
34
38
  pollMs?: number;
35
39
  afterObservedOwner?(owner: Readonly<OwnerControlRecordV1>): Promise<void>;
@@ -37,5 +41,13 @@ export interface OwnerControlLockInput {
37
41
  export declare function acquireOwnerControlLock(input: OwnerControlLockInput): Promise<{
38
42
  release(): Promise<void>;
39
43
  }>;
44
+ type ProcessIdentityInspection = {
45
+ status: 'present';
46
+ processStartIdentity: string;
47
+ } | {
48
+ status: 'absent';
49
+ } | {
50
+ status: 'unknown';
51
+ };
40
52
  export {};
41
53
  //# sourceMappingURL=owner-control-lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-control-lock.d.ts","sourceRoot":"","sources":["../../../src/v2/owner-control-lock.ts"],"names":[],"mappings":"AAQA,UAAU,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB1E;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACY,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ;gBAAhG,OAAO,SAA4C,EAAW,IAAI,GAAE,iBAAiB,GAAG,QAAmB;CAIxH;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAyCjH"}
1
+ {"version":3,"file":"owner-control-lock.d.ts","sourceRoot":"","sources":["../../../src/v2/owner-control-lock.ts"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,sBAAsB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC1E,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BvF;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACY,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,QAAQ;gBAAhG,OAAO,SAA4C,EAAW,IAAI,GAAE,iBAAiB,GAAG,QAAmB;CAIxH;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,IAAI,MAAM,CAAC;IACtB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAgDjH;AAwDD,KAAK,yBAAyB,GAC1B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC"}
@@ -1,5 +1,6 @@
1
- import { spawn } from 'node:child_process';
2
- import { lstat, mkdir } from 'node:fs/promises';
1
+ import { execFile, spawn } from 'node:child_process';
2
+ import { lstat, mkdir, readFile } from 'node:fs/promises';
3
+ import { platform } from 'node:os';
3
4
  import { join } from 'node:path';
4
5
  import { canonicalJson, sha256 } from './containment.js';
5
6
  const ZERO_OID = '0'.repeat(40);
@@ -35,9 +36,18 @@ export async function inspectOwnerControlLock(input) {
35
36
  if (owner.canonicalRepository !== input.canonicalRepository || owner.host !== input.host || owner.bootId !== input.bootId) {
36
37
  return { status: 'ambiguous', reason: 'Owner control identity is foreign or stale.' };
37
38
  }
38
- return input.processAlive(owner.pid)
39
+ let observation;
40
+ try {
41
+ observation = await (input.inspectProcessIdentity ?? inspectProcessIdentity)(owner.pid);
42
+ }
43
+ catch {
44
+ return { status: 'ambiguous', reason: 'Owner control process identity is unavailable.' };
45
+ }
46
+ if (observation.status === 'unknown')
47
+ return { status: 'ambiguous', reason: 'Owner control process identity is unavailable.' };
48
+ return observation.status === 'present' && observation.processStartIdentity === owner.processStartIdentity
39
49
  ? { status: 'active' }
40
- : { status: 'ambiguous', reason: 'Owner control record has ambiguous liveness.' };
50
+ : { status: 'inactive' };
41
51
  }
42
52
  export class OwnerControlLockBlockedError extends Error {
43
53
  kind;
@@ -57,6 +67,9 @@ export async function acquireOwnerControlLock(input) {
57
67
  if (initialized.code !== 0)
58
68
  throw new OwnerControlLockBlockedError('owner control store initialization failed');
59
69
  const ref = `refs/codex-orchestrator/owners/${sha256(input.canonicalRepository)}`;
70
+ const processStartIdentity = input.processStartIdentity ?? await readProcessStartIdentity(input.pid);
71
+ if (!processStartIdentity)
72
+ throw new OwnerControlLockBlockedError('owner process identity is unavailable');
60
73
  const owner = {
61
74
  version: 1,
62
75
  token: input.createToken(),
@@ -64,6 +77,7 @@ export async function acquireOwnerControlLock(input) {
64
77
  host: input.host,
65
78
  bootId: input.bootId,
66
79
  pid: input.pid,
80
+ processStartIdentity,
67
81
  acquiredAt: input.now(),
68
82
  };
69
83
  const blob = await writeBlob(controlGitDir, owner);
@@ -82,7 +96,16 @@ export async function acquireOwnerControlLock(input) {
82
96
  || observed.bootId !== input.bootId) {
83
97
  throw new OwnerControlLockBlockedError();
84
98
  }
85
- if (input.processAlive(observed.pid)) {
99
+ let observation;
100
+ try {
101
+ observation = await (input.inspectProcessIdentity ?? inspectProcessIdentity)(observed.pid);
102
+ }
103
+ catch {
104
+ throw new OwnerControlLockBlockedError('owner process identity is unavailable');
105
+ }
106
+ if (observation.status === 'unknown')
107
+ throw new OwnerControlLockBlockedError('owner process identity is unavailable');
108
+ if (observation.status === 'present' && observation.processStartIdentity === observed.processStartIdentity) {
86
109
  if (Date.now() - startedAt >= (input.waitMs ?? 5_000))
87
110
  throw new OwnerControlLockBlockedError('owner control lock wait timed out', 'live-contention');
88
111
  await delay(input.pollMs ?? 25);
@@ -140,18 +163,54 @@ function parseOwner(value) {
140
163
  if (typeof value !== 'object' || value === null || Array.isArray(value))
141
164
  throw new Error('owner control record is invalid');
142
165
  const keys = Object.keys(value).sort();
143
- const expected = ['version', 'token', 'canonicalRepository', 'host', 'bootId', 'pid', 'acquiredAt'].sort();
166
+ const expected = ['version', 'token', 'canonicalRepository', 'host', 'bootId', 'pid', 'processStartIdentity', 'acquiredAt'].sort();
144
167
  if (keys.length !== expected.length || keys.some((key, index) => key !== expected[index]))
145
168
  throw new Error('owner control record keys are invalid');
146
169
  const owner = value;
147
170
  validateRepository(owner.canonicalRepository);
148
171
  if (owner.version !== 1 || !owner.token || !owner.host || !owner.bootId
149
- || !Number.isSafeInteger(owner.pid) || owner.pid <= 0
172
+ || !Number.isSafeInteger(owner.pid) || owner.pid <= 0 || !owner.processStartIdentity
150
173
  || Number.isNaN(Date.parse(owner.acquiredAt)) || new Date(owner.acquiredAt).toISOString() !== owner.acquiredAt) {
151
174
  throw new Error('owner control record fields are invalid');
152
175
  }
153
176
  return owner;
154
177
  }
178
+ async function inspectProcessIdentity(pid) {
179
+ const identity = await readProcessStartIdentity(pid);
180
+ if (identity)
181
+ return { status: 'present', processStartIdentity: identity };
182
+ try {
183
+ process.kill(pid, 0);
184
+ return { status: 'unknown' };
185
+ }
186
+ catch (error) {
187
+ return isErrorCode(error, 'ESRCH') ? { status: 'absent' } : { status: 'unknown' };
188
+ }
189
+ }
190
+ async function readProcessStartIdentity(pid) {
191
+ if (!Number.isSafeInteger(pid) || pid <= 0)
192
+ return undefined;
193
+ if (platform() === 'linux') {
194
+ try {
195
+ const text = await readFile(`/proc/${pid}/stat`, 'utf8');
196
+ const close = text.lastIndexOf(') ');
197
+ const fields = close < 0 ? [] : text.slice(close + 2).trim().split(/\s+/u);
198
+ return fields[19] ? `linux:${fields[19]}` : undefined;
199
+ }
200
+ catch {
201
+ return undefined;
202
+ }
203
+ }
204
+ return await new Promise((resolveIdentity) => {
205
+ execFile('/bin/ps', ['-o', 'lstart=', '-p', String(pid)], { encoding: 'utf8' }, (error, stdout) => {
206
+ const value = error ? '' : stdout.trim().replace(/\s+/gu, ' ');
207
+ resolveIdentity(value ? `${platform()}:${value}` : undefined);
208
+ });
209
+ });
210
+ }
211
+ function isErrorCode(error, code) {
212
+ return typeof error === 'object' && error !== null && error.code === code;
213
+ }
155
214
  function validateRepository(value) {
156
215
  if (!/^[a-z0-9._-]+\/[a-z0-9._-]+$/u.test(value))
157
216
  throw new OwnerControlLockBlockedError('canonical repository is invalid');
@@ -1 +1 @@
1
- {"version":3,"file":"owner-control-lock.js","sourceRoot":"","sources":["../../../src/v2/owner-control-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-control-lock.js","sourceRoot":"","sources":["../../../src/v2/owner-control-lock.ts"],"names":[],"mappings":"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"}
@@ -103,13 +103,14 @@ export interface ProofReceipt {
103
103
  }>;
104
104
  localEvidenceId: string;
105
105
  }
106
- export declare function validateProofReport(value: unknown): ProofReportV1;
106
+ export declare function validateProofReport(value: unknown, trustedCheckIds?: string[]): ProofReportV1;
107
107
  export declare function createProofReceipt(input: {
108
108
  proofId: string;
109
109
  bindingSha256: string;
110
110
  summary: string;
111
111
  localEvidenceId: string;
112
112
  report: ProofReportV1;
113
+ trustedCheckIds?: string[];
113
114
  }): ProofReceipt;
114
115
  export declare function proofReportOutputSchema(): Record<string, unknown>;
115
116
  export declare function proofReportRepairDiagnostic(error: unknown): string;
@@ -1 +1 @@
1
- {"version":3,"file":"proof-report.d.ts","sourceRoot":"","sources":["../../../src/v2/proof-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proof-report.d.ts","sourceRoot":"","sources":["../../../src/v2/proof-report.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const ARTIFACT_KINDS = [
11
11
  'command-output', 'static-inspection', 'generated-file', 'screenshot',
12
12
  'dom-snapshot', 'console-log', 'network-log', 'ui-hierarchy', 'device-log', 'lease-record',
13
13
  ];
14
- export function validateProofReport(value) {
14
+ export function validateProofReport(value, trustedCheckIds = []) {
15
15
  assertRecord(value, 'proof report');
16
16
  const commonKeys = ['version', 'status', 'decision', 'criteria', 'checks', 'artifacts', 'findings', 'residualRisks'];
17
17
  const visualReport = value.status !== 'external-block' && isRecord(value.decision) && value.decision.mode === 'visual';
@@ -28,7 +28,8 @@ export function validateProofReport(value) {
28
28
  throw new Error('proof report.version must be 1');
29
29
  validateDecision(value.decision);
30
30
  validateCriteria(value.criteria, value.status);
31
- validateChecks(value.checks, value.status);
31
+ if (!Array.isArray(value.checks) || value.checks.length !== 0)
32
+ throw new Error('proof report cannot claim runner-owned checks');
32
33
  validateArtifacts(value.artifacts);
33
34
  assertStringArray(value.findings, 'proof report.findings');
34
35
  assertStringArray(value.residualRisks, 'proof report.residualRisks');
@@ -58,7 +59,7 @@ export function validateProofReport(value) {
58
59
  validateVisualEvidence(value.visualEvidence, criteria, value.artifacts, decision);
59
60
  }
60
61
  const evidenceIds = new Set([
61
- ...value.checks.map((check) => check.id),
62
+ ...trustedCheckIds,
62
63
  ...value.artifacts.map((artifact) => artifact.id),
63
64
  ]);
64
65
  for (const criterion of criteria) {
@@ -77,7 +78,7 @@ export function createProofReceipt(input) {
77
78
  assertSha256(input.bindingSha256, 'bindingSha256');
78
79
  assertBoundedString(input.summary, 'summary', MAX_SUMMARY_LENGTH, true);
79
80
  assertBoundedString(input.localEvidenceId, 'localEvidenceId', MAX_STRING_LENGTH, true);
80
- const report = validateProofReport(input.report);
81
+ const report = validateProofReport(input.report, input.trustedCheckIds);
81
82
  return {
82
83
  proofId: input.proofId,
83
84
  bindingSha256: input.bindingSha256,
@@ -117,7 +118,7 @@ function proofReportGenerationBranch(passed) {
117
118
  type: 'array', minItems: 1, maxItems: MAX_ARRAY_LENGTH,
118
119
  items: criterionSchema(passed, SURFACES),
119
120
  },
120
- checks: { type: 'array', maxItems: MAX_ARRAY_LENGTH, items: checkSchema(passed) },
121
+ checks: { type: 'array', maxItems: 0, items: { type: 'string' } },
121
122
  artifacts: { type: 'array', maxItems: MAX_ARRAY_LENGTH, items: artifactSchema() },
122
123
  visualEvidence: {
123
124
  anyOf: [
@@ -218,22 +219,6 @@ function criterionSchema(passed, surfaces) {
218
219
  },
219
220
  };
220
221
  }
221
- function checkSchema(passed) {
222
- return {
223
- type: 'object',
224
- additionalProperties: false,
225
- required: ['id', 'command', 'status', 'summary', 'outputSha256'],
226
- properties: {
227
- id: boundedStringSchema(MAX_STRING_LENGTH),
228
- command: boundedStringSchema(MAX_STRING_LENGTH),
229
- status: passed
230
- ? { type: 'string', enum: ['passed', 'unchanged-failure'] }
231
- : { type: 'string', enum: ['passed', 'failed', 'unchanged-failure'] },
232
- summary: boundedStringSchema(MAX_SUMMARY_LENGTH),
233
- outputSha256: sha256Schema(),
234
- },
235
- };
236
- }
237
222
  function artifactSchema() {
238
223
  return {
239
224
  anyOf: [
@@ -414,25 +399,6 @@ function validateCriteria(value, reportStatus) {
414
399
  }
415
400
  assertUnique(ids, 'proof report.criteria ids');
416
401
  }
417
- function validateChecks(value, reportStatus) {
418
- if (!Array.isArray(value) || value.length > MAX_ARRAY_LENGTH)
419
- throw new Error('proof report.checks must contain at most 256 entries');
420
- const ids = [];
421
- for (const [index, check] of value.entries()) {
422
- const field = `proof report.checks[${index}]`;
423
- assertExactObject(check, ['id', 'command', 'status', 'summary', 'outputSha256'], field);
424
- assertBoundedString(check.id, `${field}.id`, MAX_STRING_LENGTH, true);
425
- assertBoundedString(check.command, `${field}.command`, MAX_STRING_LENGTH, true);
426
- if (!['passed', 'failed', 'unchanged-failure'].includes(check.status))
427
- throw new Error(`${field}.status is invalid`);
428
- if (reportStatus === 'passed' && check.status === 'failed')
429
- throw new Error('passed proof forbids task-introduced failed checks');
430
- assertBoundedString(check.summary, `${field}.summary`, MAX_SUMMARY_LENGTH, true);
431
- assertSha256(check.outputSha256, `${field}.outputSha256`);
432
- ids.push(check.id);
433
- }
434
- assertUnique(ids, 'proof report.check ids');
435
- }
436
402
  function validateArtifacts(value) {
437
403
  if (!Array.isArray(value) || value.length > MAX_ARRAY_LENGTH)
438
404
  throw new Error('proof report.artifacts must contain at most 256 entries');