@straiffi/archon 1.8.8 → 1.8.10

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 (182) hide show
  1. package/dist/client/assets/{ActivityView--4X_m6mR.js → ActivityView-ew2HI3iv.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-DZ1lHM01.js → GitHubActionsDialog-C9lg87qK.js} +1 -1
  3. package/dist/client/assets/RepositoryGraphDialog-CnED9oZO.js +1 -0
  4. package/dist/client/assets/VerificationDialog-BFEA4LcO.js +4 -0
  5. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CY5xTOZJ.js → architectureDiagram-3BPJPVTR-B468SqWl.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-GPEHLZMM-DkMi7gMh.js → blockDiagram-GPEHLZMM-CcuVr5zL.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-AAUBKEIU-ZZxXBBU4.js → c4Diagram-AAUBKEIU-CIVHHAmy.js} +1 -1
  8. package/dist/client/assets/channel-i8pCfCxf.js +1 -0
  9. package/dist/client/assets/{chunk-2J33WTMH-C9PiKMs-.js → chunk-2J33WTMH-BdX4DCtG.js} +1 -1
  10. package/dist/client/assets/{chunk-3OPIFGDE-B81aUmvi.js → chunk-3OPIFGDE-skObTH8f.js} +1 -1
  11. package/dist/client/assets/{chunk-5ZQYHXKU-Bk2Owm90.js → chunk-5ZQYHXKU-DgfXNdzK.js} +1 -1
  12. package/dist/client/assets/{chunk-727SXJPM-Bx-79aJk.js → chunk-727SXJPM-mnXVo2HU.js} +1 -1
  13. package/dist/client/assets/{chunk-AQP2D5EJ-GQNXYOf0.js → chunk-AQP2D5EJ-C3mXtCLv.js} +1 -1
  14. package/dist/client/assets/{chunk-CSCIHK7Q-BV22j6vn.js → chunk-CSCIHK7Q-BrUDaK4w.js} +1 -1
  15. package/dist/client/assets/{chunk-KSCS5N6A-C9LlcbWv.js → chunk-KSCS5N6A-B7ZXhQZZ.js} +1 -1
  16. package/dist/client/assets/{chunk-L5ZTLDWV-D8PJqJnh.js → chunk-L5ZTLDWV-CfWv4E3P.js} +1 -1
  17. package/dist/client/assets/{chunk-LZXEDZCA-DcbPPozR.js → chunk-LZXEDZCA-ByKWnYgl.js} +2 -2
  18. package/dist/client/assets/{chunk-ND2GUHAM-NV-_2KqZ.js → chunk-ND2GUHAM-C3xamRop.js} +1 -1
  19. package/dist/client/assets/{chunk-NZK2D7GU-CbqA26gb.js → chunk-NZK2D7GU-CMbTC0VA.js} +1 -1
  20. package/dist/client/assets/{chunk-O5CBEL6O-B0DMN44B.js → chunk-O5CBEL6O-IrjlcgnD.js} +1 -1
  21. package/dist/client/assets/{chunk-WU5MYG2G-CYpcnwf9.js → chunk-WU5MYG2G-WPjA4G6U.js} +1 -1
  22. package/dist/client/assets/classDiagram-4FO5ZUOK-CZ3Y7ahg.js +1 -0
  23. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-eRiSIrc8.js +1 -0
  24. package/dist/client/assets/{dagre-BM42HDAG-B5HD9fyK.js → dagre-BM42HDAG-B8MWc9Vt.js} +1 -1
  25. package/dist/client/assets/{diagram-2AECGRRQ-BCXvWFpM.js → diagram-2AECGRRQ-CUG9b88X.js} +1 -1
  26. package/dist/client/assets/{diagram-5GNKFQAL-CSpWGfAO.js → diagram-5GNKFQAL-C0sLSoID.js} +1 -1
  27. package/dist/client/assets/{diagram-KO2AKTUF-CFECGppT.js → diagram-KO2AKTUF-D5tls_Ye.js} +1 -1
  28. package/dist/client/assets/{diagram-LMA3HP47-Dpb99QbZ.js → diagram-LMA3HP47-B4X4DO9t.js} +1 -1
  29. package/dist/client/assets/{diagram-OG6HWLK6-DJcTGnx0.js → diagram-OG6HWLK6--Fkpu1xR.js} +1 -1
  30. package/dist/client/assets/{erDiagram-TEJ5UH35-jWArJxNU.js → erDiagram-TEJ5UH35-BcbdxB1u.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-I6XJVG4X-DDF3P1hY.js → flowDiagram-I6XJVG4X-DwNYkjtu.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Corwr_18.js → ganttDiagram-6RSMTGT7-Sh_eU-Z9.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-WzlpszWn.js → gitGraphDiagram-PVQCEYII-C5FDjOX5.js} +1 -1
  34. package/dist/client/assets/index-BqrNPQ_0.js +274 -0
  35. package/dist/client/assets/index-BsjoiBxI.css +2 -0
  36. package/dist/client/assets/{infoDiagram-5YYISTIA-C0VwTwNC.js → infoDiagram-5YYISTIA-Ck9OJOWG.js} +1 -1
  37. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-m9l3k2qX.js → ishikawaDiagram-YF4QCWOH-DYXgrkHN.js} +1 -1
  38. package/dist/client/assets/{journeyDiagram-JHISSGLW-DMhT8HTW.js → journeyDiagram-JHISSGLW-BwNJvlUR.js} +1 -1
  39. package/dist/client/assets/{kanban-definition-UN3LZRKU-C2ZkcOi0.js → kanban-definition-UN3LZRKU-CQPcarO3.js} +1 -1
  40. package/dist/client/assets/{line-gKkUdUWR.js → line-C0_WiC76.js} +1 -1
  41. package/dist/client/assets/{mermaid-parser.core-DdBfJWbP.js → mermaid-parser.core-DZFY-NQY.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-DXnhq-eu.js → mermaid.core-CQd5d2Vh.js} +3 -3
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-B0gX4aJy.js → mindmap-definition-RKZ34NQL-DM1_aBMT.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-BHYdLmpx.js → pieDiagram-4H26LBE5-CsErXHmB.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-C-H-yQwU.js → quadrantDiagram-W4KKPZXB-Dbvx_hzM.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DY_pSCFy.js → requirementDiagram-4Y6WPE33-DKjfBx4s.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-CC61HRGf.js → sankeyDiagram-5OEKKPKP-BoZ5QkYh.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-B8fXWNxw.js → sequenceDiagram-3UESZ5HK-zx3eTqJo.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-C_VYKsXW.js → stateDiagram-AJRCARHV-CwjCCvKl.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-B0RJBNmi.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-0fB4PIIX.js → timeline-definition-PNZ67QCA-_vAeRe5B.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-CfpVF7Aa.js → vennDiagram-CIIHVFJN-BrY9ZFi8.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CgdK4FcC.js → wardleyDiagram-YWT4CUSO-ffsNUFbG.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-2RQKCTM6-BEfatQYR.js → xychartDiagram-2RQKCTM6-Cwg8OKEm.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/server/db.js +481 -37
  57. package/dist/server/db.js.map +1 -1
  58. package/dist/server/index.js +72 -18
  59. package/dist/server/index.js.map +1 -1
  60. package/dist/server/lib/activeAutomationChild.js +1 -0
  61. package/dist/server/lib/activeAutomationChild.js.map +1 -1
  62. package/dist/server/lib/agent.js +127 -15
  63. package/dist/server/lib/agent.js.map +1 -1
  64. package/dist/server/lib/agentRuns.js +12 -0
  65. package/dist/server/lib/agentRuns.js.map +1 -1
  66. package/dist/server/lib/agentSpawnPermits.js +37 -0
  67. package/dist/server/lib/agentSpawnPermits.js.map +1 -0
  68. package/dist/server/lib/automationCheckGate.js +94 -32
  69. package/dist/server/lib/automationCheckGate.js.map +1 -1
  70. package/dist/server/lib/automationProgression.js +19 -5
  71. package/dist/server/lib/automationProgression.js.map +1 -1
  72. package/dist/server/lib/automationReviewGate.js +1 -0
  73. package/dist/server/lib/automationReviewGate.js.map +1 -1
  74. package/dist/server/lib/buildCompletionContinuation.js +144 -4
  75. package/dist/server/lib/buildCompletionContinuation.js.map +1 -1
  76. package/dist/server/lib/buildSequences.js +13 -1
  77. package/dist/server/lib/buildSequences.js.map +1 -1
  78. package/dist/server/lib/bundleActivity.js +19 -0
  79. package/dist/server/lib/bundleActivity.js.map +1 -1
  80. package/dist/server/lib/chatOperations.js +86 -4
  81. package/dist/server/lib/chatOperations.js.map +1 -1
  82. package/dist/server/lib/chatPostBuildRuns.js +98 -0
  83. package/dist/server/lib/chatPostBuildRuns.js.map +1 -0
  84. package/dist/server/lib/chats.js +13 -0
  85. package/dist/server/lib/chats.js.map +1 -1
  86. package/dist/server/lib/checkAutoFix.js +604 -0
  87. package/dist/server/lib/checkAutoFix.js.map +1 -0
  88. package/dist/server/lib/checkAutoFixDetails.js +83 -0
  89. package/dist/server/lib/checkAutoFixDetails.js.map +1 -0
  90. package/dist/server/lib/checkAutoFixPolicy.js +59 -0
  91. package/dist/server/lib/checkAutoFixPolicy.js.map +1 -0
  92. package/dist/server/lib/checkGateEvaluations.js +41 -16
  93. package/dist/server/lib/checkGateEvaluations.js.map +1 -1
  94. package/dist/server/lib/checkRepair.js +158 -63
  95. package/dist/server/lib/checkRepair.js.map +1 -1
  96. package/dist/server/lib/checkRepairDispatch.js +91 -0
  97. package/dist/server/lib/checkRepairDispatch.js.map +1 -0
  98. package/dist/server/lib/checkRepairEvidence.js +84 -0
  99. package/dist/server/lib/checkRepairEvidence.js.map +1 -0
  100. package/dist/server/lib/checkRepairParent.js +21 -0
  101. package/dist/server/lib/checkRepairParent.js.map +1 -0
  102. package/dist/server/lib/checkRepairReconciliation.js +14 -5
  103. package/dist/server/lib/checkRepairReconciliation.js.map +1 -1
  104. package/dist/server/lib/checkRunner.js +27 -8
  105. package/dist/server/lib/checkRunner.js.map +1 -1
  106. package/dist/server/lib/checkRuns.js +63 -4
  107. package/dist/server/lib/checkRuns.js.map +1 -1
  108. package/dist/server/lib/executionReconciliation.js +417 -8
  109. package/dist/server/lib/executionReconciliation.js.map +1 -1
  110. package/dist/server/lib/executionRuns.js +25 -2
  111. package/dist/server/lib/executionRuns.js.map +1 -1
  112. package/dist/server/lib/integrations/github.js +10 -7
  113. package/dist/server/lib/integrations/github.js.map +1 -1
  114. package/dist/server/lib/postBuildCheckRuns.js +200 -5
  115. package/dist/server/lib/postBuildCheckRuns.js.map +1 -1
  116. package/dist/server/lib/postBuildChecks.js +107 -21
  117. package/dist/server/lib/postBuildChecks.js.map +1 -1
  118. package/dist/server/lib/projects.js +25 -1
  119. package/dist/server/lib/projects.js.map +1 -1
  120. package/dist/server/lib/queue.js +9 -3
  121. package/dist/server/lib/queue.js.map +1 -1
  122. package/dist/server/lib/repositoryGraphQueries.js +5 -3
  123. package/dist/server/lib/repositoryGraphQueries.js.map +1 -1
  124. package/dist/server/lib/repositoryGraphScan.js +13 -2
  125. package/dist/server/lib/repositoryGraphScan.js.map +1 -1
  126. package/dist/server/lib/repositoryGraphStore.js +61 -1
  127. package/dist/server/lib/repositoryGraphStore.js.map +1 -1
  128. package/dist/server/lib/specArtifact.js +10 -1
  129. package/dist/server/lib/specArtifact.js.map +1 -1
  130. package/dist/server/lib/specDraft.js +10 -2
  131. package/dist/server/lib/specDraft.js.map +1 -1
  132. package/dist/server/lib/specExport.js +70 -6
  133. package/dist/server/lib/specExport.js.map +1 -1
  134. package/dist/server/lib/specFormatting.js +3 -2
  135. package/dist/server/lib/specFormatting.js.map +1 -1
  136. package/dist/server/lib/specRepositoryEvidenceFormatting.js +75 -0
  137. package/dist/server/lib/specRepositoryEvidenceFormatting.js.map +1 -0
  138. package/dist/server/lib/specRepositoryImpact.js +447 -0
  139. package/dist/server/lib/specRepositoryImpact.js.map +1 -0
  140. package/dist/server/lib/specRepositoryImpactLimits.js +6 -0
  141. package/dist/server/lib/specRepositoryImpactLimits.js.map +1 -0
  142. package/dist/server/lib/specReviewContext.js +15 -5
  143. package/dist/server/lib/specReviewContext.js.map +1 -1
  144. package/dist/server/lib/specReviewValidation.js +1 -1
  145. package/dist/server/lib/specReviewValidation.js.map +1 -1
  146. package/dist/server/lib/specSections.js +28 -3
  147. package/dist/server/lib/specSections.js.map +1 -1
  148. package/dist/server/lib/specSnapshotEvidence.js +162 -0
  149. package/dist/server/lib/specSnapshotEvidence.js.map +1 -0
  150. package/dist/server/lib/specSnapshotEvidenceSerialization.js +202 -0
  151. package/dist/server/lib/specSnapshotEvidenceSerialization.js.map +1 -0
  152. package/dist/server/lib/specs.js +31 -5
  153. package/dist/server/lib/specs.js.map +1 -1
  154. package/dist/server/lib/ticketAutomationCommit.js +3 -1
  155. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  156. package/dist/server/lib/ticketFollowUpOperations.js +16 -12
  157. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  158. package/dist/server/lib/ticketRunOperations.js +13 -1
  159. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  160. package/dist/server/lib/ticketWorkflowOperations.js +5 -2
  161. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  162. package/dist/server/lib/types.js +1 -0
  163. package/dist/server/lib/types.js.map +1 -1
  164. package/dist/server/workers/build.js +46 -148
  165. package/dist/server/workers/build.js.map +1 -1
  166. package/dist/server/workers/chat.js +185 -43
  167. package/dist/server/workers/chat.js.map +1 -1
  168. package/dist/server/workers/followUp.js +210 -48
  169. package/dist/server/workers/followUp.js.map +1 -1
  170. package/dist/server/workers/specReview.js +17 -4
  171. package/dist/server/workers/specReview.js.map +1 -1
  172. package/dist/server/workers/specSession.js +127 -22
  173. package/dist/server/workers/specSession.js.map +1 -1
  174. package/package.json +1 -1
  175. package/dist/client/assets/RepositoryGraphDialog-B--YlQcV.js +0 -1
  176. package/dist/client/assets/VerificationDialog-BIWPtBg3.js +0 -4
  177. package/dist/client/assets/channel-b2AN-U3x.js +0 -1
  178. package/dist/client/assets/classDiagram-4FO5ZUOK-C0exS5oM.js +0 -1
  179. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DkB9dQZ1.js +0 -1
  180. package/dist/client/assets/index-Bs5SQZhz.css +0 -2
  181. package/dist/client/assets/index-Dy-7h3lN.js +0 -274
  182. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Ctk1r914.js +0 -1
