@cleocode/contracts 2026.5.120 → 2026.5.122

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 (63) hide show
  1. package/dist/__tests__/changesets.test.d.ts +8 -0
  2. package/dist/__tests__/changesets.test.d.ts.map +1 -0
  3. package/dist/__tests__/changesets.test.js +146 -0
  4. package/dist/__tests__/changesets.test.js.map +1 -0
  5. package/dist/__tests__/evidence-atom-schema.test.js +75 -1
  6. package/dist/__tests__/evidence-atom-schema.test.js.map +1 -1
  7. package/dist/__tests__/satisfies-atom.test.d.ts +24 -0
  8. package/dist/__tests__/satisfies-atom.test.d.ts.map +1 -0
  9. package/dist/__tests__/satisfies-atom.test.js +302 -0
  10. package/dist/__tests__/satisfies-atom.test.js.map +1 -0
  11. package/dist/__tests__/validator-types.test.d.ts +13 -0
  12. package/dist/__tests__/validator-types.test.d.ts.map +1 -0
  13. package/dist/__tests__/validator-types.test.js +293 -0
  14. package/dist/__tests__/validator-types.test.js.map +1 -0
  15. package/dist/changesets.d.ts +91 -0
  16. package/dist/changesets.d.ts.map +1 -1
  17. package/dist/changesets.js +72 -2
  18. package/dist/changesets.js.map +1 -1
  19. package/dist/config.d.ts +56 -0
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/data-accessor.d.ts +117 -0
  22. package/dist/data-accessor.d.ts.map +1 -1
  23. package/dist/data-accessor.js.map +1 -1
  24. package/dist/dispatch/operations-registry.d.ts.map +1 -1
  25. package/dist/dispatch/operations-registry.js +29 -0
  26. package/dist/dispatch/operations-registry.js.map +1 -1
  27. package/dist/evidence-atom-schema.d.ts +143 -8
  28. package/dist/evidence-atom-schema.d.ts.map +1 -1
  29. package/dist/evidence-atom-schema.js +258 -1
  30. package/dist/evidence-atom-schema.js.map +1 -1
  31. package/dist/exit-codes.d.ts +41 -1
  32. package/dist/exit-codes.d.ts.map +1 -1
  33. package/dist/exit-codes.js +40 -0
  34. package/dist/exit-codes.js.map +1 -1
  35. package/dist/index.d.ts +8 -6
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +4 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/operations/tasks.d.ts +75 -0
  40. package/dist/operations/tasks.d.ts.map +1 -1
  41. package/dist/operations/tasks.js.map +1 -1
  42. package/dist/task.d.ts +38 -0
  43. package/dist/task.d.ts.map +1 -1
  44. package/dist/validator/index.d.ts +375 -0
  45. package/dist/validator/index.d.ts.map +1 -0
  46. package/dist/validator/index.js +162 -0
  47. package/dist/validator/index.js.map +1 -0
  48. package/package.json +2 -2
  49. package/src/__tests__/__snapshots__/operations-registry.test.ts.snap +1 -1
  50. package/src/__tests__/changesets.test.ts +176 -0
  51. package/src/__tests__/evidence-atom-schema.test.ts +88 -0
  52. package/src/__tests__/satisfies-atom.test.ts +363 -0
  53. package/src/__tests__/validator-types.test.ts +359 -0
  54. package/src/changesets.ts +93 -2
  55. package/src/config.ts +58 -0
  56. package/src/data-accessor.ts +120 -0
  57. package/src/dispatch/operations-registry.ts +31 -0
  58. package/src/evidence-atom-schema.ts +319 -8
  59. package/src/exit-codes.ts +42 -0
  60. package/src/index.ts +39 -0
  61. package/src/operations/tasks.ts +76 -0
  62. package/src/task.ts +39 -0
  63. package/src/validator/index.ts +385 -0
@@ -170,6 +170,89 @@ export declare const callsiteCoverageAtomSchema: z.ZodObject<{
170
170
  symbolName: z.ZodString;
171
171
  relativeSourcePath: z.ZodString;
172
172
  }, z.core.$strip>;
