@farmslot/protocol 0.52.0 → 0.54.0

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 (70) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/client-cache/index.d.ts +11 -0
  3. package/dist/client-cache/index.d.ts.map +1 -0
  4. package/dist/client-cache/index.js +2 -0
  5. package/dist/client-cache/index.js.map +1 -0
  6. package/dist/contracts/acceptance.d.ts +18 -0
  7. package/dist/contracts/acceptance.d.ts.map +1 -1
  8. package/dist/contracts/acceptance.js +3 -0
  9. package/dist/contracts/acceptance.js.map +1 -1
  10. package/dist/contracts/agents.d.ts +1 -1
  11. package/dist/contracts/agents.d.ts.map +1 -1
  12. package/dist/contracts/runs.d.ts +100 -21
  13. package/dist/contracts/runs.d.ts.map +1 -1
  14. package/dist/contracts/runs.js +15 -0
  15. package/dist/contracts/runs.js.map +1 -1
  16. package/dist/contracts/slots.d.ts +14 -0
  17. package/dist/contracts/slots.d.ts.map +1 -1
  18. package/dist/contracts/worker-terminal.d.ts +2 -0
  19. package/dist/contracts/worker-terminal.d.ts.map +1 -1
  20. package/dist/contracts/worker-terminal.js.map +1 -1
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/recipe/evidence.d.ts +7 -0
  26. package/dist/recipe/evidence.d.ts.map +1 -1
  27. package/dist/recipe/evidence.js.map +1 -1
  28. package/dist/recipe/index.d.ts +1 -0
  29. package/dist/recipe/index.d.ts.map +1 -1
  30. package/dist/recipe/index.js +1 -0
  31. package/dist/recipe/index.js.map +1 -1
  32. package/dist/recipe/pipeline-visual-judgments.d.ts +179 -5
  33. package/dist/recipe/pipeline-visual-judgments.d.ts.map +1 -1
  34. package/dist/recipe/pipeline-visual-judgments.js +64 -4
  35. package/dist/recipe/pipeline-visual-judgments.js.map +1 -1
  36. package/dist/recipe/repair.d.ts +93 -0
  37. package/dist/recipe/repair.d.ts.map +1 -0
  38. package/dist/recipe/repair.js +213 -0
  39. package/dist/recipe/repair.js.map +1 -0
  40. package/dist/runs/decision-resolution.d.ts.map +1 -1
  41. package/dist/runs/decision-resolution.js +4 -0
  42. package/dist/runs/decision-resolution.js.map +1 -1
  43. package/dist/runs/evidence-summary.d.ts +24 -2
  44. package/dist/runs/evidence-summary.d.ts.map +1 -1
  45. package/dist/runs/evidence-summary.js +143 -53
  46. package/dist/runs/evidence-summary.js.map +1 -1
  47. package/dist/runs/run-list-view.d.ts +25 -0
  48. package/dist/runs/run-list-view.d.ts.map +1 -0
  49. package/dist/runs/run-list-view.js +54 -0
  50. package/dist/runs/run-list-view.js.map +1 -0
  51. package/dist/sources/changes.d.ts +37 -0
  52. package/dist/sources/changes.d.ts.map +1 -0
  53. package/dist/sources/changes.js +79 -0
  54. package/dist/sources/changes.js.map +1 -0
  55. package/dist/sources/controller.d.ts +20 -0
  56. package/dist/sources/controller.d.ts.map +1 -1
  57. package/dist/sources/controller.js +63 -1
  58. package/dist/sources/controller.js.map +1 -1
  59. package/dist/sources/status-view.d.ts +6 -1
  60. package/dist/sources/status-view.d.ts.map +1 -1
  61. package/dist/sources/status-view.js +17 -8
  62. package/dist/sources/status-view.js.map +1 -1
  63. package/dist/transport/events.d.ts +16 -0
  64. package/dist/transport/events.d.ts.map +1 -1
  65. package/dist/transport/events.js.map +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.js +1 -1
  68. package/package.json +6 -1
  69. package/scripts/acceptance.d.mts +8 -0
  70. package/scripts/acceptance.mjs +31 -1