@@ -0,0 +1,83 @@
1
+ import db from '../db.js';
2
+ const MAX_ATTEMPTS = 3;
3
+ const TERMINAL_STATUSES = new Set(['completed', 'failed', 'cancelled', 'interrupted']);
4
+ export const getCheckAutoFixDetails = (projectId, runOrBatchId) => {
5
+ const tablesAvailable = db.prepare(`
6
+ SELECT COUNT(*) AS count FROM sqlite_master
7
+ WHERE type = 'table' AND name IN ('check_auto_fix_loops', 'check_auto_fix_attempts', 'lifecycle_events')
8
+ `).get();
9
+ if (tablesAvailable.count !== 3) {
10
+ return null;
11
+ }
12
+ const loop = db.prepare(`
13
+ SELECT loop.*, run.status AS execution_status FROM check_auto_fix_loops loop
14
+ JOIN execution_runs run ON run.id = loop.execution_run_id
15
+ WHERE run.project_id = ? AND (
16
+ loop.execution_run_id = ? OR loop.originating_batch_run_id = ? OR loop.final_batch_run_id = ?
17
+ OR EXISTS (
18
+ SELECT 1 FROM check_auto_fix_attempts attempt
19
+ WHERE attempt.loop_run_id = loop.execution_run_id
20
+ AND (attempt.source_batch_run_id = ? OR attempt.rerun_batch_run_id = ?)
21
+ )
22
+ )
23
+ ORDER BY loop.created_at DESC LIMIT 1
24
+ `).get(projectId, runOrBatchId, runOrBatchId, runOrBatchId, runOrBatchId, runOrBatchId);
25
+ if (!loop) {
26
+ return null;
27
+ }
28
+ const rows = db.prepare(`
29
+ SELECT attempt.ordinal, attempt.source_batch_run_id, attempt.child_run_id,
30
+ attempt.launch_outcome, attempt.rerun_batch_run_id, attempt.terminal_reason,
31
+ attempt.terminal_message, attempt.created_at, attempt.updated_at,
32
+ EXISTS (
33
+ SELECT 1 FROM lifecycle_events event
34
+ WHERE event.execution_run_id = attempt.loop_run_id
35
+ AND event.event_type = 'check_auto_fix_fallback'
36
+ AND json_extract(event.metadata_json, '$.attempt') = attempt.ordinal
37
+ ) AS fallback_used,
38
+ child.status AS child_status, rerun.status AS rerun_status
39
+ FROM check_auto_fix_attempts attempt
40
+ LEFT JOIN execution_runs child ON child.id = attempt.child_run_id
41
+ LEFT JOIN execution_runs rerun ON rerun.id = attempt.rerun_batch_run_id
42
+ WHERE attempt.loop_run_id = ? ORDER BY attempt.ordinal
43
+ `).all(loop.execution_run_id);
44
+ const active = rows[rows.length - 1];
45
+ const phase = loop.terminal_reason
46
+ ? 'terminal'
47
+ : loop.cancellation_requested
48
+ ? 'stopping'
49
+ : active?.rerun_batch_run_id && active.rerun_status && !TERMINAL_STATUSES.has(active.rerun_status)
50
+ ? 'rerunning'
51
+ : active?.child_run_id && active.child_status && !TERMINAL_STATUSES.has(active.child_status)
52
+ ? 'repairing'
53
+ : 'dispatching';
54
+ return {
55
+ execution_run_id: loop.execution_run_id,
56
+ execution_status: loop.execution_status,
57
+ phase,
58
+ originating_batch_run_id: loop.originating_batch_run_id,
59
+ final_batch_run_id: loop.final_batch_run_id ?? loop.originating_batch_run_id,
60
+ owner_type: loop.owner_type,
61
+ owner_id: loop.owner_id,
62
+ causal_execution_run_id: loop.causal_execution_run_id,
63
+ causal_agent_run_id: loop.causal_agent_run_id,
64
+ attempt_count: loop.attempt_count,
65
+ max_attempts: MAX_ATTEMPTS,
66
+ cancellation_requested: loop.cancellation_requested === 1,
67
+ terminal_reason: loop.terminal_reason,
68
+ terminal_message: loop.terminal_message,
69
+ attempts: rows.map(row => ({
70
+ ordinal: row.ordinal,
71
+ source_batch_run_id: row.source_batch_run_id,
72
+ child_run_id: row.child_run_id,
73
+ continuation: row.launch_outcome === 'continued' || row.launch_outcome === 'fresh' ? row.launch_outcome : null,
74
+ fallback_used: row.fallback_used === 1,
75
+ rerun_batch_run_id: row.rerun_batch_run_id,
76
+ terminal_reason: row.terminal_reason,
77
+ terminal_message: row.terminal_message,
78
+ created_at: row.created_at,
79
+ updated_at: row.updated_at,
80
+ })),
81
+ };
82
+ };
83
+ //# sourceMappingURL=checkAutoFixDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAutoFixDetails.js","sourceRoot":"","sources":["../../../server/lib/checkAutoFixDetails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { createHash } from 'crypto';
2
+ import { getCheckDefinitionFingerprint } from './checkDefinitions.js';
3
+ import { parseRequiredCheckDefinitionIds } from './requiredCheckPolicy.js';
4
+ const updateLengthDelimited = (hash, value) => {
5
+ const buffer = Buffer.from(value, 'utf8');
6
+ const length = Buffer.alloc(8);
7
+ length.writeBigUInt64BE(BigInt(buffer.length));
8
+ hash.update(length).update(buffer);
9
+ };
10
+ const compareDefinitionIds = (left, right) => (Buffer.compare(Buffer.from(left.id, 'utf8'), Buffer.from(right.id, 'utf8')));
11
+ const snapshotDefinition = (definition) => ({
12
+ id: definition.id,
13
+ name: definition.name,
14
+ category: definition.category,
15
+ command: definition.command,
16
+ ...(definition.cwd ? { cwd: definition.cwd } : {}),
17
+ timeout_ms: definition.timeout_ms,
18
+ ...(definition.category === 'test' ? { runner: definition.runner } : {}),
19
+ });
20
+ export const getCheckAutoFixPolicyFingerprint = (definitions) => {
21
+ const hash = createHash('sha256');
22
+ updateLengthDelimited(hash, 'archon-check-auto-fix-policy-v1');
23
+ for (const definition of [...definitions].sort(compareDefinitionIds)) {
24
+ updateLengthDelimited(hash, definition.id);
25
+ updateLengthDelimited(hash, getCheckDefinitionFingerprint(definition));
26
+ }
27
+ return hash.digest('hex');
28
+ };
29
+ export const createCheckAutoFixPolicySnapshot = (project, selectedDefinitionSnapshots) => {
30
+ const membership = parseRequiredCheckDefinitionIds(project.auto_fix_check_definition_ids, 'auto_fix_check_definition_ids');
31
+ if ('error' in membership) {
32
+ return { status: 'invalid', error: membership.error };
33
+ }
34
+ const membershipSet = new Set(membership.value);
35
+ const definitions = selectedDefinitionSnapshots
36
+ .filter(definition => membershipSet.has(definition.id))
37
+ .map(snapshotDefinition)
38
+ .sort(compareDefinitionIds);
39
+ return {
40
+ status: 'valid',
41
+ snapshot: {
42
+ definitionIds: definitions.map(definition => definition.id),
43
+ definitions,
44
+ fingerprint: getCheckAutoFixPolicyFingerprint(definitions),
45
+ },
46
+ };
47
+ };
48
+ export const doCurrentDefinitionsMatchCheckAutoFixPolicySnapshot = (snapshot, currentDefinitions) => {
49
+ if (snapshot.fingerprint !== getCheckAutoFixPolicyFingerprint(snapshot.definitions)) {
50
+ return false;
51
+ }
52
+ const currentDefinitionsById = new Map(currentDefinitions.map(definition => [definition.id, definition]));
53
+ return snapshot.definitions.every(definition => {
54
+ const currentDefinition = currentDefinitionsById.get(definition.id);
55
+ return currentDefinition !== undefined
56
+ && getCheckDefinitionFingerprint(currentDefinition) === getCheckDefinitionFingerprint(definition);
57
+ });
58
+ };
59
+ //# sourceMappingURL=checkAutoFixPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAutoFixPolicy.js","sourceRoot":"","sources":["../../../server/lib/checkAutoFixPolicy.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ const targetKey = ({ projectId, bundleId }) => `${projectId}\u0000${bundleId}`;
73
73
  const compareUtf8 = (left, right) => Buffer.compare(Buffer.from(left, 'utf8'), Buffer.from(right, 'utf8'));