173
+ /**
174
+ * Strict UUIDv4 regex (lowercase, hyphenated 8-4-4-4-12 with the `4` major
175
+ * version nibble and `[89ab]` variant nibble) per ADR-079-r2 §2.1 ABNF
176
+ * (`ac-uuid` production) and RFC 9562 §5.4. Used by the `satisfies:` atom
177
+ * to validate the target-AC UUID form.
178
+ *
179
+ * Validators MUST reject mixed-case to prevent silent dedupe failures — the
180
+ * canonical column casing is lowercase per ADR-079-r1 §2.1.
181
+ *
182
+ * @task T10506
183
+ * @adr ADR-079-r2 §2.1
184
+ */
185
+ export declare const AC_UUID_REGEX: RegExp;
186
+ /**
187
+ * Positional-alias regex for `satisfies:` atom target-AC identifiers per
188
+ * ADR-079-r2 §2.1 ABNF (`ac-alias` production). Format: `AC<1-4 digits>`
189
+ * (capped at AC9999 — three orders of magnitude above realistic per-task AC
190
+ * counts).
191
+ *
192
+ * @task T10506
193
+ * @adr ADR-079-r2 §2.1
194
+ */
195
+ export declare const AC_ALIAS_REGEX: RegExp;
196
+ /**
197
+ * Task-id regex for `satisfies:` atom target-task identifiers per ADR-079-r2
198
+ * §2.1 ABNF (`task-id` production). Format: `T<1-7 digits>` (capped at
199
+ * T9999999 — three orders of magnitude above current CLEO task IDs as of
200
+ * 2026-05-24).
201
+ *
202
+ * @task T10506
203
+ * @adr ADR-079-r2 §2.1
204
+ */
205
+ export declare const SATISFIES_TASK_ID_REGEX: RegExp;
206
+ /**
207
+ * Version-pin regex for `satisfies:` atom optional `@<ts>` suffix per
208
+ * ADR-079-r2 §2.1 ABNF (`version-pin` production). Format: `YYYYMMDDhhmmss`
209
+ * (ISO-8601-basic timestamp, 14 digits).
210
+ *
211
+ * @task T10506
212
+ * @adr ADR-079-r2 §2.1
213
+ */
214
+ export declare const SATISFIES_VERSION_PIN_REGEX: RegExp;
215
+ /**
216
+ * `satisfies:<task-id>#<ac-id>[@<version-pin>]` atom — cross-task AC binding
217
+ * per ADR-079-r2 §2.1 (full grammar) and ADR-079-r1 §2.4 (basic shape).
218
+ *
219
+ * Format:
220
+ *
221
+ * - `satisfies:T1234#a1b2c3d4-5e6f-4890-abcd-ef1234567890` — canonical
222
+ * UUID form (preferred for long-lived specs).
223
+ * - `satisfies:T1234#AC2` — positional
224
+ * alias form (preferred in fresh PRs where the target task's AC list
225
+ * is stable).
226
+ * - `satisfies:T1234#AC2@20260524223045` — alias +
227
+ * optional version-pin (Validator emissions where pin-on-mint is
228
+ * required by ADR-079-r2 §3.4).
229
+ *
230
+ * Exactly ONE of `targetAcId` (UUID form) or `targetAcAlias` (alias form)
231
+ * is populated per parsed atom. `versionPin` is always optional.
232
+ *
233
+ * ## Scope
234
+ *
235
+ * This Zod schema covers PARSING ONLY. The runtime validator semantics —
236
+ * the 5-check accept/reject pipeline (target exists, target not terminal,
237
+ * AC exists, same-saga scope rule) — ship in T10507 alongside the
238
+ * `evidence_satisfies_bindings` side-effect table.
239
+ *
240
+ * Per ADR-079-r2 §2.2 the maximum atom length is 120 chars; the schema does
241
+ * NOT enforce length here because the per-field regexes already cap the
242
+ * surface (`satisfies:` + 8-char T+digits + `#` + 36-char UUID + `@` +
243
+ * 14-char pin = 78 chars max — well under 120).
244
+ *
245
+ * @task T10506
246
+ * @adr ADR-079-r2 §2.1
247
+ * @adr ADR-079-r1 §2.4
248
+ */
249
+ export declare const satisfiesAtomSchema: z.ZodObject<{
250
+ kind: z.ZodLiteral<"satisfies">;
251
+ targetTaskId: z.ZodString;
252
+ targetAcId: z.ZodOptional<z.ZodString>;
253
+ targetAcAlias: z.ZodOptional<z.ZodString>;
254
+ versionPin: z.ZodOptional<z.ZodString>;
255
+ }, z.core.$strip>;
173
256
  /**
174
257
  * Zod discriminated union covering every parseable evidence atom prefix.
175
258
  *
@@ -189,6 +272,8 @@ export declare const callsiteCoverageAtomSchema: z.ZodObject<{
189
272
  * - `pr` — merged-PR retroactive proof (T9764 / T9838)
190
273
  * - `loc-drop` — engine-migration LOC reduction (T1604)
191
274
  * - `callsite-coverage` — exported-symbol production callsite (T1605)
275
+ * - `satisfies` — cross-task AC binding (T10506 / ADR-079-r2;
276
+ * validator semantics ship in T10507)
192
277
  *
193
278
  * @task T10337
194
279
  * @adr ADR-051
@@ -225,6 +310,12 @@ export declare const EvidenceAtomSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
225
310
  kind: z.ZodLiteral<"callsite-coverage">;
226
311
  symbolName: z.ZodString;
227
312
  relativeSourcePath: z.ZodString;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ kind: z.ZodLiteral<"satisfies">;
315
+ targetTaskId: z.ZodString;
316
+ targetAcId: z.ZodOptional<z.ZodString>;
317
+ targetAcAlias: z.ZodOptional<z.ZodString>;
318
+ versionPin: z.ZodOptional<z.ZodString>;
228
319
  }, z.core.$strip>], "kind">;
229
320
  /**
230
321
  * Inferred TypeScript type for a parsed evidence atom.
@@ -293,17 +384,26 @@ export declare const GATE_EVIDENCE_REQUIREMENTS: Readonly<Record<VerificationGat
293
384
  * Result of {@link validateEvidenceForGate}.
294
385
  *
295
386
  * Success carries no extra payload (the caller already holds the atom list).
296
- * Failure carries a human-readable message in the legacy
297
- * `Gate '<gate>' requires evidence: [<combo>] OR [<combo>]` format so error
298
- * surfaces (E_EVIDENCE_INSUFFICIENT) read identically across the CLI and any
299
- * client-side validator built on top of this schema.
387
+ * Failure carries:
388
+ * - {@link EvidenceValidationFailure.message} — the legacy single-line
389
+ * `Gate '<gate>' requires evidence: [<combo>] OR [<combo>]` format,
390
+ * preserved byte-for-byte for backward-compat with surfaces and tests
391
+ * that match against it.
392
+ * - {@link EvidenceValidationFailure.hint} — a richer, multi-line,
393
+ * example-bearing remediation hint suitable for CLI `fix:` surfaces.
394
+ * Added by T9949 so `E_EVIDENCE_INSUFFICIENT` errors point clearly at
395
+ * the alternative atom the caller needs (e.g. "this gate requires
396
+ * real proof — note: alone is not accepted; use commit+files,
397
+ * commit+note, or pr instead").
300
398
  */