@@ -0,0 +1,213 @@
1
+ import { addFinding, createContext, finishResult, isNonEmptyString, isRecord, isRelativeArtifactPath, } from './common.js';
2
+ import { digestRecipeDocument } from './digest.js';
3
+ import { normalizeRecipeClaimId, validateRecipeClaimDeclarations, } from './evidence.js';
4
+ /** The publication gate action that returns qualified Issues to the retained worker. */
5
+ export const SEND_BACK_TO_AGENT_ACTION = 'send-feedback';
6
+ /** Gateway-written worker input; the run store keeps its authoritative digest. */
7
+ export const RECIPE_REPAIR_SCOPE_TASK_PATH = 'artifacts/visual-repair-scope.json';
8
+ /** Checked scope copy retained in the fresh attempt. */
9
+ export const RECIPE_REPAIR_SCOPE_FILE = 'repair-scope.json';
10
+ /** Engine-owned claim-to-source selection retained in the fresh attempt. */
11
+ export const RECIPE_REPAIR_SELECTION_FILE = 'repair-selection.json';
12
+ /** One identity per package and sorted rejection receipts, so retries reuse the same charge. */
13
+ export function recipeRepairId(input) {
14
+ const digest = digestRecipeDocument({
15
+ runId: input.runId,
16
+ packageHash: input.packageHash,
17
+ receiptIds: [...input.receiptIds].sort(),
18
+ });
19
+ return `repair-${digest.slice('sha256:'.length, 'sha256:'.length + 24)}`;
20
+ }
21
+ export function recipeRepairScopeDigest(scope) {
22
+ return digestRecipeDocument(scope);
23
+ }
24
+ /** Rejected criteria always re-prove; others keep retained proof only when the fresh graph left them missing. */
25
+ export function selectRepairClaimSources(scope, fresh) {
26
+ const rejected = new Set(scope.rejected.map(({ claimId }) => claimId));
27
+ return scope.claims.map(({ id }) => {
28
+ const claimId = normalizeRecipeClaimId(id);
29
+ const freshClaim = fresh.find((claim) => claim.id === claimId);
30
+ if (rejected.has(claimId) || (freshClaim && freshClaim.verdict !== 'missing'))
31
+ return { claimId, source: 'fresh' };
32
+ const retained = scope.retained.find((row) => row.claimId === claimId);
33
+ const source = scope.sources.find((row) => row.recipeRunId === retained.recipeRunId);
34
+ return {
35
+ claimId,
36
+ source: 'retained',
37
+ recipeRunId: source.recipeRunId,
38
+ closureIdentity: source.closureIdentity,
39
+ };
40
+ });
41
+ }
42
+ const DIGEST = /^sha256:[a-f0-9]{64}$/u;
43
+ /** The ready gate's frozen package identity: a bare sha256 hex digest. */
44
+ const PACKAGE_HASH = /^[a-f0-9]{64}$/u;
45
+ const COMMIT = /^[a-f0-9]{40,64}$/u;
46
+ const EXECUTION = /^[A-Za-z0-9._-]+$/u;
47
+ const PROOF_MODES = ['state', 'visual', 'mixed'];
48
+ function validExecutionId(value) {
49
+ return typeof value === 'string' && EXECUTION.test(value) && !['.', '..'].includes(value);
50
+ }
51
+ function validMoments(value) {
52
+ return (Array.isArray(value) &&
53
+ value.every((moment) => isRecord(moment) &&
54
+ validExecutionId(moment.recipeRunId) &&
55
+ typeof moment.videoDigest === 'string' &&
56
+ DIGEST.test(moment.videoDigest) &&
57
+ Number.isInteger(moment.traceIndex) &&
58
+ Number(moment.traceIndex) >= 0));
59
+ }
60
+ function validFiles(value) {
61
+ return (Array.isArray(value) &&
62
+ value.every((file) => isRecord(file) &&
63
+ isNonEmptyString(file.path) &&
64
+ isRelativeArtifactPath(file.path) &&
65
+ typeof file.digest === 'string' &&
66
+ DIGEST.test(file.digest)));
67
+ }
68
+ export function validateRecipeRepairScope(value) {
69
+ const context = createContext();
70
+ const issue = (path, message) => addFinding(context, 'error', 'recipe.invalid_repair_scope', path, message);
71
+ if (!isRecord(value)) {
72
+ issue('scope', 'A repair scope must be an object.');
73
+ return finishResult(context);
74
+ }
75
+ if (value.schemaVersion !== 1)
76
+ issue('schemaVersion', 'Unsupported repair scope version.');
77
+ for (const field of [
78
+ 'repairId',
79
+ 'runId',
80
+ 'decisionId',
81
+ 'reviewId',
82
+ 'workerContextId',
83
+ 'repairRecipe',
84
+ ])
85
+ if (!isNonEmptyString(value[field]))
86
+ issue(field, `${field} is required.`);
87
+ if (!Number.isInteger(value.generation) || Number(value.generation) < 0)
88
+ issue('generation', 'A run generation is required.');
89
+ if (typeof value.packageHash !== 'string' || !PACKAGE_HASH.test(value.packageHash))
90
+ issue('packageHash', 'A frozen package digest is required.');
91
+ for (const field of ['packageHeadSha', 'reviewBaseSha'])
92
+ if (typeof value[field] !== 'string' || !COMMIT.test(value[field]))
93
+ issue(field, `${field} must be a full commit.`);
94
+ if (typeof value.repairRecipe === 'string' &&
95
+ (!isRelativeArtifactPath(value.repairRecipe) || value.repairRecipe.startsWith('artifacts/')))
96
+ issue('repairRecipe', 'The repair recipe must be a task-owned relative path.');
97
+ const declarations = validateRecipeClaimDeclarations(value.claims);
98
+ for (const finding of declarations.findings)
99
+ addFinding(context, finding.severity, finding.code, `claims.${finding.path}`, finding.message);
100
+ const claims = Array.isArray(value.claims) ? value.claims.filter(isRecord) : [];
101
+ if (!claims.length)
102
+ issue('claims', 'The full task registration is required.');
103
+ if (claims.some((claim) => claim.parentId !== undefined))
104
+ issue('claims', 'Nested criteria cannot be repaired by claim selection.');
105
+ const registered = claims.map((claim) => normalizeRecipeClaimId(String(claim.id)));
106
+ const sources = Array.isArray(value.sources) ? value.sources : [];
107
+ const sourceIds = new Set();
108
+ for (const [index, source] of sources.entries()) {
109
+ if (!isRecord(source) ||
110
+ !validExecutionId(source.recipeRunId) ||
111
+ sourceIds.has(source.recipeRunId) ||
112
+ typeof source.closureIdentity !== 'string' ||
113
+ !DIGEST.test(source.closureIdentity) ||
114
+ typeof source.artifactRoot !== 'string' ||
115
+ !source.artifactRoot.startsWith('artifacts/') ||
116
+ !isRelativeArtifactPath(source.artifactRoot) ||
117
+ typeof source.headSha !== 'string' ||
118
+ !COMMIT.test(source.headSha)) {
119
+ issue(`sources[${index}]`, 'Invalid or duplicate retained source.');
120
+ continue;
121
+ }
122
+ sourceIds.add(source.recipeRunId);
123
+ }
124
+ if (!sources.length)
125
+ issue('sources', 'At least one original source is required.');
126
+ const rejected = Array.isArray(value.rejected) ? value.rejected : [];
127
+ const rejectedIds = new Set();
128
+ for (const [index, row] of rejected.entries()) {
129
+ const path = `rejected[${index}]`;
130
+ if (!isRecord(row) ||
131
+ typeof row.claimId !== 'string' ||
132
+ !registered.includes(row.claimId) ||
133
+ rejectedIds.has(row.claimId) ||
134
+ !PROOF_MODES.includes(String(row.proofMode)) ||
135
+ !isNonEmptyString(row.receiptId) ||
136
+ !isNonEmptyString(row.reason) ||
137
+ !validExecutionId(row.recipeRunId) ||
138
+ !sourceIds.has(row.recipeRunId) ||
139
+ typeof row.closureIdentity !== 'string' ||
140
+ !DIGEST.test(row.closureIdentity) ||
141
+ !validFiles(row.reviewedFiles) ||
142
+ !validMoments(row.moments)) {
143
+ issue(path, 'Invalid, unregistered or duplicate rejected criterion.');
144
+ continue;
145
+ }
146
+ rejectedIds.add(row.claimId);
147
+ }
148
+ if (!rejected.length)
149
+ issue('rejected', 'A repair requires at least one Issue.');
150
+ const retained = Array.isArray(value.retained) ? value.retained : [];
151
+ const retainedIds = new Set();
152
+ for (const [index, row] of retained.entries()) {
153
+ if (!isRecord(row) ||
154
+ typeof row.claimId !== 'string' ||
155
+ !registered.includes(row.claimId) ||
156
+ rejectedIds.has(row.claimId) ||
157
+ retainedIds.has(row.claimId) ||
158
+ typeof row.recipeRunId !== 'string' ||
159
+ !sourceIds.has(row.recipeRunId)) {
160
+ issue(`retained[${index}]`, 'Invalid, rejected or duplicate retained criterion.');
161
+ continue;
162
+ }
163
+ retainedIds.add(row.claimId);
164
+ }
165
+ if (registered.some((id) => !rejectedIds.has(id) && !retainedIds.has(id)))
166
+ issue('retained', 'Every non-rejected criterion must name its current source.');
167
+ if (isNonEmptyString(value.runId) &&
168
+ typeof value.packageHash === 'string' &&
169
+ value.repairId !==
170
+ recipeRepairId({
171
+ runId: value.runId,
172
+ packageHash: value.packageHash,
173
+ receiptIds: rejected.filter(isRecord).map((row) => String(row.receiptId)),
174
+ }))
175
+ issue('repairId', 'Repair identity does not bind the package and rejection receipts.');
176
+ return finishResult(context);
177
+ }
178
+ export function isRecipeRepairScope(value) {
179
+ return validateRecipeRepairScope(value).status === 'valid';
180
+ }
181
+ /** The selection must be exactly the engine rule over the scope and the fresh claims. */
182
+ export function validateRecipeRepairSelection(value, scope, fresh) {
183
+ const context = createContext();
184
+ const issue = (path, message) => addFinding(context, 'error', 'recipe.invalid_repair_selection', path, message);
185
+ if (!isRecord(value)) {
186
+ issue('selection', 'A repair selection must be an object.');
187
+ return finishResult(context);
188
+ }
189
+ if (value.schemaVersion !== 1)
190
+ issue('schemaVersion', 'Unsupported repair selection version.');
191
+ if (value.repairId !== scope.repairId)
192
+ issue('repairId', 'Selection belongs to another repair.');
193
+ if (value.scopeDigest !== recipeRepairScopeDigest(scope))
194
+ issue('scopeDigest', 'Selection does not bind the retained repair scope.');
195
+ if (value.recipeRunId !== fresh.recipeRunId)
196
+ issue('recipeRunId', 'Selection belongs to another fresh execution.');
197
+ const registered = new Set(scope.claims.map(({ id }) => normalizeRecipeClaimId(id)));
198
+ const freshIds = new Set(fresh.criteria.map(({ id }) => id));
199
+ if (fresh.criteria.length !== registered.size ||
200
+ freshIds.size !== registered.size ||
201
+ [...registered].some((id) => !freshIds.has(id)))
202
+ issue('claims', 'The fresh execution must keep the full task registration.');
203
+ for (const rejection of scope.rejected) {
204
+ const claim = fresh.criteria.find(({ id }) => id === rejection.claimId);
205
+ if (claim && claim.proofMode !== rejection.proofMode)
206
+ issue(`claims.${rejection.claimId}.proofMode`, `Fresh proof must keep the original ${rejection.proofMode} proof mode.`);
207
+ }
208
+ if (digestRecipeDocument(value.claims) !==
209
+ digestRecipeDocument(selectRepairClaimSources(scope, fresh.criteria)))
210
+ issue('claims', 'Selection differs from the engine claim-source rule.');
211
+ return finishResult(context);
212
+ }
213
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/recipe/repair.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decision-resolution.d.ts","sourceRoot":"","sources":["../../src/runs/decision-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAKtF,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;;;;;;EAS7F;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,kBAAkB,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC7E;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC5E;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAEtF,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,wBAAwB,CAuB1B;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,sBAAsB;;;EAYrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAetC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,GAAG,wBAAwB,CAqC3B"}
1
+ {"version":3,"file":"decision-resolution.d.ts","sourceRoot":"","sources":["../../src/runs/decision-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAKtF,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;;;;;;EAS7F;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,kBAAkB,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC7E;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,iBAAiB,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC5E;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAEtF,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,wBAAwB,CAuB1B;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,sBAAsB;;;EAYrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAetC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,GAAG,wBAAwB,CAuC3B"}
@@ -1,4 +1,5 @@
1
1
  import { MARK_CLAIM_UNTESTABLE_ACTION, runClaimOverrideSnapshotIdentity, } from '../recipe/claim-overrides.js';
2
+ import { SEND_BACK_TO_AGENT_ACTION } from '../recipe/repair.js';
2
3
  import { Methods } from '../rpc/registry.js';
3
4
  import { evidenceAttestationReason } from './publish-approval.js';
4
5
  import { reviewPostingFingerprint } from './review-curation.js';
@@ -99,6 +100,9 @@ export function buildRunResolveDecisionParams(input) {
99
100
  ...selectionData,
100
101
  claimOverrideSnapshot: runClaimOverrideSnapshotIdentity(input.decision),
101
102
  };
103
+ // Send back derives its Issues from the frozen gate decision; the gateway refuses selection data.
104
+ if (input.actionId === SEND_BACK_TO_AGENT_ACTION)
105
+ selectionData = undefined;
102
106
  return {
103
107
  runId: input.runId,
104
108
  decisionId: input.decision.id,
@@ -1 +1 @@
1
- {"version":3,"file":"decision-resolution.js","sourceRoot":"","sources":["../../src/runs/decision-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-resolution.js","sourceRoot":"","sources":["../../src/runs/decision-resolution.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,36 @@
1
1
  import type { EvidenceManifestEntry, Run } from '../contracts/runs.js';
2
+ /** A run artifact with the metadata its source recorded. */
3
+ export interface RunArtifactManifestEntry extends EvidenceManifestEntry {
4
+ type?: string;
5
+ label?: string;
6
+ nodeId?: string;
7
+ mimeType?: string;
8
+ timelinePath?: string;
9
+ timelineUnavailableReason?: string;
10
+ bundleDigest?: string;
11
+ }
2
12
  export interface RunEvidenceSummary {
3
13
  artifactCount: number;
4
14
  videoCount: number;
5
15
  visualPairCount: number;
6
16
  }
7
- export declare function runEvidenceArtifacts(run: Pick<Run, 'decisions' | 'steps' | 'liveRecipeContext'>): EvidenceManifestEntry[];
8
- export declare function summarizeRunEvidence(run: Pick<Run, 'decisions' | 'steps' | 'liveRecipeContext'>): RunEvidenceSummary;
17
+ /**
18
+ * Every artifact a run reports: gate and review payloads, the captured run
19
+ * output and step outputs, without gateway-internal launch diagnostics. Command
20
+ * Center and Companion both read a run's artifacts through this.
21
+ */
22
+ export declare function extractRunArtifactManifest(run: Pick<Run, 'decisions' | 'steps' | 'output'>): RunArtifactManifestEntry[];
23
+ export declare function runEvidenceArtifacts(run: Pick<Run, 'decisions' | 'steps' | 'output' | 'liveRecipeContext'>): RunArtifactManifestEntry[];
24
+ export declare function summarizeRunEvidence(run: Pick<Run, 'decisions' | 'steps' | 'output' | 'liveRecipeContext'>): RunEvidenceSummary;
9
25
  export declare function isRunEvidenceVideoArtifact(entry: Pick<EvidenceManifestEntry, 'path'>): boolean;
10
26
  export declare function isRunEvidenceImageArtifact(entry: Pick<EvidenceManifestEntry, 'path'>): boolean;
11
27
  /** Canonical "is this evidence displayable" check — image or video. Single
12
28
  * source of truth for visual evidence formats across gateway and UI surfaces. */
13
29
  export declare function isRunEvidenceVisualArtifact(entry: Pick<EvidenceManifestEntry, 'path'>): boolean;
30
+ export declare function runArtifactPathsToManifest(paths: readonly string[]): RunArtifactManifestEntry[];
31
+ /** Image formats the clients show inline; `isRunEvidenceImageArtifact` also counts ones they can't. */
32
+ export declare function isRunArtifactImagePath(path: string): boolean;
33
+ export declare function inferRunArtifactPurpose(path: string): string;
34
+ /** One entry per path; the most specific purpose and the latest retention metadata win. */
35
+ export declare function dedupeRunArtifacts<T extends RunArtifactManifestEntry>(entries: readonly T[]): T[];
14
36
  //# sourceMappingURL=evidence-summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-summary.d.ts","sourceRoot":"","sources":["../../src/runs/evidence-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,mBAAmB,CAAC,GAC1D,qBAAqB,EAAE,CAiBzB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,mBAAmB,CAAC,GAC1D,kBAAkB,CAOpB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE9F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE9F;AAED;iFACiF;AACjF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/F"}
1
+ {"version":3,"file":"evidence-summary.d.ts","sourceRoot":"","sources":["../../src/runs/evidence-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAIvE,4DAA4D;AAC5D,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC,GAC/C,wBAAwB,EAAE,CAoC5B;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,mBAAmB,CAAC,GACrE,wBAAwB,EAAE,CAK5B;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,mBAAmB,CAAC,GACrE,kBAAkB,CAOpB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE9F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE9F;AAED;iFACiF;AACjF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,wBAAwB,EAAE,CAE/F;AAED,uGAAuG;AACvG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY5D;AAwGD,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,wBAAwB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAOjG"}
@@ -1,22 +1,55 @@
1
- export function runEvidenceArtifacts(run) {
1
+ import { isRelativeArtifactPath } from '../recipe/common.js';
2
+ import { isInternalRunArtifactPath } from '../recipes/step-io.js';
3
+ /**
4
+ * Every artifact a run reports: gate and review payloads, the captured run
5
+ * output and step outputs, without gateway-internal launch diagnostics. Command
6
+ * Center and Companion both read a run's artifacts through this.
7
+ */
8
+ export function extractRunArtifactManifest(run) {
2
9
  const entries = [];
3
- entries.push(...(run.liveRecipeContext?.artifactManifest ?? []));
4
10
  for (const decision of run.decisions ?? []) {
5
11
  const payload = decision.payload;
6
- if (!payload)
7
- continue;
8
- if (payload.kind === 'ready') {
12
+ if (payload?.kind === 'ready') {
9
13
  entries.push(...(payload.artifactManifest ?? []));
10
14
  entries.push(...(payload.prPackage?.evidenceManifest ?? []));
15
+ for (const check of payload.prPackage?.deterministicChecks ?? []) {
16
+ if (check.logPath) {
17
+ entries.push({
18
+ path: check.logPath,
19
+ purpose: 'ci-parity-log',
20
+ type: 'log',
21
+ label: `${check.reference} · ${check.status}`,
22
+ });
23
+ }
24
+ }
25
+ }
26
+ else if (payload?.kind === 'review') {
27
+ entries.push(...(payload.artifactManifest ?? []));
28
+ entries.push(...runArtifactPathsToManifest(payload.reviewInputArtifactPaths ?? []));
11
29
  }
12
- else if (payload.kind === 'review' || payload.kind === 'no-change') {
30
+ else if (payload?.kind === 'no-change') {
13
31
  entries.push(...(payload.artifactManifest ?? []));
14
32
  }
15
33
  }
34
+ // A gate keeps the frozen metadata of a file the run output captured again
35
+ // later; the output only fills in what the gate did not record.
36
+ const declared = new Map(dedupeRunArtifacts(entries).map((entry) => [entry.path, entry]));
37
+ for (const artifact of run.output?.artifactManifest ?? []) {
38
+ if (isInternalRunArtifactPath(artifact.path))
39
+ continue;
40
+ const frozen = declared.get(artifact.path);
41
+ entries.push(frozen ? { ...artifact, ...frozen } : artifact);
42
+ }
16
43
  for (const step of run.steps ?? []) {
17
- collectRunEvidenceArtifactEntries(step.outputs, entries);
44
+ collectRunArtifactEntries(step.outputs, entries);
18
45
  }
19
- return dedupeRunEvidenceArtifacts(entries);
46
+ return dedupeRunArtifacts(entries);
47
+ }
48
+ export function runEvidenceArtifacts(run) {
49
+ return dedupeRunArtifacts([
50
+ ...(run.liveRecipeContext?.artifactManifest ?? []),
51
+ ...extractRunArtifactManifest(run),
52
+ ]);
20
53
  }
21
54
  export function summarizeRunEvidence(run) {
22
55
  const artifacts = runEvidenceArtifacts(run);
@@ -37,43 +70,82 @@ export function isRunEvidenceImageArtifact(entry) {
37
70
  export function isRunEvidenceVisualArtifact(entry) {
38
71
  return isRunEvidenceImageArtifact(entry) || isRunEvidenceVideoArtifact(entry);
39
72
  }
40
- function collectRunEvidenceArtifactEntries(value, entries) {
73
+ export function runArtifactPathsToManifest(paths) {
74
+ return paths.map((path) => ({ path, purpose: inferRunArtifactPurpose(path) }));
75
+ }
76
+ /** Image formats the clients show inline; `isRunEvidenceImageArtifact` also counts ones they can't. */
77
+ export function isRunArtifactImagePath(path) {
78
+ return /\.(png|jpg|jpeg|gif|svg|webp)$/i.test(path);
79
+ }
80
+ export function inferRunArtifactPurpose(path) {
81
+ const normalized = path.toLowerCase();
82
+ if (/\.(diff|patch)$/.test(normalized))
83
+ return 'diff';
84
+ if (normalized.includes('screenshot'))
85
+ return 'screenshot';
86
+ if (isRunEvidenceVideoArtifact({ path }))
87
+ return 'video';
88
+ if (isRunArtifactImagePath(path))
89
+ return 'image';
90
+ if (/diff[_-]?stat/i.test(normalized))
91
+ return 'diff-stat';
92
+ if (/\/diff\.(txt|md)$/i.test(normalized))
93
+ return 'diff';
94
+ if (normalized.includes('review'))
95
+ return 'review';
96
+ if (normalized.includes('report'))
97
+ return 'report';
98
+ if (normalized.includes('recipe'))
99
+ return 'recipe';
100
+ return 'artifact';
101
+ }
102
+ function collectRunArtifactEntries(value, entries) {
41
103
  if (value == null)
42
104
  return;
43
105
  if (typeof value === 'string') {
44
- if (looksLikeRunEvidenceArtifactPath(value)) {
45
- entries.push({ path: value, purpose: inferRunEvidenceArtifactPurpose(value) });
106
+ // A bare string is an artifact only as a relative path, never prose or a host path.
107
+ if (!/\s/.test(value) && isRelativeArtifactPath(value) && looksLikeRunArtifactPath(value)) {
108
+ entries.push({ path: value, purpose: inferRunArtifactPurpose(value) });
46
109
  }
47
110
  return;
48
111
  }
49
112
  if (Array.isArray(value)) {
50
- value.forEach((item) => collectRunEvidenceArtifactEntries(item, entries));
113
+ value.forEach((item) => collectRunArtifactEntries(item, entries));
51
114
  return;
52
115
  }
53
116
  if (typeof value !== 'object')
54
117
  return;
55
118
  const record = value;
56
- if (typeof record.path === 'string' && looksLikeRunEvidenceArtifactEntry(record)) {
119
+ if (typeof record.path === 'string' && looksLikeRunArtifactEntry(record)) {
57
120
  entries.push({
58
121
  path: record.path,
59
- purpose: typeof record.purpose === 'string'
60
- ? record.purpose
61
- : inferRunEvidenceArtifactPurpose(record.path),
122
+ purpose: typeof record.purpose === 'string' ? record.purpose : inferRunArtifactPurpose(record.path),
62
123
  ...(typeof record.sizeBytes === 'number' ? { sizeBytes: record.sizeBytes } : {}),
124
+ ...(typeof record.type === 'string' ? { type: record.type } : {}),
125
+ ...(typeof record.label === 'string' ? { label: record.label } : {}),
126
+ ...(typeof record.mimeType === 'string' ? { mimeType: record.mimeType } : {}),
63
127
  ...(typeof record.sha256 === 'string' ? { sha256: record.sha256 } : {}),
128
+ ...(typeof record.timelinePath === 'string' ? { timelinePath: record.timelinePath } : {}),
129
+ ...(typeof record.timelineUnavailableReason === 'string'
130
+ ? { timelineUnavailableReason: record.timelineUnavailableReason }
131
+ : {}),
64
132
  });
65
133
  }
66
- Object.entries(record)
67
- .filter(([key]) => key !== 'path' && key !== 'purpose' && key !== 'sizeBytes' && key !== 'sha256')
68
- .forEach(([, item]) => collectRunEvidenceArtifactEntries(item, entries));
69
- }
70
- function looksLikeRunEvidenceArtifactEntry(record) {
71
- const pathValue = record.path;
72
- return (typeof pathValue === 'string' &&
73
- (typeof record.purpose === 'string' ||
74
- typeof record.type === 'string' ||
75
- typeof record.mimeType === 'string' ||
76
- looksLikeRunEvidenceArtifactPath(pathValue)));
134
+ Object.values(record).forEach((item) => collectRunArtifactEntries(item, entries));
135
+ }
136
+ function looksLikeRunArtifactEntry(record) {
137
+ const path = record.path;
138
+ if (typeof path !== 'string' || !isRelativeArtifactPath(path))
139
+ return false;
140
+ return (typeof record.purpose === 'string' ||
141
+ typeof record.type === 'string' ||
142
+ typeof record.mimeType === 'string' ||
143
+ looksLikeRunArtifactPath(path));
144
+ }
145
+ function looksLikeRunArtifactPath(value) {
146
+ return (isRunArtifactImagePath(value) ||
147
+ isRunEvidenceVideoArtifact({ path: value }) ||
148
+ /\.(md|json|txt|log|diff|patch)$/i.test(value));
77
149
  }
78
150
  function countRunEvidenceVisualPairs(entries) {
79
151
  const buckets = new Map();
@@ -120,38 +192,56 @@ function pathDirname(pathValue) {
120
192
  const index = normalized.lastIndexOf('/');
121
193
  return index >= 0 ? normalized.slice(0, index) : '.';
122
194
  }
123
- function dedupeRunEvidenceArtifacts(entries) {
195
+ /** One entry per path; the most specific purpose and the latest retention metadata win. */
196
+ export function dedupeRunArtifacts(entries) {
124
197
  const merged = new Map();
125
198
  for (const entry of entries) {
126
199
  const existing = merged.get(entry.path);
127
- merged.set(entry.path, existing
128
- ? {
129
- ...entry,
130
- purpose: existing.purpose === 'artifact' && entry.purpose !== 'artifact'
131
- ? entry.purpose
132
- : existing.purpose,
133
- sizeBytes: existing.sizeBytes ?? entry.sizeBytes,
134
- sha256: existing.sha256 ?? entry.sha256,
135
- }
136
- : entry);
200
+ merged.set(entry.path, existing ? mergeRunArtifactMetadata(existing, entry) : entry);
137
201
  }
138
202
  return [...merged.values()];
139
203
  }
140
- function looksLikeRunEvidenceArtifactPath(value) {
141
- return /\.(png|jpe?g|webp|gif|mp4|mov|m4v|webm|md|json|txt|diff|patch)$/i.test(value);
204
+ const LATEST_RUN_ARTIFACT_FIELDS = [
205
+ 'sha256',
206
+ 'timelinePath',
207
+ 'timelineUnavailableReason',
208
+ 'bundleDigest',
209
+ ];
210
+ function mergeRunArtifactMetadata(existing, incoming) {
211
+ const merged = { ...existing };
212
+ for (const key of LATEST_RUN_ARTIFACT_FIELDS) {
213
+ if (incoming[key] !== undefined)
214
+ merged[key] = incoming[key];
215
+ }
216
+ const incomingIsMoreSpecific = runArtifactPurposeSpecificity(incoming.purpose) >
217
+ runArtifactPurposeSpecificity(existing.purpose);
218
+ if (incomingIsMoreSpecific)
219
+ merged.purpose = incoming.purpose;
220
+ const fixed = new Set(['path', 'purpose', ...LATEST_RUN_ARTIFACT_FIELDS]);
221
+ for (const key of Object.keys(incoming)) {
222
+ if (fixed.has(key) || incoming[key] === undefined)
223
+ continue;
224
+ if (merged[key] === undefined || incomingIsMoreSpecific)
225
+ merged[key] = incoming[key];
226
+ }
227
+ return merged;
142
228
  }
143
- function inferRunEvidenceArtifactPurpose(pathValue) {
144
- const normalized = pathValue.toLowerCase();
145
- if (normalized.includes('before') || normalized.includes('baseline'))
146
- return 'before';
147
- if (normalized.includes('after') || normalized.includes('current'))
148
- return 'after';
149
- if (normalized.includes('diff'))
150
- return 'diff';
151
- if (normalized.includes('review'))
152
- return 'review';
153
- if (normalized.includes('report'))
154
- return 'report';
155
- return 'artifact';
229
+ const NEUTRAL_VISUAL_PURPOSES = new Set([
230
+ 'image',
231
+ 'screenshot',
232
+ 'debug-screenshot',
233
+ 'video',
234
+ 'visual',
235
+ ]);
236
+ function runArtifactPurposeSpecificity(purpose) {
237
+ if (/\b(before|after|current|candidate|baseline|reference)\b/.test(purpose))
238
+ return 3;
239
+ if (purpose === 'other')
240
+ return 0;
241
+ if (!NEUTRAL_VISUAL_PURPOSES.has(purpose) && purpose !== 'artifact')
242
+ return 2;
243
+ if (purpose === 'artifact')
244
+ return 0;
245
+ return 1;
156
246
  }
157
247
  //# sourceMappingURL=evidence-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-summary.js","sourceRoot":"","sources":["../../src/runs/evidence-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence-summary.js","sourceRoot":"","sources":["../../src/runs/evidence-summary.ts"],"names":[],"mappings":"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"}