74
74
  const sortAttempts = (attempts) => [...attempts].sort((left, right) => (compareUtf8(left.definition_id, right.definition_id) || compareUtf8(left.execution_run_id, right.execution_run_id)));
75
75
  const sameOrderedIds = (left, right) => (left.length === right.length && left.every((id, index) => id === right[index]));
76
- const addMultiplicityReasons = (reasons, requiredIds, representedIds) => {
76
+ const addMultiplicityReasons = (reasons, requiredIds, representedIds, allowExtra = false) => {
77
77
  const required = new Set(requiredIds);
78
78
  const counts = new Map();
79
79
  for (const id of representedIds) {
@@ -85,7 +85,7 @@ const addMultiplicityReasons = (reasons, requiredIds, representedIds) => {
85
85
  if ([...counts.entries()].some(([id, count]) => required.has(id) && count > 1)) {
86
86
  reasons.add('duplicate_evidence');
87
87
  }
88
- if ([...counts.keys()].some(id => !required.has(id))) {
88
+ if (!allowExtra && [...counts.keys()].some(id => !required.has(id))) {
89
89
  reasons.add('extra_evidence');
90
90
  }
91
91
  };
@@ -105,7 +105,10 @@ export const evaluateCheckGate = (input) => {
105
105
  const reasons = new Set(input.blockingReasonCodes);
106
106
  const attempts = sortAttempts(input.attempts);
107
107
  const requiredIds = input.policy.definitionIds;
108
+ const requiredIdSet = new Set(requiredIds);
108
109
  const requiredById = new Map(input.policy.definitions.map(definition => [definition.id, definition]));
110
+ const evaluatedAttempts = attempts.filter(attempt => requiredIdSet.has(attempt.definition_id));
111
+ const evidenceWorkspaceIdentity = input.evidenceWorkspaceIdentity ?? input.workspaceIdentity;
109
112
  if (input.policy.status === 'invalid') {
110
113
  reasons.add('policy_invalid');
111
114
  }
@@ -142,25 +145,46 @@ export const evaluateCheckGate = (input) => {
142
145
  }
143
146
  }
144
147
  else {
148
+ const selectedIds = input.batch.selected_definition_snapshots.map(definition => definition.id);
149
+ const attemptIds = attempts.map(attempt => attempt.definition_id);
150
+ const selectedIdSet = new Set(selectedIds);
151
+ const attemptIdSet = new Set(attemptIds);
152
+ const selectedById = new Map(input.batch.selected_definition_snapshots.map(definition => [definition.id, definition]));
153
+ const terminal = ['completed', 'failed', 'cancelled', 'interrupted'].includes(input.batch.execution_status);
145
154
  if (input.batch.target_kind !== input.target.targetKind
146
155
  || input.batch.target_bundle_id !== input.target.targetBundleId) {
147
156
  reasons.add('target_mismatch');
148
157
  }
149
- if (input.batch.execution_status !== 'completed') {
158
+ if (!terminal) {
150
159
  reasons.add('batch_not_completed');
151
160
  }
152
161
  if (input.batch.queued_count !== 0
153
162
  || input.batch.running_count !== 0
154
- || input.batch.passed_count !== requiredIds.length
155
- || input.batch.failed_count !== 0
156
- || input.batch.cancelled_count !== 0
157
- || input.batch.interrupted_count !== 0
158
- || attempts.some(attempt => attempt.execution_status !== 'completed')) {
163
+ || input.batch.passed_count + input.batch.failed_count + input.batch.cancelled_count
164
+ + input.batch.interrupted_count !== selectedIds.length
165
+ || attempts.length !== selectedIds.length
166
+ || attempts.some(attempt => !['completed', 'failed', 'cancelled', 'interrupted'].includes(attempt.execution_status))) {
159
167
  reasons.add('incomplete_evidence');
160
168
  }
161
- const selectedIds = input.batch.selected_definition_snapshots.map(definition => definition.id);
162
- addMultiplicityReasons(reasons, requiredIds, selectedIds);
163
- addMultiplicityReasons(reasons, requiredIds, attempts.map(attempt => attempt.definition_id));
169
+ if (selectedIdSet.size !== selectedIds.length || attemptIdSet.size !== attemptIds.length) {
170
+ reasons.add('duplicate_evidence');
171
+ }
172
+ if (selectedIds.some(id => !attemptIdSet.has(id))) {
173
+ reasons.add('incomplete_evidence');
174
+ }
175
+ if (attemptIds.some(id => !selectedIdSet.has(id))) {
176
+ reasons.add('extra_evidence');
177
+ }
178
+ if (attempts.some(attempt => {
179
+ const selected = selectedById.get(attempt.definition_id);
180
+ return !selected
181
+ || attempt.definition_fingerprint !== getCheckDefinitionFingerprint(selected)
182
+ || getCheckDefinitionFingerprint(attempt.command_snapshot) !== getCheckDefinitionFingerprint(selected);
183
+ })) {
184
+ reasons.add('definition_drift');
185
+ }
186
+ addMultiplicityReasons(reasons, requiredIds, selectedIds, true);
187
+ addMultiplicityReasons(reasons, requiredIds, evaluatedAttempts.map(attempt => attempt.definition_id), true);
164
188
  if (input.batch.selected_definition_snapshots.some(definition => {
165
189
  const requiredDefinition = requiredById.get(definition.id);
166
190
  return requiredDefinition
@@ -174,11 +198,11 @@ export const evaluateCheckGate = (input) => {
174
198
  const expectedConfigurationFingerprint = getCheckConfigurationFingerprint({
175
199
  targetKind: input.target.targetKind,
176
200
  targetBundleId: input.target.targetBundleId,
177
- }, input.policy.definitions);
201
+ }, input.batch.selected_definition_snapshots);
178
202
  if (input.batch.configuration_fingerprint !== expectedConfigurationFingerprint) {
179
203
  reasons.add('definition_drift');
180
204
  }
181
- for (const attempt of attempts) {
205
+ for (const attempt of evaluatedAttempts) {
182
206
  const requiredDefinition = requiredById.get(attempt.definition_id);
183
207
  if (requiredDefinition && attempt.definition_fingerprint !== getCheckDefinitionFingerprint(requiredDefinition)) {
184
208
  reasons.add('definition_drift');
@@ -186,7 +210,7 @@ export const evaluateCheckGate = (input) => {
186
210
  if (requiredDefinition && attempt.outcome !== 'passed') {
187
211
  reasons.add('attempt_failed');
188
212
  }
189
- if (requiredDefinition && !isCheckAttemptCurrent(attempt, input.workspaceIdentity)) {
213
+ if (requiredDefinition && !isCheckAttemptCurrent(attempt, evidenceWorkspaceIdentity)) {
190
214
  reasons.add('attempt_stale');
191
215
  }
192
216
  }
@@ -195,7 +219,7 @@ export const evaluateCheckGate = (input) => {
195
219
  return {
196
220
  decision: reasonCodes.length === 0 ? 'passed' : 'blocked',
197
221
  reasonCodes,
198
- evaluatedAttempts: attempts,
222
+ evaluatedAttempts,
199
223
  };
200
224
  };
201
225
  const boundedJson = (value, name, maxBytes) => {
@@ -342,6 +366,7 @@ export const insertCheckGateEvaluation = (input) => {
342
366
  boundaryKind: input.boundaryKind,
343
367
  policy: input.policy,
344
368
  workspaceIdentity: input.workspaceIdentity,
369
+ ...(input.evidenceWorkspaceIdentity ? { evidenceWorkspaceIdentity: input.evidenceWorkspaceIdentity } : {}),
345
370
  intendedIdentity: input.intendedIdentity,
346
371
  sourceBatchRunId,
347
372
  };
@@ -359,7 +384,7 @@ export const insertCheckGateEvaluation = (input) => {
359
384
  ) VALUES (?, ?, ?, ?)
360
385
  `);
361
386
  for (const [ordinal, attempt] of result.evaluatedAttempts.entries()) {
362
- statement.run(id, ordinal, attempt.execution_run_id, boundedJson(createCheckGateAttemptSnapshot(attempt, input.workspaceIdentity), 'Check gate attempt snapshot', 64 * 1024));
387
+ statement.run(id, ordinal, attempt.execution_run_id, boundedJson(createCheckGateAttemptSnapshot(attempt, input.evidenceWorkspaceIdentity ?? input.workspaceIdentity), 'Check gate attempt snapshot', 64 * 1024));
363
388
  }
364
389
  db.prepare('UPDATE check_gate_evaluations SET attempts_sealed = 1 WHERE id = ?').run(id);
365
390
  });
@@ -1 +1 @@
1
- {"version":3,"file":"checkGateEvaluations.js","sourceRoot":"","sources":["../../../server/lib/checkGateEvaluations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkGateEvaluations.js","sourceRoot":"","sources":["../../../server/lib/checkGateEvaluations.ts"],"names":[],"mappings":"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"}