301
- export type EvidenceValidationResult = {
302
- readonly ok: true;
303
- } | {
399
+ export interface EvidenceValidationFailure {
304
400
  readonly ok: false;
305
401
  readonly message: string;
306
- };
402
+ readonly hint: string;
403
+ }
404
+ export type EvidenceValidationResult = {
405
+ readonly ok: true;
406
+ } | EvidenceValidationFailure;
307
407
  /**
308
408
  * Format the satisfying-combinations spec for a gate as the legacy
309
409
  * `[commit AND files] OR [pr]` string used in CLI error messages.
@@ -313,6 +413,41 @@ export type EvidenceValidationResult = {
313
413
  * @task T10337
314
414
  */
315
415
  export declare function formatGateRequirement(gate: VerificationGate): string;
416
+ /**
417
+ * Produce a multi-line, example-bearing remediation hint for a gate.
418
+ *
419
+ * Designed for CLI `fix:` surfaces so `E_EVIDENCE_INSUFFICIENT` errors point
420
+ * the caller at the specific alternative atom shape they need. The hint lists
421
+ * every satisfying combination as a copy-pasteable `cleo verify` invocation
422
+ * plus a note-specific clarification when the gate does NOT accept `note:`
423
+ * alone.
424
+ *
425
+ * The motivating bug (T9949) was that note-only deliverables (decision-only
426
+ * tasks, deletion-only refactors) hit `E_EVIDENCE_INSUFFICIENT` with the
427
+ * legacy single-line error and had to consult ADR-051 to figure out which
428
+ * additional atom kind the gate required. The richer hint inlines the answer.
429
+ *
430
+ * @param gate - Verification gate the hint is for.
431
+ * @returns Multi-line remediation hint suitable for an `engineError({fix:})`
432
+ * surface. Always ends in a clarifying sentence about whether `note:` alone
433
+ * is accepted for the gate.
434
+ *
435
+ * @example
436
+ * ```ts
437
+ * formatGateRequirementHint('implemented');
438
+ * // "Gate 'implemented' requires programmatic evidence. Use ONE of:
439
+ * // - cleo verify T#### --gate implemented --evidence 'commit:<sha>;files:path/a.ts,path/b.ts'
440
+ * // - cleo verify T#### --gate implemented --evidence 'commit:<sha>;note:<short description>'
441
+ * // - cleo verify T#### --gate implemented --evidence 'decision:D-arch-001;files:path/a.ts,path/b.ts'
442
+ * // - cleo verify T#### --gate implemented --evidence 'decision:D-arch-001;note:<short description>'
443
+ * // - cleo verify T#### --gate implemented --evidence 'pr:357'
444
+ * // Note: 'note:' alone is NOT accepted for this gate — pair it with 'commit:' or 'decision:'."
445
+ * ```
446
+ *
447
+ * @task T9949
448
+ * @adr ADR-051 §2.3
449
+ */
450
+ export declare function formatGateRequirementHint(gate: VerificationGate): string;
316
451
  /**
317
452
  * Check whether a set of parsed atoms satisfies the requirement spec for
318
453
  * `gate`.
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-atom-schema.d.ts","sourceRoot":"","sources":["../src/evidence-atom-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAMlD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;iBAMxB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;iBAMzB,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;iBAMrC,CAAC;AAMH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAW7B,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAMpD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAiBjD,CAAC;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAChC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAGpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAC/C,wBAAwB,CAe1B;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,mEAAmE;IACnE,SAAgB,GAAG,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAKzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CA8J/D"}
1
+ {"version":3,"file":"evidence-atom-schema.d.ts","sourceRoot":"","sources":["../src/evidence-atom-schema.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,107 @@ export const callsiteCoverageAtomSchema = z.object({
181
181
  .min(1, 'callsite-coverage atom requires a non-empty relativeSourcePath'),
182
182
  });
183
183
  // ---------------------------------------------------------------------------
184
+ // ADR-079-r2: satisfies atom — cross-task AC binding
185
+ // ---------------------------------------------------------------------------
186
+ /**
187
+ * Strict UUIDv4 regex (lowercase, hyphenated 8-4-4-4-12 with the `4` major
188
+ * version nibble and `[89ab]` variant nibble) per ADR-079-r2 §2.1 ABNF
189
+ * (`ac-uuid` production) and RFC 9562 §5.4. Used by the `satisfies:` atom
190
+ * to validate the target-AC UUID form.
191
+ *
192
+ * Validators MUST reject mixed-case to prevent silent dedupe failures — the
193
+ * canonical column casing is lowercase per ADR-079-r1 §2.1.
194
+ *
195
+ * @task T10506
196
+ * @adr ADR-079-r2 §2.1
197
+ */
198
+ export const AC_UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
199
+ /**
200
+ * Positional-alias regex for `satisfies:` atom target-AC identifiers per
201
+ * ADR-079-r2 §2.1 ABNF (`ac-alias` production). Format: `AC<1-4 digits>`
202
+ * (capped at AC9999 — three orders of magnitude above realistic per-task AC
203
+ * counts).
204
+ *
205
+ * @task T10506
206
+ * @adr ADR-079-r2 §2.1
207
+ */
208
+ export const AC_ALIAS_REGEX = /^AC[0-9]{1,4}$/;
209
+ /**
210
+ * Task-id regex for `satisfies:` atom target-task identifiers per ADR-079-r2
211
+ * §2.1 ABNF (`task-id` production). Format: `T<1-7 digits>` (capped at
212
+ * T9999999 — three orders of magnitude above current CLEO task IDs as of
213
+ * 2026-05-24).
214
+ *
215
+ * @task T10506
216
+ * @adr ADR-079-r2 §2.1
217
+ */
218
+ export const SATISFIES_TASK_ID_REGEX = /^T[0-9]{1,7}$/;
219
+ /**
220
+ * Version-pin regex for `satisfies:` atom optional `@<ts>` suffix per
221
+ * ADR-079-r2 §2.1 ABNF (`version-pin` production). Format: `YYYYMMDDhhmmss`
222
+ * (ISO-8601-basic timestamp, 14 digits).
223
+ *
224
+ * @task T10506
225
+ * @adr ADR-079-r2 §2.1
226
+ */
227
+ export const SATISFIES_VERSION_PIN_REGEX = /^[0-9]{14}$/;
228
+ /**
229
+ * `satisfies:<task-id>#<ac-id>[@<version-pin>]` atom — cross-task AC binding
230
+ * per ADR-079-r2 §2.1 (full grammar) and ADR-079-r1 §2.4 (basic shape).
231
+ *
232
+ * Format:
233
+ *
234
+ * - `satisfies:T1234#a1b2c3d4-5e6f-4890-abcd-ef1234567890` — canonical
235
+ * UUID form (preferred for long-lived specs).
236
+ * - `satisfies:T1234#AC2` — positional
237
+ * alias form (preferred in fresh PRs where the target task's AC list
238
+ * is stable).
239
+ * - `satisfies:T1234#AC2@20260524223045` — alias +
240
+ * optional version-pin (Validator emissions where pin-on-mint is
241
+ * required by ADR-079-r2 §3.4).
242
+ *
243
+ * Exactly ONE of `targetAcId` (UUID form) or `targetAcAlias` (alias form)
244
+ * is populated per parsed atom. `versionPin` is always optional.
245
+ *
246
+ * ## Scope
247
+ *
248
+ * This Zod schema covers PARSING ONLY. The runtime validator semantics —
249
+ * the 5-check accept/reject pipeline (target exists, target not terminal,
250
+ * AC exists, same-saga scope rule) — ship in T10507 alongside the
251
+ * `evidence_satisfies_bindings` side-effect table.
252
+ *
253
+ * Per ADR-079-r2 §2.2 the maximum atom length is 120 chars; the schema does
254
+ * NOT enforce length here because the per-field regexes already cap the
255
+ * surface (`satisfies:` + 8-char T+digits + `#` + 36-char UUID + `@` +
256
+ * 14-char pin = 78 chars max — well under 120).
257
+ *
258
+ * @task T10506
259
+ * @adr ADR-079-r2 §2.1
260
+ * @adr ADR-079-r1 §2.4
261
+ */
262
+ export const satisfiesAtomSchema = z.object({
263
+ kind: z.literal('satisfies'),
264
+ /** Target task ID — `T<1-7 digits>` per ADR-079-r2 §2.1. */
265
+ targetTaskId: z
266
+ .string()
267
+ .regex(SATISFIES_TASK_ID_REGEX, 'satisfies atom targetTaskId must match /^T[0-9]{1,7}$/'),
268
+ /** Lowercase UUIDv4 — populated for the canonical form; undefined for alias form. */
269
+ targetAcId: z
270
+ .string()
271
+ .regex(AC_UUID_REGEX, 'satisfies atom targetAcId must be a lowercase UUIDv4')
272
+ .optional(),
273
+ /** Positional alias `AC<1-4 digits>` — populated for alias form; undefined for UUID form. */
274
+ targetAcAlias: z
275
+ .string()
276
+ .regex(AC_ALIAS_REGEX, 'satisfies atom targetAcAlias must match /^AC[0-9]{1,4}$/')
277
+ .optional(),
278
+ /** Optional `@<14-digit YYYYMMDDhhmmss>` pin captured at mint time. */
279
+ versionPin: z
280
+ .string()
281
+ .regex(SATISFIES_VERSION_PIN_REGEX, 'satisfies atom versionPin must be 14 digits (YYYYMMDDhhmmss)')
282
+ .optional(),
283
+ });
284
+ // ---------------------------------------------------------------------------
184
285
  // Discriminated union
