@straiffi/archon 1.8.20 → 1.8.21

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 (137) hide show
  1. package/dist/client/assets/{ActivityView-DDE3U1zB.js → ActivityView-BcguXTZ5.js} +1 -1
  2. package/dist/client/assets/GitHubActionsDialog-BGecTzoq.js +1 -0
  3. package/dist/client/assets/VerificationDialog-D4QkMLZr.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-oPUmRpZr.js → architectureDiagram-3BPJPVTR-DnC7Twj0.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-0sq1jkkp.js → blockDiagram-GPEHLZMM-D0VbjiKd.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-BeDxMy7J.js → c4Diagram-AAUBKEIU-CzQ3l15K.js} +1 -1
  7. package/dist/client/assets/channel-BwRO4uiw.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-D8VGsje2.js → chunk-2J33WTMH-B5UGiqLW.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-DuTUTeBe.js → chunk-3OPIFGDE-SCksTqtu.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-BzX5dPNW.js → chunk-5ZQYHXKU-IOkwLOtG.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-DS9putxN.js → chunk-727SXJPM-Do60Xs9p.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-CWzFZRBv.js → chunk-AQP2D5EJ-CuQT3imB.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-DXZ-ADYW.js → chunk-CSCIHK7Q-BkxMIESX.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-BD7mL3KK.js → chunk-KSCS5N6A-uUU3sWgR.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-DmYQi9AP.js → chunk-L5ZTLDWV-DLYccV6J.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-CZyFYHvS.js → chunk-LZXEDZCA-CgJFfCRZ.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-BxdjvT9I.js → chunk-ND2GUHAM-D7IQSQfK.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-BwuZcZ_9.js → chunk-NZK2D7GU-B4O6JWAo.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-CC-TZXr3.js → chunk-O5CBEL6O-DidlQEqb.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-CJZJkca2.js → chunk-WU5MYG2G-2-oq_Gue.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BIszcze-.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-D5dvxldS.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-D2L5RvPF.js → dagre-BM42HDAG-TubuN0hR.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DBJzxSqZ.js → diagram-2AECGRRQ-DNcUk6rV.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-J_1M-Wou.js → diagram-5GNKFQAL-B1sJn4w_.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-CmT1Vbmc.js → diagram-KO2AKTUF-CnW6ZuQe.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-DfPoJyQI.js → diagram-LMA3HP47-YHUmDzyS.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-D4uEb6vo.js → diagram-OG6HWLK6-BkOQphxq.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-l7yIFj0e.js → erDiagram-TEJ5UH35-oNMxAdxN.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-B3caTMes.js → flowDiagram-I6XJVG4X-ByuCV-Am.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-9Am36v9m.js → ganttDiagram-6RSMTGT7-CRkNH8Ft.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-B7OjYsv_.js → gitGraphDiagram-PVQCEYII-DRXzXjd8.js} +1 -1
  33. package/dist/client/assets/index-CYPgEn1h.css +2 -0
  34. package/dist/client/assets/index-Ck2OKMsl.js +276 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-ZAcNejkW.js → infoDiagram-5YYISTIA-CJ4-hWch.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BaaJwuN0.js → ishikawaDiagram-YF4QCWOH-CW1xqvim.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-DjzTU3kM.js → journeyDiagram-JHISSGLW-BVVFg8_h.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-DYRchzub.js → kanban-definition-UN3LZRKU-AcLZ63tA.js} +1 -1
  39. package/dist/client/assets/{line-X0j9gj61.js → line-CG_TG6Ci.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-DCKG87Vl.js → mermaid-parser.core-UDLSm_c3.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-BxI5T2gs.js → mermaid.core-IvBk22DF.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BE7MZzQO.js → mindmap-definition-RKZ34NQL-BflWNtnl.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-D3fTYovg.js → pieDiagram-4H26LBE5-Dm1iGMm7.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-B35nXRdQ.js → quadrantDiagram-W4KKPZXB-CM4zJd_R.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CLBcHvP0.js → requirementDiagram-4Y6WPE33-miuP86cp.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DdBCxGHF.js → sankeyDiagram-5OEKKPKP-zUcRagtr.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-KcLt0X1K.js → sequenceDiagram-3UESZ5HK-BRYqVpsT.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-Bq23ObLK.js → stateDiagram-AJRCARHV-DwcF0DJm.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DmICWsmn.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-SK3oVUD9.js → timeline-definition-PNZ67QCA-BzH929s_.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-COVtAlEC.js → vennDiagram-CIIHVFJN-BIq8rooy.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BvfOOwga.js → wardleyDiagram-YWT4CUSO-CyV_gL5J.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DFnAD9k4.js → xychartDiagram-2RQKCTM6-Dxo-U-qe.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +431 -1
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +77 -17
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +8 -4
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentProvider.js +8 -1
  62. package/dist/server/lib/agentProvider.js.map +1 -1
  63. package/dist/server/lib/automationProgression.js +44 -14
  64. package/dist/server/lib/automationProgression.js.map +1 -1
  65. package/dist/server/lib/buildCompletionContinuation.js +14 -3
  66. package/dist/server/lib/buildCompletionContinuation.js.map +1 -1
  67. package/dist/server/lib/buildExecutionEnvironment.js +226 -59
  68. package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
  69. package/dist/server/lib/buildOpenQuestionOperations.js +47 -3
  70. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -1
  71. package/dist/server/lib/buildSequences.js +267 -18
  72. package/dist/server/lib/buildSequences.js.map +1 -1
  73. package/dist/server/lib/buildSetupAuthority.js +138 -0
  74. package/dist/server/lib/buildSetupAuthority.js.map +1 -0
  75. package/dist/server/lib/bundleReviewOperations.js +15 -4
  76. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  77. package/dist/server/lib/dockerSandboxCredentials.js +64 -10
  78. package/dist/server/lib/dockerSandboxCredentials.js.map +1 -1
  79. package/dist/server/lib/dockerSandboxExecutionProvider.js +11 -2
  80. package/dist/server/lib/dockerSandboxExecutionProvider.js.map +1 -1
  81. package/dist/server/lib/executionCredentialCapabilities.js +106 -0
  82. package/dist/server/lib/executionCredentialCapabilities.js.map +1 -0
  83. package/dist/server/lib/executionEnvironment.js.map +1 -1
  84. package/dist/server/lib/executionEnvironmentContexts.js +55 -1
  85. package/dist/server/lib/executionEnvironmentContexts.js.map +1 -1
  86. package/dist/server/lib/executionEnvironmentRoutes.js +76 -5
  87. package/dist/server/lib/executionEnvironmentRoutes.js.map +1 -1
  88. package/dist/server/lib/executionEnvironmentValidation.js +116 -44
  89. package/dist/server/lib/executionEnvironmentValidation.js.map +1 -1
  90. package/dist/server/lib/executionEnvironmentValidationOperations.js +48 -8
  91. package/dist/server/lib/executionEnvironmentValidationOperations.js.map +1 -1
  92. package/dist/server/lib/executionEnvironments.js +92 -9
  93. package/dist/server/lib/executionEnvironments.js.map +1 -1
  94. package/dist/server/lib/executionProfileRoutes.js +67 -0
  95. package/dist/server/lib/executionProfileRoutes.js.map +1 -0
  96. package/dist/server/lib/executionProfileStore.js +108 -0
  97. package/dist/server/lib/executionProfileStore.js.map +1 -0
  98. package/dist/server/lib/executionProfiles.js +201 -0
  99. package/dist/server/lib/executionProfiles.js.map +1 -0
  100. package/dist/server/lib/executionReconciliation.js +151 -66
  101. package/dist/server/lib/executionReconciliation.js.map +1 -1
  102. package/dist/server/lib/executionRetry.js +24 -5
  103. package/dist/server/lib/executionRetry.js.map +1 -1
  104. package/dist/server/lib/executionRunAuthority.js +299 -0
  105. package/dist/server/lib/executionRunAuthority.js.map +1 -0
  106. package/dist/server/lib/executionRuns.js +4 -0
  107. package/dist/server/lib/executionRuns.js.map +1 -1
  108. package/dist/server/lib/git.js +25 -0
  109. package/dist/server/lib/git.js.map +1 -1
  110. package/dist/server/lib/hostExecutionEnvironment.js +7 -1
  111. package/dist/server/lib/hostExecutionEnvironment.js.map +1 -1
  112. package/dist/server/lib/projects.js +1 -0
  113. package/dist/server/lib/projects.js.map +1 -1
  114. package/dist/server/lib/run.js +58 -2
  115. package/dist/server/lib/run.js.map +1 -1
  116. package/dist/server/lib/ticketFollowUpOperations.js +32 -6
  117. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  118. package/dist/server/lib/transcriptRuns.js +3 -0
  119. package/dist/server/lib/transcriptRuns.js.map +1 -1
  120. package/dist/server/lib/types.js.map +1 -1
  121. package/dist/server/lib/workspaceProcessEnvironment.js +72 -1
  122. package/dist/server/lib/workspaceProcessEnvironment.js.map +1 -1
  123. package/dist/server/workers/build.js +214 -46
  124. package/dist/server/workers/build.js.map +1 -1
  125. package/dist/server/workers/followUp.js +74 -1
  126. package/dist/server/workers/followUp.js.map +1 -1
  127. package/dist/server/workers/review.js +15 -4
  128. package/dist/server/workers/review.js.map +1 -1
  129. package/package.json +1 -1
  130. package/dist/client/assets/GitHubActionsDialog-CM1z-amZ.js +0 -1
  131. package/dist/client/assets/VerificationDialog-oHjNllh6.js +0 -4
  132. package/dist/client/assets/channel-CF8hkOdu.js +0 -1
  133. package/dist/client/assets/classDiagram-4FO5ZUOK-D6FiG9_B.js +0 -1
  134. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bim05ijr.js +0 -1
  135. package/dist/client/assets/index-CsZfTdMO.css +0 -2
  136. package/dist/client/assets/index-DDefs3iM.js +0 -275
  137. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BLzZdVo0.js +0 -1
@@ -9,6 +9,9 @@ import { validateExecutionEnvironmentSkills } from './executionEnvironmentValida
9
9
  import { acquireExecutionEnvironmentLease, captureExecutionEnvironmentPlacement, getExecutionEnvironment, getExecutionEnvironmentBindingForRun, listExecutionEnvironments, releaseExecutionEnvironmentLease, transitionExecutionEnvironment, } from './executionEnvironments.js';
10
10
  import { hostExecutionEnvironment } from './hostExecutionEnvironment.js';
11
11
  import { getModelProvider, normalizeModelId } from './models.js';
12
+ import { createExecutionRunAuthority, persistExecutionRunAuthority, resolveExecutionRunProfile, } from './executionRunAuthority.js';
13
+ import { fingerprintCredentialRequirements } from './executionProfiles.js';
14
+ import { createDockerSandboxLauncherEnvironment, createGovernedHostRuntimeEnvironment, createHostLauncherEnvironment, createLegacyHostRuntimeEnvironment, createProviderManagedRuntimeEnvironment, } from './workspaceProcessEnvironment.js';
12
15
  export class BuildExecutionEnvironmentFailure extends Error {
13
16
  code;
14
17
  remediation;
@@ -26,7 +29,7 @@ const describePreparationFailure = (error) => {
26
29
  return '';
27
30
  };
28
31
  const getLatestValidation = (projectId, environmentId, agent, provider) => db.prepare(`
29
- SELECT run.status, run.domain_status, run.metadata_json
32
+ SELECT run.id, run.status, run.domain_status, run.metadata_json
30
33
  FROM execution_environment_run_bindings binding
31
34
  JOIN execution_runs run ON run.id = binding.execution_run_id AND run.project_id = binding.project_id
32
35
  WHERE binding.project_id = ? AND binding.environment_id = ?
@@ -82,7 +85,45 @@ const validationProvider = (row) => {
82
85
  return null;
83
86
  }
84
87
  };
85
- const findExecutionEnvironment = (project, agent, target, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint) => {
88
+ const getValidationCredentialCapability = (projectId, environmentId, validationRunId) => {
89
+ const row = db.prepare(`
90
+ SELECT metadata_json
91
+ FROM execution_environment_events
92
+ WHERE project_id = ? AND environment_id = ?
93
+ AND event_type = 'environment_validation_completed'
94
+ AND json_extract(metadata_json, '$.executionRunId') = ?
95
+ ORDER BY sequence DESC
96
+ LIMIT 1
97
+ `).get(projectId, environmentId, validationRunId);
98
+ try {
99
+ const metadata = row?.metadata_json ? JSON.parse(row.metadata_json) : null;
100
+ const validation = metadata?.validation && typeof metadata.validation === 'object'
101
+ ? metadata.validation
102
+ : null;
103
+ const agent = validation?.agent && typeof validation.agent === 'object'
104
+ ? validation.agent
105
+ : null;
106
+ const value = validation?.credentialCapability ?? agent?.credentialCapability;
107
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
108
+ return null;
109
+ }
110
+ const capability = value;
111
+ if ((capability.execution_provider !== 'host' && capability.execution_provider !== 'docker_sandbox')
112
+ || (capability.agent !== 'opencode' && capability.agent !== 'claude')
113
+ || capability.workload !== 'build'
114
+ || typeof capability.satisfies_requested_protection !== 'boolean'
115
+ || !capability.inventory
116
+ || !capability.destination
117
+ || typeof capability.classification !== 'string') {
118
+ return null;
119
+ }
120
+ return capability;
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ };
126
+ const findExecutionEnvironment = (project, agent, target, profileRevision, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint) => {
86
127
  const fingerprint = currentExecutionEnvironmentValidationFingerprint(agent);
87
128
  return listExecutionEnvironments(project.id).find(candidate => ((!pinnedEnvironmentId || candidate.id === pinnedEnvironmentId)
88
129
  && (pinnedEnvironmentRevision === undefined || candidate.environment_revision === pinnedEnvironmentRevision)
@@ -95,19 +136,24 @@ const findExecutionEnvironment = (project, agent, target, pinnedEnvironmentId, p
95
136
  && candidate.target_key === target.identity.key
96
137
  && candidate.target_workspace_path === target.workspacePath
97
138
  && candidate.environment_validation_fingerprint === fingerprint
139
+ && (candidate.execution_profile_fingerprint === profileRevision.fingerprint
140
+ || (profileRevision.revision === 0 && candidate.execution_profile_fingerprint == null))
141
+ && (candidate.credential_requirements_fingerprint === fingerprintCredentialRequirements(profileRevision.profile.credential_requirements)
142
+ || (profileRevision.revision === 0 && candidate.credential_requirements_fingerprint == null))
143
+ && candidate.retirement_requested_at == null
98
144
  && candidate.template_identity === QUALIFIED_DOCKER_SANDBOX_TEMPLATES[agent]
99
145
  && candidate.agent_identity === agent
100
146
  && candidate.compatible_agents.length === 1
101
147
  && candidate.compatible_agents[0] === agent
102
148
  && ['ready', 'running', 'stopped'].includes(candidate.lifecycle_state))) ?? null;
103
149
  };
104
- const resolveValidatedEnvironment = (project, agent, target, model, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint) => {
150
+ const resolveValidatedEnvironment = (project, agent, target, model, profileRevision, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint) => {
105
151
  const requestedModel = agent === 'opencode' ? normalizeModelId(model) : null;
106
152
  const requestedProvider = agent === 'opencode' ? getModelProvider(requestedModel) : 'anthropic';
107
153
  if (agent === 'opencode' && !requestedProvider) {
108
154
  throw new BuildExecutionEnvironmentFailure('validation_provider_missing', 'OpenCode Build requires a model with a provider before a Docker Sandbox can be used.', 'Choose a provider-backed OpenCode model for this ticket, then retry Build.');
109
155
  }
110
- const environment = findExecutionEnvironment(project, agent, target, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint);
156
+ const environment = findExecutionEnvironment(project, agent, target, profileRevision, pinnedEnvironmentId, pinnedEnvironmentRevision, pinnedEnvironmentValidationFingerprint);
111
157
  if (!environment) {
112
158
  throw new BuildExecutionEnvironmentFailure('environment_missing', 'No validated Docker Sandbox matches this exact Build target and agent.', `Select this target and validate its ${agent} Docker Sandbox before starting Build.`);
113
159
  }
@@ -136,6 +182,7 @@ const validateBuildProvider = async (input) => {
136
182
  target: input.target,
137
183
  initiatedBy: 'automation',
138
184
  signal: input.signal,
185
+ profileRevision: input.profileRevision,
139
186
  }, {
140
187
  adapter: input.dependencies.adapter,
141
188
  runtimeController: input.dependencies.runtimeController,
@@ -287,67 +334,145 @@ export const recordBuildExecutionProvider = (projectId, executionRunId, provider
287
334
  }
288
335
  };
289
336
  export const resolveBuildExecutionEnvironment = async (input) => {
290
- if (input.project.build_execution_provider !== 'docker_sandbox') {
291
- return { provider: hostExecutionEnvironment, environment: null, authority: null, release: async () => { } };
337
+ const profileRevision = resolveExecutionRunProfile(input.project, input.executionRunId);
338
+ const selectedProvider = profileRevision.profile.provider_preference;
339
+ const hasPinnedEnvironmentLineage = input.pinnedEnvironmentId !== undefined
340
+ || input.pinnedEnvironmentRevision !== undefined
341
+ || input.pinnedEnvironmentValidationFingerprint !== undefined;
342
+ if (hasPinnedEnvironmentLineage
343
+ && (selectedProvider !== 'docker_sandbox'
344
+ || !input.pinnedEnvironmentId
345
+ || input.pinnedEnvironmentRevision === undefined
346
+ || !input.pinnedEnvironmentValidationFingerprint)) {
347
+ throw new BuildExecutionEnvironmentFailure('environment_identity_invalid', 'The historical Docker Sandbox lineage is incomplete or conflicts with the selected execution profile.', 'Retry as a fresh Build instead of resuming this historical provider session.');
348
+ }
349
+ const modelProvider = input.agent === 'opencode' ? getModelProvider(input.model) || null : 'anthropic';
350
+ const resolveHostEnvironment = (fallback) => {
351
+ const runAuthority = createExecutionRunAuthority({
352
+ profileRevision,
353
+ provider: 'host',
354
+ agent: input.agent,
355
+ modelProvider,
356
+ target: input.target,
357
+ environment: null,
358
+ fallback: fallback ? { used: true, from: fallback.from, reason: fallback.reason } : undefined,
359
+ });
360
+ persistExecutionRunAuthority({
361
+ projectId: input.project.id,
362
+ executionRunId: input.executionRunId,
363
+ profileRevision,
364
+ authority: runAuthority,
365
+ });
366
+ if (fallback) {
367
+ recordBuildExecutionProvider(input.project.id, input.executionRunId, 'host');
368
+ }
369
+ return {
370
+ provider: hostExecutionEnvironment,
371
+ environment: null,
372
+ authority: null,
373
+ runAuthority,
374
+ launcherEnvironment: createHostLauncherEnvironment(),
375
+ runtimeEnvironment: profileRevision.profile.compatibility === 'legacy_host'
376
+ ? createLegacyHostRuntimeEnvironment(input.target.workspacePath, { PWD: input.target.workspacePath })
377
+ : createGovernedHostRuntimeEnvironment(input.target.workspacePath, { PWD: input.target.workspacePath }),
378
+ release: async () => { },
379
+ };
380
+ };
381
+ if (selectedProvider !== 'docker_sandbox') {
382
+ return resolveHostEnvironment();
292
383
  }
293
384
  const dependencies = input.dependencies ?? defaultDockerSandboxEnvironmentDependencies;
294
- let environment;
295
- try {
296
- environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
297
- }
298
- catch (error) {
299
- if (error instanceof BuildExecutionEnvironmentFailure
300
- && error.code === 'environment_missing'
301
- && !input.pinnedEnvironmentId) {
302
- const requestedProvider = input.agent === 'opencode' ? getModelProvider(input.model) : 'anthropic';
303
- try {
304
- await prepareAndValidateExecutionEnvironmentForTarget({
305
- projectId: input.project.id,
306
- agent: input.agent,
307
- provider: requestedProvider,
308
- model: input.agent === 'opencode' ? normalizeModelId(input.model) || null : null,
309
- target: input.target,
310
- initiatedBy: 'automation',
311
- signal: input.signal,
312
- }, {
313
- adapter: dependencies.adapter,
314
- runtimeController: dependencies.runtimeController,
315
- runner: dependencies.runner,
316
- });
317
- }
318
- catch (preparationError) {
319
- throw new BuildExecutionEnvironmentFailure('validation_stale', `The exact ticket Build target could not be prepared for Docker Sandbox execution.${describePreparationFailure(preparationError)}`, 'Review the reported Docker Sandbox preparation failure, resolve it, then retry Build.', { cause: preparationError });
320
- }
321
- environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
385
+ const applicableRequirements = profileRevision.profile.credential_requirements.filter(requirement => (requirement.agent === input.agent && requirement.model_provider === modelProvider));
386
+ const canFallback = profileRevision.profile.fallback === 'explicit_host'
387
+ && !hasPinnedEnvironmentLineage
388
+ && profileRevision.profile.isolation === 'host_process_allowed'
389
+ && applicableRequirements.every(requirement => requirement.required_protection === 'legacy_host_inheritance');
390
+ const resolveFallback = (error) => {
391
+ if (input.signal?.aborted) {
392
+ throw input.signal.reason instanceof Error
393
+ ? input.signal.reason
394
+ : new Error('Docker Sandbox Build preparation was cancelled');
322
395
  }
323
- else if (!shouldRetryValidation(error)) {
396
+ if (!canFallback) {
324
397
  throw error;
325
398
  }
326
- else {
327
- const candidate = findExecutionEnvironment(input.project, input.agent, input.target, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
328
- if (!candidate) {
329
- throw error;
399
+ const reason = error instanceof BuildExecutionEnvironmentFailure ? error.code : 'docker_preparation_failed';
400
+ return resolveHostEnvironment({ from: 'docker_sandbox', reason });
401
+ };
402
+ let environment;
403
+ try {
404
+ try {
405
+ environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, profileRevision, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
406
+ }
407
+ catch (error) {
408
+ if (error instanceof BuildExecutionEnvironmentFailure
409
+ && error.code === 'environment_missing'
410
+ && !input.pinnedEnvironmentId) {
411
+ const requestedProvider = input.agent === 'opencode' ? getModelProvider(input.model) : 'anthropic';
412
+ try {
413
+ await prepareAndValidateExecutionEnvironmentForTarget({
414
+ projectId: input.project.id,
415
+ agent: input.agent,
416
+ provider: requestedProvider,
417
+ model: input.agent === 'opencode' ? normalizeModelId(input.model) || null : null,
418
+ target: input.target,
419
+ initiatedBy: 'automation',
420
+ signal: input.signal,
421
+ profileRevision,
422
+ }, {
423
+ adapter: dependencies.adapter,
424
+ runtimeController: dependencies.runtimeController,
425
+ runner: dependencies.runner,
426
+ });
427
+ }
428
+ catch (preparationError) {
429
+ throw new BuildExecutionEnvironmentFailure('validation_stale', `The exact ticket Build target could not be prepared for Docker Sandbox execution.${describePreparationFailure(preparationError)}`, 'Review the reported Docker Sandbox preparation failure, resolve it, then retry Build.', { cause: preparationError });
430
+ }
431
+ environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, profileRevision, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
330
432
  }
331
- try {
332
- await validateBuildProvider({
333
- project: input.project,
334
- environment: candidate,
335
- agent: input.agent,
336
- model: input.model ?? null,
337
- target: input.target,
338
- signal: input.signal,
339
- dependencies,
340
- });
433
+ else if (!shouldRetryValidation(error)) {
434
+ throw error;
341
435
  }
342
- catch (validationError) {
343
- if (validationError instanceof BuildExecutionEnvironmentFailure) {
344
- throw validationError;
436
+ else {
437
+ const candidate = findExecutionEnvironment(input.project, input.agent, input.target, profileRevision, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
438
+ if (!candidate) {
439
+ throw error;
440
+ }
441
+ try {
442
+ await validateBuildProvider({
443
+ project: input.project,
444
+ environment: candidate,
445
+ agent: input.agent,
446
+ model: input.model ?? null,
447
+ target: input.target,
448
+ signal: input.signal,
449
+ dependencies,
450
+ profileRevision,
451
+ });
452
+ }
453
+ catch (validationError) {
454
+ if (validationError instanceof BuildExecutionEnvironmentFailure) {
455
+ throw validationError;
456
+ }
457
+ throw new BuildExecutionEnvironmentFailure('validation_stale', 'The Docker Sandbox provider preflight failed before Build could start.', `Resolve ${input.agent} authentication and provider access, then retry Build.`, { cause: validationError });
345
458
  }
346
- throw new BuildExecutionEnvironmentFailure('validation_stale', 'The Docker Sandbox provider preflight failed before Build could start.', `Resolve ${input.agent} authentication and provider access, then retry Build.`, { cause: validationError });
459
+ environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, profileRevision, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
347
460
  }
348
- environment = resolveValidatedEnvironment(input.project, input.agent, input.target, input.model ?? null, input.pinnedEnvironmentId, input.pinnedEnvironmentRevision, input.pinnedEnvironmentValidationFingerprint);
349
461
  }
350
462
  }
463
+ catch (error) {
464
+ return resolveFallback(error);
465
+ }
466
+ if (hasPinnedEnvironmentLineage
467
+ && (environment.id !== input.pinnedEnvironmentId
468
+ || environment.environment_revision !== input.pinnedEnvironmentRevision
469
+ || environment.environment_validation_fingerprint !== input.pinnedEnvironmentValidationFingerprint)) {
470
+ throw new BuildExecutionEnvironmentFailure('environment_identity_invalid', 'The resolved Docker Sandbox does not match the historical environment lineage.', 'Restore the exact historical environment or retry as a fresh Build.');
471
+ }
472
+ const validation = getLatestValidation(input.project.id, environment.id, input.agent, modelProvider);
473
+ const credentialCapability = validation
474
+ ? getValidationCredentialCapability(input.project.id, environment.id, validation.id)
475
+ : null;
351
476
  const authority = createAuthority(environment, input.agent);
352
477
  try {
353
478
  acquireExecutionEnvironmentLease({
@@ -358,7 +483,7 @@ export const resolveBuildExecutionEnvironment = async (input) => {
358
483
  });
359
484
  }
360
485
  catch (error) {
361
- throw new BuildExecutionEnvironmentFailure('environment_leased', 'The selected Docker Sandbox is already leased by another run.', 'Wait for the active Build or reconciliation to release the environment.', { cause: error });
486
+ return resolveFallback(new BuildExecutionEnvironmentFailure('environment_leased', 'The selected Docker Sandbox is already leased by another run.', 'Wait for the active Build or reconciliation to release the environment.', { cause: error }));
362
487
  }
363
488
  let released = false;
364
489
  const release = async () => {
@@ -421,6 +546,13 @@ export const resolveBuildExecutionEnvironment = async (input) => {
421
546
  released = true;
422
547
  };
423
548
  input.onLeaseAcquired?.(release);
549
+ const resolveFallbackAfterLease = async (error) => {
550
+ if (input.signal?.aborted || !canFallback) {
551
+ return resolveFallback(error);
552
+ }
553
+ await release();
554
+ return resolveFallback(error);
555
+ };
424
556
  try {
425
557
  await ensureDockerSandboxRuntimeReady(dependencies, input.signal);
426
558
  await reconnectAndInspectDockerSandbox(environment, dependencies, input.signal);
@@ -442,7 +574,7 @@ export const resolveBuildExecutionEnvironment = async (input) => {
442
574
  },
443
575
  metadata: { executionRunId: input.executionRunId },
444
576
  });
445
- throw new BuildExecutionEnvironmentFailure('runtime_unavailable', 'The required Docker Sandbox runtime or exact persisted sandbox is unavailable.', 'Restore Docker Sandbox readiness and retry; Archon will not fall back to host execution.', { cause: error });
577
+ return resolveFallbackAfterLease(new BuildExecutionEnvironmentFailure('runtime_unavailable', 'The required Docker Sandbox runtime or exact persisted sandbox is unavailable.', 'Restore Docker Sandbox readiness and retry Build.', { cause: error }));
446
578
  }
447
579
  const expected = resolveExpectedDockerSandboxIdentity(environment);
448
580
  let skillCheck = null;
@@ -455,12 +587,39 @@ export const resolveBuildExecutionEnvironment = async (input) => {
455
587
  ? input.signal.reason
456
588
  : new Error('Docker Sandbox skill verification was cancelled');
457
589
  }
458
- throw new BuildExecutionEnvironmentFailure('skills_unavailable', 'The exact Docker Sandbox target could not verify the selected OpenCode skills.', 'Restore sandbox skill discovery, then retry Build.', { cause: error });
590
+ return resolveFallbackAfterLease(new BuildExecutionEnvironmentFailure('skills_unavailable', 'The exact Docker Sandbox target could not verify the selected OpenCode skills.', 'Restore sandbox skill discovery, then retry Build.', { cause: error }));
459
591
  }
460
592
  if (skillCheck && skillCheck.state !== 'passed') {
461
593
  const missingSkills = skillCheck.details?.missingSkills ?? input.skills ?? [];
462
594
  const skillSummary = missingSkills.length > 0 ? ` Missing skills: ${missingSkills.join(', ')}.` : '';
463
- throw new BuildExecutionEnvironmentFailure('skills_unavailable', `The exact Docker Sandbox target does not provide all selected OpenCode skills.${skillSummary}`, 'Import the selected skills into the sandbox target or remove them from the ticket, then retry Build.');
595
+ return resolveFallbackAfterLease(new BuildExecutionEnvironmentFailure('skills_unavailable', `The exact Docker Sandbox target does not provide all selected OpenCode skills.${skillSummary}`, 'Import the selected skills into the sandbox target or remove them from the ticket, then retry Build.'));
596
+ }
597
+ let runAuthority;
598
+ try {
599
+ runAuthority = createExecutionRunAuthority({
600
+ profileRevision,
601
+ provider: 'docker_sandbox',
602
+ agent: input.agent,
603
+ modelProvider,
604
+ target: input.target,
605
+ environment,
606
+ credentialCapability,
607
+ });
608
+ }
609
+ catch (error) {
610
+ return resolveFallbackAfterLease(error);
611
+ }
612
+ try {
613
+ persistExecutionRunAuthority({
614
+ projectId: input.project.id,
615
+ executionRunId: input.executionRunId,
616
+ profileRevision,
617
+ authority: runAuthority,
618
+ });
619
+ }
620
+ catch (error) {
621
+ await release();
622
+ throw error;
464
623
  }
465
624
  const baseProvider = await createDockerSandboxExecutionProvider({
466
625
  adapter: dependencies.adapter,
@@ -530,6 +689,14 @@ export const resolveBuildExecutionEnvironment = async (input) => {
530
689
  return { ...handle, placementIdentity, placementFailure };
531
690
  },
532
691
  };
533
- return { provider, environment, authority, release };
692
+ return {
693
+ provider,
694
+ environment,
695
+ authority,
696
+ runAuthority,
697
+ launcherEnvironment: createDockerSandboxLauncherEnvironment(),
698
+ runtimeEnvironment: createProviderManagedRuntimeEnvironment(),
699
+ release,
700
+ };
534
701
  };
535
702
  //# sourceMappingURL=buildExecutionEnvironment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildExecutionEnvironment.js","sourceRoot":"","sources":["../../../server/lib/buildExecutionEnvironment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildExecutionEnvironment.js","sourceRoot":"","sources":["../../../server/lib/buildExecutionEnvironment.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,20 @@ import config from './config.js';
3
3
  import { startFollowUp, isFollowUpRunning } from '../workers/followUp.js';
4
4
  import { createBuildOpenQuestionResolutionBatch, failBuildOpenQuestionBatch, formatBuildOpenQuestionAnswersPrompt, listAnsweredBuildOpenQuestionsForBatch, setBuildOpenQuestionBatchStatus, } from './buildOpenQuestions.js';
5
5
  import { withExecutionRunTransaction } from './executionRuns.js';
6
+ import { executionProfileSelectionMetadata, getHistoricalBuildExecutionProfileSelection, getHistoricalBuildExecutionProfileSelectionForSession, validateExecutionProfileSelection, } from './executionRunAuthority.js';
6
7
  import { getAutomationProgression, getWaitingOpenQuestionProgression, runAutomationProgression, waitAutomationProgression, } from './automationProgression.js';
8
+ import { compensateBuildSequenceAcceptance, ensureBundleQueueOwnershipForTicket, getActiveBundleQueueItemId, getActiveBuildSequenceId, } from './buildSequences.js';
7
9
  import { getEffectiveProject } from './projects.js';
8
10
  import { createTicketMessage } from './ticketMessages.js';
9
11
  import { listTickets, resolveTicketTool } from './tickets.js';
10
12
  import { validateWorkflowContext } from './types.js';
11
13
  const resolveTargetTicket = (tickets) => {
12
14
  return [...tickets]
13
- .filter(ticket => ticket.state === 'build' && (ticket.agent_status === 'done' || ticket.agent_status === 'stopped'))
15
+ .filter(ticket => ticket.state === 'build' && (ticket.agent_status === 'done'
16
+ || ticket.agent_status === 'stopped'
17
+ // Restart reconciliation interrupts open-question follow-ups by erroring the
18
+ // ticket; resolution is the recovery path, so errored tickets stay eligible.
19
+ || ticket.agent_status === 'error'))
14
20
  .sort((left, right) => {
15
21
  const buildOrder = (right.build_completed_at ?? '').localeCompare(left.build_completed_at ?? '');
16
22
  if (buildOrder !== 0) {
@@ -30,7 +36,11 @@ const restoreTicket = (ticket) => {
30
36
  export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolutions, broadcaster, }) => {
31
37
  const buildTickets = listTickets(projectId, { detail: 'board' }).filter(ticket => ticket.worktree_bundle_id === bundleId && ticket.state === 'build');
32
38
  if (buildTickets.length === 0
33
- || buildTickets.some(ticket => ticket.agent_status !== 'done' && ticket.agent_status !== 'stopped')) {
39
+ || buildTickets.some(ticket => (ticket.agent_status !== 'done'
40
+ && ticket.agent_status !== 'stopped'
41
+ // Restart reconciliation errors interrupted Build tickets; resolution is the
42
+ // recovery path for bundles paused on open questions, so allow them here.
43
+ && ticket.agent_status !== 'error'))) {
34
44
  return { ok: false, status: 409, error: 'All build tickets in the bundle must be done or stopped before resolving questions' };
35
45
  }
36
46
  const hasAnswers = resolutions.some(resolution => Boolean(resolution.answer?.trim()));
@@ -46,6 +56,7 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
46
56
  return { ok: false, status: 409, error: 'Build project no longer exists' };
47
57
  }
48
58
  let accepted = null;
59
+ let recoverySequenceId = null;
49
60
  try {
50
61
  accepted = withExecutionRunTransaction(transaction => {
51
62
  const progression = getWaitingOpenQuestionProgression({ projectId, bundleId, broadcaster });
@@ -94,6 +105,27 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
94
105
  variant: targetTicket.variant,
95
106
  skills: targetTicket.skills,
96
107
  };
108
+ const selection = targetTicket.session_id
109
+ ? getHistoricalBuildExecutionProfileSelectionForSession(projectId, targetTicket.id, targetTicket.session_id)
110
+ : getHistoricalBuildExecutionProfileSelection(projectId, targetTicket.id);
111
+ const profileRevision = validateExecutionProfileSelection(projectId, selection);
112
+ const activeTicketSequenceId = getActiveBuildSequenceId(targetTicket.id);
113
+ // Checkpoint commits require the ticket to be the active item of an ACTIVE
114
+ // bundle_queue sequence, which restarts can take away. Gate recovery ownership on
115
+ // that per-ticket fact instead of bundle-level sequence presence.
116
+ const needsRecoverySequenceOwnership = Boolean(targetTicket.worktree_bundle_id
117
+ && targetTicket.bundle?.kind !== 'project_root'
118
+ && !getActiveBundleQueueItemId(projectId, bundleId, targetTicket.id));
119
+ let sequenceId = activeTicketSequenceId;
120
+ if (needsRecoverySequenceOwnership) {
121
+ sequenceId = ensureBundleQueueOwnershipForTicket({
122
+ projectId,
123
+ worktreeBundleId: bundleId,
124
+ ticketId: targetTicket.id,
125
+ selection,
126
+ });
127
+ recoverySequenceId = sequenceId;
128
+ }
97
129
  const executionRun = transaction.createExecutionRun({
98
130
  projectId,
99
131
  kind: 'build_follow_up',
@@ -101,6 +133,9 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
101
133
  sourceReference: { kind: 'ticket', id: targetTicket.id, label: targetTicket.title },
102
134
  links: [
103
135
  { entityType: 'bundle', entityId: bundleId, relationship: 'context' },
136
+ ...(sequenceId
137
+ ? [{ entityType: 'build_sequence', entityId: sequenceId, relationship: 'context' }]
138
+ : []),
104
139
  {
105
140
  entityType: 'ticket_message',
106
141
  entityId: triggerMessageId,
@@ -110,7 +145,8 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
110
145
  ],
111
146
  metadata: {
112
147
  ...(workflowContext ?? {}),
113
- build_execution_provider: project?.build_execution_provider ?? 'host',
148
+ build_execution_provider: profileRevision.profile.provider_preference,
149
+ ...executionProfileSelectionMetadata(selection),
114
150
  retry_tool: runConfig.tool,
115
151
  retry_model: runConfig.model,
116
152
  retry_variant: runConfig.variant,
@@ -185,6 +221,10 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
185
221
  compensate: () => {
186
222
  failBuildOpenQuestionBatch(accepted?.batchId ?? '', 'Build follow-up could not be queued');
187
223
  restoreTicket(targetTicket);
224
+ if (recoverySequenceId) {
225
+ compensateBuildSequenceAcceptance(recoverySequenceId, [targetTicket.id]);
226
+ recoverySequenceId = null;
227
+ }
188
228
  waitAutomationProgression({
189
229
  projectId,
190
230
  bundleId,
@@ -207,6 +247,10 @@ export const acceptBuildOpenQuestionResolution = ({ projectId, bundleId, resolut
207
247
  withExecutionRunTransaction(transaction => {
208
248
  failBuildOpenQuestionBatch(accepted?.batchId ?? '', error);
209
249
  restoreTicket(targetTicket);
250
+ if (recoverySequenceId) {
251
+ compensateBuildSequenceAcceptance(recoverySequenceId, [targetTicket.id]);
252
+ recoverySequenceId = null;
253
+ }
210
254
  waitAutomationProgression({
211
255
  projectId,
212
256
  bundleId,