185
286
  // ---------------------------------------------------------------------------
186
287
  /**
@@ -202,6 +303,8 @@ export const callsiteCoverageAtomSchema = z.object({
202
303
  * - `pr` — merged-PR retroactive proof (T9764 / T9838)
203
304
  * - `loc-drop` — engine-migration LOC reduction (T1604)
204
305
  * - `callsite-coverage` — exported-symbol production callsite (T1605)
306
+ * - `satisfies` — cross-task AC binding (T10506 / ADR-079-r2;
307
+ * validator semantics ship in T10507)
205
308
  *
206
309
  * @task T10337
207
310
  * @adr ADR-051
@@ -217,6 +320,7 @@ export const EvidenceAtomSchema = z.discriminatedUnion('kind', [
217
320
  prAtomSchema,
218
321
  locDropAtomSchema,
219
322
  callsiteCoverageAtomSchema,
323
+ satisfiesAtomSchema,
220
324
  ]);
221
325
  /**
222
326
  * Mapping from each {@link VerificationGate} to its satisfying atom
@@ -279,6 +383,98 @@ export function formatGateRequirement(gate) {
279
383
  const requirement = GATE_EVIDENCE_REQUIREMENTS[gate];
280
384
  return requirement.oneOf.map((set) => `[${set.join(' AND ')}]`).join(' OR ');
281
385
  }
386
+ /**
387
+ * Example `--evidence` strings for each atom kind. Used by
388
+ * {@link formatGateRequirementHint} to render copy-pasteable remediation
389
+ * commands in CLI error surfaces.
390
+ *
391
+ * @task T9949
392
+ */
393
+ const ATOM_EXAMPLES = Object.freeze({
394
+ commit: 'commit:<sha>',
395
+ files: 'files:path/a.ts,path/b.ts',
396
+ 'test-run': 'test-run:/tmp/vitest-out.json',
397
+ tool: 'tool:test',
398
+ url: 'url:https://example.com/docs',
399
+ note: 'note:<short description>',
400
+ decision: 'decision:D-arch-001',
401
+ pr: 'pr:357',
402
+ 'loc-drop': 'loc-drop:<fromLines>:<toLines>',
403
+ 'callsite-coverage': 'callsite-coverage:<symbolName>:<relativeSourcePath>',
404
+ satisfies: 'satisfies:T1234#AC2',
405
+ });
406
+ /**
407
+ * Render a satisfying atom combination as a copy-pasteable `--evidence`
408
+ * string fragment, e.g. `['commit', 'files']` → `commit:<sha>;files:path/a.ts,path/b.ts`.
409
+ *
410
+ * @internal
411
+ */
412
+ function renderCombinationAsEvidence(combination) {
413
+ return combination.map((kind) => ATOM_EXAMPLES[kind]).join(';');
414
+ }
415
+ /**
416
+ * Produce a multi-line, example-bearing remediation hint for a gate.
417
+ *
418
+ * Designed for CLI `fix:` surfaces so `E_EVIDENCE_INSUFFICIENT` errors point
419
+ * the caller at the specific alternative atom shape they need. The hint lists
420
+ * every satisfying combination as a copy-pasteable `cleo verify` invocation
421
+ * plus a note-specific clarification when the gate does NOT accept `note:`
422
+ * alone.
423
+ *
424
+ * The motivating bug (T9949) was that note-only deliverables (decision-only
425
+ * tasks, deletion-only refactors) hit `E_EVIDENCE_INSUFFICIENT` with the
426
+ * legacy single-line error and had to consult ADR-051 to figure out which
427
+ * additional atom kind the gate required. The richer hint inlines the answer.
428
+ *
429
+ * @param gate - Verification gate the hint is for.
430
+ * @returns Multi-line remediation hint suitable for an `engineError({fix:})`
431
+ * surface. Always ends in a clarifying sentence about whether `note:` alone
432
+ * is accepted for the gate.
433
+ *
434
+ * @example
435
+ * ```ts
436
+ * formatGateRequirementHint('implemented');
437
+ * // "Gate 'implemented' requires programmatic evidence. Use ONE of:
438
+ * // - cleo verify T#### --gate implemented --evidence 'commit:<sha>;files:path/a.ts,path/b.ts'
439
+ * // - cleo verify T#### --gate implemented --evidence 'commit:<sha>;note:<short description>'
440
+ * // - cleo verify T#### --gate implemented --evidence 'decision:D-arch-001;files:path/a.ts,path/b.ts'
441
+ * // - cleo verify T#### --gate implemented --evidence 'decision:D-arch-001;note:<short description>'
442
+ * // - cleo verify T#### --gate implemented --evidence 'pr:357'
443
+ * // Note: 'note:' alone is NOT accepted for this gate — pair it with 'commit:' or 'decision:'."
444
+ * ```
445
+ *
446
+ * @task T9949
447
+ * @adr ADR-051 §2.3
448
+ */
449
+ export function formatGateRequirementHint(gate) {
450
+ const requirement = GATE_EVIDENCE_REQUIREMENTS[gate];
451
+ if (!requirement) {
452
+ // Unknown gate — match validateEvidenceForGate's defensive default.
453
+ return `Gate '${gate}' has no documented evidence requirements.`;
454
+ }
455
+ const lines = [
456
+ `Gate '${gate}' requires programmatic evidence. Use ONE of:`,
457
+ ...requirement.oneOf.map((combo) => ` - cleo verify T#### --gate ${gate} --evidence '${renderCombinationAsEvidence(combo)}'`),
458
+ ];
459
+ // Note-specific clarification — T9949's headline pain point.
460
+ // The gate accepts note: alone IFF some single-element combination is ['note'].
461
+ const noteAloneAccepted = requirement.oneOf.some((combo) => combo.length === 1 && combo[0] === 'note');
462
+ if (noteAloneAccepted) {
463
+ lines.push(`Note: 'note:' alone IS accepted for this gate (waiver-style evidence).`);
464
+ }
465
+ else {
466
+ // Surface every alternative pairing involving note for at-a-glance routing.
467
+ const notePairings = requirement.oneOf.filter((combo) => combo.length > 1 && combo.includes('note'));
468
+ if (notePairings.length > 0) {
469
+ const partners = Array.from(new Set(notePairings.flatMap((combo) => combo.filter((k) => k !== 'note')))).map((k) => `'${k}:'`);
470
+ lines.push(`Note: 'note:' alone is NOT accepted for this gate — pair it with ${partners.join(' or ')}.`);
471
+ }
472
+ else {
473
+ lines.push(`Note: 'note:' is NOT accepted for this gate (even when paired). See ADR-051 for the full grammar.`);
474
+ }
475
+ }
476
+ return lines.join('\n');
477
+ }
282
478
  /**
283
479
  * Check whether a set of parsed atoms satisfies the requirement spec for
284
480
  * `gate`.
@@ -324,6 +520,11 @@ export function validateEvidenceForGate(gate, atoms) {
324
520
  return {
325
521
  ok: false,
326
522
  message: `Gate '${gate}' requires evidence: ${formatGateRequirement(gate)}`,
523
+ // T9949: rich, example-bearing remediation hint suitable for CLI `fix:`.
524
+ // Always populated alongside `message` so consumers can choose between
525
+ // the legacy single-line surface and the multi-line hint without re-
526
+ // computing the spec.
527
+ hint: formatGateRequirementHint(gate),
327
528
  };
328
529
  }
329
530
  /**
@@ -480,6 +681,62 @@ export function parseEvidenceString(raw) {
480
681
  atoms.push({ kind: 'callsite-coverage', symbolName, relativeSourcePath });
481
682
  break;
482
683
  }
684
+ case 'satisfies': {
685
+ // ADR-079-r2 §2.1 ABNF:
686
+ // satisfies-atom = "satisfies:" task-id "#" ac-id [ "@" version-pin ]
687
+ // Payload shape: <task-id>#<ac-id>[@<version-pin>]
688
+ //
689
+ // PARSING ONLY per T10506 — runtime validator semantics (5-check
690
+ // accept pipeline + same-saga scope rule) ship in T10507.
691
+ const hashIdx = payload.indexOf('#');
692
+ if (hashIdx < 1 || hashIdx === payload.length - 1) {
693
+ throw new EvidenceParseError(`Malformed satisfies atom: "${chunk}" (expected satisfies:<task-id>#<ac-id>[@<version-pin>])`, 'Use format: satisfies:T1234#AC2 or satisfies:T1234#<uuid> e.g. satisfies:T10506#AC1');
694
+ }
695
+ const targetTaskId = payload.slice(0, hashIdx).trim();
696
+ const acAndPin = payload.slice(hashIdx + 1).trim();
697
+ // task-id must match strict ABNF /^T[0-9]{1,7}$/
698
+ if (!SATISFIES_TASK_ID_REGEX.test(targetTaskId)) {
699
+ throw new EvidenceParseError(`satisfies atom targetTaskId "${targetTaskId}" must match /^T[0-9]{1,7}$/ in "${chunk}"`, 'Use format: satisfies:T<digits>#<ac-id> e.g. satisfies:T1234#AC2');
700
+ }
701
+ // Split optional version-pin (after `@`)
702
+ const atIdx = acAndPin.indexOf('@');
703
+ let acIdRaw;
704
+ let versionPin;
705
+ if (atIdx === -1) {
706
+ acIdRaw = acAndPin;
707
+ versionPin = undefined;
708
+ }
709
+ else {
710
+ if (atIdx < 1 || atIdx === acAndPin.length - 1) {
711
+ throw new EvidenceParseError(`Malformed satisfies atom version-pin in "${chunk}" (expected <ac-id>@<14-digit YYYYMMDDhhmmss>)`, 'Use format: satisfies:T1234#AC2@20260524223045');
712
+ }
713
+ acIdRaw = acAndPin.slice(0, atIdx).trim();
714
+ versionPin = acAndPin.slice(atIdx + 1).trim();
715
+ if (!SATISFIES_VERSION_PIN_REGEX.test(versionPin)) {
716
+ throw new EvidenceParseError(`satisfies atom versionPin "${versionPin}" must be 14 digits (YYYYMMDDhhmmss) in "${chunk}"`, 'Use format: satisfies:T1234#AC2@<YYYYMMDDhhmmss> e.g. satisfies:T1234#AC2@20260524223045');
717
+ }
718
+ }
719
+ // ac-id is EITHER a strict UUIDv4 OR an AC<digits> alias — exactly one.
720
+ let targetAcId;
721
+ let targetAcAlias;
722
+ if (AC_UUID_REGEX.test(acIdRaw)) {
723
+ targetAcId = acIdRaw;
724
+ }
725
+ else if (AC_ALIAS_REGEX.test(acIdRaw)) {
726
+ targetAcAlias = acIdRaw;
727
+ }
728
+ else {
729
+ throw new EvidenceParseError(`satisfies atom ac-id "${acIdRaw}" must be either a lowercase UUIDv4 or AC<1-4 digits> in "${chunk}"`, 'Use format: satisfies:T1234#AC2 (alias) or satisfies:T1234#<lowercase-uuidv4> (canonical)');
730
+ }
731
+ atoms.push({
732
+ kind: 'satisfies',
733
+ targetTaskId,
734
+ ...(targetAcId !== undefined ? { targetAcId } : {}),
735
+ ...(targetAcAlias !== undefined ? { targetAcAlias } : {}),
736
+ ...(versionPin !== undefined ? { versionPin } : {}),
737
+ });
738
+ break;
739
+ }
483
740
  case 'state': {
484
741
  // T9838: explicit-form modifier for the preceding pr: atom.
485
742
  // Format: pr:<num>;state:MERGED. The resolver always requires
@@ -497,7 +754,7 @@ export function parseEvidenceString(raw) {
497
754
  break;
498
755
  }
499
756
  default:
500
- throw new EvidenceParseError(`Unknown evidence kind: "${kind}" in atom "${chunk}"`, 'Valid kinds: commit, files, test-run, tool, url, note, loc-drop, callsite-coverage, decision, pr, state');
757
+ throw new EvidenceParseError(`Unknown evidence kind: "${kind}" in atom "${chunk}"`, 'Valid kinds: commit, files, test-run, tool, url, note, loc-drop, callsite-coverage, decision, pr, satisfies, state');
501
758
  }
502
759
  }
503
760
  return atoms;
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-atom-schema.js","sourceRoot":"","sources":["../src/evidence-atom-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;CACrF,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC;CAClF,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yCAAyC,CAAC;CACnE,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0CAA0C,CAAC;CACpE,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,cAAc,EAAE,8CAA8C,CAAC;CACzE,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;SACrC,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC;CACrD,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gDAAgD,CAAC;CAChF,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACrF,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gCAAgC,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,8BAA8B,CAAC;CACtE,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wDAAwD,CAAC;IACvF,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gEAAgE,CAAC;CAC5E,CAAC,CAAC;AAEH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7D,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,iBAAiB;IACjB,0BAA0B;CAC3B,CAAC,CAAC;AAuCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAEnC,MAAM,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,KAAK,EAAE;YACL,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnB,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,UAAU,EAAE,OAAO,CAAC;YACrB,CAAC,UAAU,EAAE,MAAM,CAAC;YACpB,CAAC,IAAI,CAAC;SACP;KACF;IACD,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;IACxD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;IACvC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;IAC3C,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE;IAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;IAClC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE;CAC7C,CAAC,CAAC;AAmBH;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAsB,EACtB,KAAgD;IAEhD,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,0EAA0E;QAC1E,sEAAsE;QACtE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,SAAS,IAAI,wBAAwB,qBAAqB,CAAC,IAAI,CAAC,EAAE;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,mEAAmE;IACnD,GAAG,CAAS;IAE5B,YAAY,OAAe,EAAE,GAAW;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,kBAAkB,CAC1B,0BAA0B,EAC1B,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,kBAAkB,CAC1B,oCAAoC,EACpC,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,KAAK,+BAA+B,EACjE,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,OAAO;yBACX,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,KAAK;gBACR,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,kBAAkB,CAC1B,sDAAsD,KAAK,GAAG,EAC9D,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,MAAM;YACR,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,kBAAkB,CAC1B,uDAAuD,OAAO,SAAS,KAAK,GAAG,EAC/E,qCAAqC,CACtC,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,KAAK,6CAA6C,EAC/E,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,kBAAkB,CAC1B,4DAA4D,OAAO,GAAG,EACtE,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,kBAAkB,CAC1B,0DAA0D,KAAK,GAAG,EAClE,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,kBAAkB,CAC1B,sCAAsC,KAAK,kEAAkE,EAC7G,uHAAuH,CACxH,CAAC;gBACJ,CAAC;gBACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,kBAAkB,CAC1B,uDAAuD,KAAK,GAAG,EAC/D,iEAAiE,CAClE,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,IAAI,kBAAkB,CAC1B,+DAA+D,KAAK,GAAG,EACvE,iEAAiE,CAClE,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC1E,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,4DAA4D;gBAC5D,8DAA8D;gBAC9D,gEAAgE;gBAChE,yCAAyC;gBACzC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACzB,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,OAAO,SAAS,KAAK,GAAG,EAClE,qFAAqF,CACtF,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,kBAAkB,CAC1B,mFAAmF;wBACjF,SAAS,KAAK,+BAA+B,EAC/C,0FAA0F,CAC3F,CAAC;gBACJ,CAAC;gBACD,2CAA2C;gBAC3C,MAAM;YACR,CAAC;YACD;gBACE,MAAM,IAAI,kBAAkB,CAC1B,2BAA2B,IAAI,cAAc,KAAK,GAAG,EACrD,yGAAyG,CAC1G,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"evidence-atom-schema.js","sourceRoot":"","sources":["../src/evidence-atom-schema.ts"],"names":[],"mappings":"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"}
@@ -187,7 +187,29 @@ export declare enum ExitCode {
187
187
  * @codeName E_LEAD_BYPASS_DETECTED
188
188
  * @task T9230
189
189
  */
190
- LEAD_BYPASS_DETECTED = 107
190
+ LEAD_BYPASS_DETECTED = 107,
191
+ /**
192
+ * `cleo complete <tid>` was rejected because one or more acceptance criteria
193
+ * on the task have no `evidence_ac_bindings` rows pointing at them. The
194
+ * coverage gate is the load-bearing IVTR closure piece — every AC the task
195
+ * declared MUST be backed by a `direct`, `satisfies`, or `coverage` binding
196
+ * before completion is allowed.
197
+ *
198
+ * `error.details.unsatisfied` carries the list of offending ACs (each row
199
+ * has `acId`, `alias` (`AC<n>`), and `text`). Recovery options:
200
+ * 1. Add programmatic evidence that resolves the AC via `cleo verify` so
201
+ * a binding row is written.
202
+ * 2. Pass `--waive-ac "<csv>" --waive-reason "<text>"` on `cleo complete`
203
+ * to record an audited waiver (`.cleo/audit/ac-waiver.jsonl`).
204
+ * 3. Set `CLEO_OWNER_OVERRIDE=1` + `CLEO_OWNER_OVERRIDE_REASON=<text>` for
205
+ * a full bypass (logged to `.cleo/audit/force-bypass.jsonl`).
206
+ *
207
+ * @codeName E_AC_COVERAGE_INCOMPLETE
208
+ * @task T10509
209
+ * @saga T10377 (SG-IVTR-AC-BINDING)
210
+ * @adr ADR-079-r4
211
+ */
212
+ AC_COVERAGE_INCOMPLETE = 108
191
213
  }
192
214
  /** Dirty version files block `cleo release plan` (R-020). Exit code 13. */
193
215
  export declare const E_DIRTY_TREE: "E_DIRTY_TREE";
@@ -309,6 +331,24 @@ export declare const E_INVALID_SEVERITY_VALUE: "E_INVALID_SEVERITY_VALUE";
309
331
  * @saga T10326
310
332
  */
311
333
  export declare const E_INVALID_PIPELINE_STAGE: "E_INVALID_PIPELINE_STAGE";
334
+ /**
335
+ * E_AC_COVERAGE_INCOMPLETE — `cleo complete <tid>` was rejected because at
336
+ * least one acceptance criterion on the task has no `evidence_ac_bindings`
337
+ * row. The coverage gate is the load-bearing IVTR closure piece — every AC
338
+ * the task declared MUST be backed by a binding (`direct`, `satisfies`, or
339
+ * `coverage`) before completion is allowed.
340
+ *
341
+ * `error.details.unsatisfied` carries the offending ACs (each entry has
342
+ * `acId`, `alias`, and `text`). Recovery options live on the {@link ExitCode.AC_COVERAGE_INCOMPLETE}
343
+ * JSDoc.
344
+ *
345
+ * Maps to {@link ExitCode.AC_COVERAGE_INCOMPLETE} (108) at the CLI boundary.
346
+ *
347
+ * @task T10509
348
+ * @saga T10377 (SG-IVTR-AC-BINDING)
349
+ * @adr ADR-079-r4
350
+ */
351
+ export declare const E_AC_COVERAGE_INCOMPLETE: "E_AC_COVERAGE_INCOMPLETE";
312
352
  /** Check if an exit code represents an error (1-99). */
313
353
  export declare function isErrorCode(code: ExitCode): boolean;
314
354
  /** Check if an exit code represents success (0 or 100+). */
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oBAAY,QAAQ;IAElB,OAAO,IAAI;IAGX,aAAa,IAAI;IACjB,aAAa,IAAI;IACjB,UAAU,IAAI;IACd,SAAS,IAAI;IACb,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;IACpB,YAAY,IAAI;IAChB,YAAY,IAAI;IAGhB,gBAAgB,KAAK;IACrB,cAAc,KAAK;IACnB,aAAa,KAAK;IAClB,mBAAmB,KAAK;IACxB,kBAAkB,KAAK;IACvB,eAAe,KAAK;IACpB,YAAY,KAAK;IACjB,cAAc,KAAK;IACnB,cAAc,KAAK;IACnB,cAAc,KAAK;IAGnB,iBAAiB,KAAK;IACtB,uBAAuB,KAAK;IAC5B,YAAY,KAAK;IAGjB,cAAc,KAAK;IACnB,iBAAiB,KAAK;IACtB,cAAc,KAAK;IACnB,aAAa,KAAK;IAClB,iBAAiB,KAAK;IACtB,YAAY,KAAK;IACjB,gBAAgB,KAAK;IACrB,qBAAqB,KAAK;IAC1B,oBAAoB,KAAK;IACzB,cAAc,KAAK;IAGnB,wBAAwB,KAAK;IAC7B,kBAAkB,KAAK;IACvB,YAAY,KAAK;IACjB,aAAa,KAAK;IAClB,mBAAmB,KAAK;IACxB,eAAe,KAAK;IACpB,mBAAmB,KAAK;IACxB,cAAc,KAAK;IACnB;;;;;;;;;;;;;;OAcG;IACH,SAAS,KAAK;IAEd;;;;;;;;;;OAUG;IACH,yBAAyB,KAAK;IAG9B,eAAe,KAAK;IACpB,eAAe,KAAK;IACpB,gBAAgB,KAAK;IACrB,iBAAiB,KAAK;IACtB,aAAa,KAAK;IAGlB,gBAAgB,KAAK;IACrB,sBAAsB,KAAK;IAC3B,sBAAsB,KAAK;IAC3B,uBAAuB,KAAK;IAC5B,mBAAmB,KAAK;IACxB,gBAAgB,KAAK;IACrB,aAAa,KAAK;IAClB,kBAAkB,KAAK;IACvB;;;;;;;;OAQG;IACH,oBAAoB,KAAK;IAEzB;;;;;;;;;;OAUG;IACH,mBAAmB,KAAK;IAGxB,qBAAqB,KAAK;IAC1B,uBAAuB,KAAK;IAC5B,uBAAuB,KAAK;IAC5B,oBAAoB,KAAK;IACzB,iBAAiB,KAAK;IACtB,sBAAsB,KAAK;IAC3B,oBAAoB,KAAK;IACzB,kBAAkB,KAAK;IACvB,iBAAiB,KAAK;IACtB,qBAAqB,KAAK;IAG1B,qBAAqB,KAAK;IAC1B,aAAa,KAAK;IAClB,mBAAmB,KAAK;IACxB,4BAA4B,KAAK;IACjC,mBAAmB,KAAK;IAGxB,qBAAqB,KAAK;IAC1B,0BAA0B,KAAK;IAC/B,qBAAqB,KAAK;IAC1B,uBAAuB,KAAK;IAC5B,wBAAwB,KAAK;IAG7B,yBAAyB,KAAK;IAC9B,mBAAmB,KAAK;IACxB,iBAAiB,KAAK;IACtB,eAAe,KAAK;IACpB,mBAAmB,KAAK;IAGxB,iBAAiB,KAAK;IACtB,mBAAmB,KAAK;IACxB,mBAAmB,KAAK;IACxB,oBAAoB,KAAK;IACzB,sBAAsB,KAAK;IAG3B,OAAO,MAAM;IACb,cAAc,MAAM;IACpB,SAAS,MAAM;IACf,aAAa,MAAM;IAEnB;;;;;;;;;;OAUG;IACH,qBAAqB,MAAM;IAG3B;;;;;;;OAOG;IACH,cAAc,MAAM;IAGpB;;;;;;;;;;;;;OAaG;IACH,yBAAyB,MAAM;IAE/B;;;;;OAKG;IACH,oBAAoB,MAAM;CAC3B;AAcD,2EAA2E;AAC3E,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC;AACpD,0EAA0E;AAC1E,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC;AACpD,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAG,kBAA2B,CAAC;AAC5D;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,EAAG,+BAAwC,CAAC;AACtF,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,EAAG,oBAA6B,CAAC;AAChE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAG,yBAAkC,CAAC;AAC1E,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAG,kBAA2B,CAAC;AAC5D,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,EAAG,wBAAiC,CAAC;AACxE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,EAAG,0BAAmC,CAAC;AAC5E;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAG,iBAA0B,CAAC;AAC1D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAG,wBAAiC,CAAC;AACxE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAG,sBAA+B,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAG,oBAA6B,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,EAAG,0BAAmC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAG,0BAAmC,CAAC;AAE5E,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEnD;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEtD;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CA0BzD;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../src/exit-codes.ts"],"names":[],"mappings":"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"}