@gate-forge/core 0.7.1 → 0.8.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 (141) hide show
  1. package/dist/classifier/bind.d.ts +2 -0
  2. package/dist/classifier/bind.d.ts.map +1 -1
  3. package/dist/classifier/bind.js +8 -0
  4. package/dist/classifier/bind.js.map +1 -1
  5. package/dist/classifier/classify.d.ts +2 -0
  6. package/dist/classifier/classify.d.ts.map +1 -1
  7. package/dist/classifier/classify.js +127 -2
  8. package/dist/classifier/classify.js.map +1 -1
  9. package/dist/classifier/index.d.ts +2 -2
  10. package/dist/classifier/index.d.ts.map +1 -1
  11. package/dist/classifier/index.js +1 -1
  12. package/dist/classifier/index.js.map +1 -1
  13. package/dist/classifier/schema.d.ts +54 -0
  14. package/dist/classifier/schema.d.ts.map +1 -1
  15. package/dist/classifier/schema.js +17 -0
  16. package/dist/classifier/schema.js.map +1 -1
  17. package/dist/config/index.d.ts +173 -0
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +296 -1
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/graph/schema.d.ts +34 -0
  22. package/dist/graph/schema.d.ts.map +1 -1
  23. package/dist/index.d.ts +80 -10
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +58 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/mapping/resolve.d.ts +22 -1
  28. package/dist/mapping/resolve.d.ts.map +1 -1
  29. package/dist/mapping/resolve.js +71 -25
  30. package/dist/mapping/resolve.js.map +1 -1
  31. package/dist/policy/evaluate.d.ts +30 -0
  32. package/dist/policy/evaluate.d.ts.map +1 -1
  33. package/dist/policy/evaluate.js +22 -12
  34. package/dist/policy/evaluate.js.map +1 -1
  35. package/dist/quarantine/index.d.ts +82 -0
  36. package/dist/quarantine/index.d.ts.map +1 -0
  37. package/dist/quarantine/index.js +194 -0
  38. package/dist/quarantine/index.js.map +1 -0
  39. package/dist/receipt/index.d.ts +65 -1
  40. package/dist/receipt/index.d.ts.map +1 -1
  41. package/dist/receipt/index.js +115 -1
  42. package/dist/receipt/index.js.map +1 -1
  43. package/dist/report/human-message.d.ts +33 -0
  44. package/dist/report/human-message.d.ts.map +1 -0
  45. package/dist/report/human-message.js +33 -0
  46. package/dist/report/human-message.js.map +1 -0
  47. package/dist/report/index.d.ts +183 -9
  48. package/dist/report/index.d.ts.map +1 -1
  49. package/dist/report/index.js +296 -22
  50. package/dist/report/index.js.map +1 -1
  51. package/dist/schemas/adoption.d.ts +2 -0
  52. package/dist/schemas/adoption.d.ts.map +1 -1
  53. package/dist/schemas/adoption.js +6 -0
  54. package/dist/schemas/adoption.js.map +1 -1
  55. package/dist/schemas/behavior-catalog.d.ts +12 -0
  56. package/dist/schemas/behavior-catalog.d.ts.map +1 -1
  57. package/dist/schemas/behavior-evidence.d.ts +40 -0
  58. package/dist/schemas/behavior-evidence.d.ts.map +1 -1
  59. package/dist/schemas/behavior-evidence.js +9 -0
  60. package/dist/schemas/behavior-evidence.js.map +1 -1
  61. package/dist/schemas/behavior-policy.d.ts +26 -0
  62. package/dist/schemas/behavior-policy.d.ts.map +1 -1
  63. package/dist/schemas/behavior-policy.js +37 -1
  64. package/dist/schemas/behavior-policy.js.map +1 -1
  65. package/dist/schemas/execution-result.d.ts +17 -5
  66. package/dist/schemas/execution-result.d.ts.map +1 -1
  67. package/dist/schemas/execution-result.js +57 -2
  68. package/dist/schemas/execution-result.js.map +1 -1
  69. package/dist/schemas/gate-receipt.d.ts +25 -2
  70. package/dist/schemas/gate-receipt.d.ts.map +1 -1
  71. package/dist/schemas/gate-receipt.js +181 -2
  72. package/dist/schemas/gate-receipt.js.map +1 -1
  73. package/dist/schemas/index.d.ts +2 -0
  74. package/dist/schemas/index.d.ts.map +1 -1
  75. package/dist/schemas/index.js +2 -0
  76. package/dist/schemas/index.js.map +1 -1
  77. package/dist/schemas/policy.d.ts +19 -0
  78. package/dist/schemas/policy.d.ts.map +1 -1
  79. package/dist/schemas/policy.js +36 -0
  80. package/dist/schemas/policy.js.map +1 -1
  81. package/dist/schemas/quarantine.d.ts +25 -0
  82. package/dist/schemas/quarantine.d.ts.map +1 -0
  83. package/dist/schemas/quarantine.js +34 -0
  84. package/dist/schemas/quarantine.js.map +1 -0
  85. package/dist/schemas/queue-observer.d.ts +195 -0
  86. package/dist/schemas/queue-observer.d.ts.map +1 -0
  87. package/dist/schemas/queue-observer.js +190 -0
  88. package/dist/schemas/queue-observer.js.map +1 -0
  89. package/dist/schemas/run-record.d.ts +57 -0
  90. package/dist/schemas/run-record.d.ts.map +1 -0
  91. package/dist/schemas/run-record.js +108 -0
  92. package/dist/schemas/run-record.js.map +1 -0
  93. package/dist/schemas/runtime-config.d.ts +67 -0
  94. package/dist/schemas/runtime-config.d.ts.map +1 -1
  95. package/dist/schemas/runtime-config.js +75 -1
  96. package/dist/schemas/runtime-config.js.map +1 -1
  97. package/dist/schemas/signature-profile.d.ts +99 -0
  98. package/dist/schemas/signature-profile.d.ts.map +1 -0
  99. package/dist/schemas/signature-profile.js +197 -0
  100. package/dist/schemas/signature-profile.js.map +1 -0
  101. package/dist/schemas/test-map.d.ts +4 -0
  102. package/dist/schemas/test-map.d.ts.map +1 -1
  103. package/dist/schemas/test-map.js +12 -0
  104. package/dist/schemas/test-map.js.map +1 -1
  105. package/dist/schemas/verdict.d.ts +19 -4
  106. package/dist/schemas/verdict.d.ts.map +1 -1
  107. package/dist/schemas/verdict.js +38 -4
  108. package/dist/schemas/verdict.js.map +1 -1
  109. package/dist/strictness.d.ts +102 -0
  110. package/dist/strictness.d.ts.map +1 -0
  111. package/dist/strictness.js +92 -0
  112. package/dist/strictness.js.map +1 -0
  113. package/dist/supervision/index.js +6 -6
  114. package/dist/supervision/index.js.map +1 -1
  115. package/dist/twin-paths.d.ts +125 -0
  116. package/dist/twin-paths.d.ts.map +1 -0
  117. package/dist/twin-paths.js +233 -0
  118. package/dist/twin-paths.js.map +1 -0
  119. package/dist/verdict/behavior.d.ts.map +1 -1
  120. package/dist/verdict/behavior.js +284 -10
  121. package/dist/verdict/behavior.js.map +1 -1
  122. package/dist/verdict/cause.d.ts.map +1 -1
  123. package/dist/verdict/cause.js +18 -0
  124. package/dist/verdict/cause.js.map +1 -1
  125. package/dist/verdict/evaluate.d.ts +54 -0
  126. package/dist/verdict/evaluate.d.ts.map +1 -1
  127. package/dist/verdict/evaluate.js +278 -12
  128. package/dist/verdict/evaluate.js.map +1 -1
  129. package/dist/verdict/index.d.ts +3 -3
  130. package/dist/verdict/index.d.ts.map +1 -1
  131. package/dist/verdict/index.js +3 -3
  132. package/dist/verdict/index.js.map +1 -1
  133. package/dist/verdict/pack-verifiers.d.ts +17 -3
  134. package/dist/verdict/pack-verifiers.d.ts.map +1 -1
  135. package/dist/verdict/pack-verifiers.js +47 -8
  136. package/dist/verdict/pack-verifiers.js.map +1 -1
  137. package/dist/verdict/registry.d.ts +19 -0
  138. package/dist/verdict/registry.d.ts.map +1 -1
  139. package/dist/verdict/registry.js +21 -0
  140. package/dist/verdict/registry.js.map +1 -1
  141. package/package.json +1 -1
@@ -395,7 +395,15 @@ function exactValueEchoFailure(operation, actionRecord, persistenceRecord) {
395
395
  `'${labelOf(persistenceRecord)}' observed no persisted fields to echo the ` +
396
396
  `'${operation}' input against`);
397
397
  }
398
+ // Declared volatile fields (E18a): the adapter states that the server
399
+ // computes these keys itself, so the entered value is not expected to
400
+ // survive. That is a DECLARED fact about the app, never a silently
401
+ // ignored mismatch: every skip is reported (volatileEchoSkips) and
402
+ // surfaces as a report advisory.
403
+ const volatile = volatileFieldsOf(persistenceRecord);
398
404
  for (const key of Object.keys(entered).sort()) {
405
+ if (volatile.includes(key))
406
+ continue;
399
407
  const enteredValue = entered[key];
400
408
  if (!isJsonValue(enteredValue))
401
409
  continue;
@@ -408,6 +416,99 @@ function exactValueEchoFailure(operation, actionRecord, persistenceRecord) {
408
416
  }
409
417
  return null;
410
418
  }
419
+ /**
420
+ * The volatile field keys a persistence record's adapter DECLARED
421
+ * (adapter `volatileFields`, stamped into the record payload by the
422
+ * witness). An adapter that declares none behaves exactly as before:
423
+ * the exact-value echo applies to every entered key.
424
+ *
425
+ * Args:
426
+ * record: a witnessed persistence record.
427
+ *
428
+ * Returns:
429
+ * string[]: the declared keys, sorted and deduplicated.
430
+ */
431
+ export function volatileFieldsOf(record) {
432
+ const entry = asRecord(record);
433
+ if (entry === null)
434
+ return [];
435
+ const declared = payloadOf(entry)?.['volatileFields'];
436
+ if (!Array.isArray(declared))
437
+ return [];
438
+ const seen = {};
439
+ for (const key of declared) {
440
+ if (typeof key === 'string' && key.length > 0)
441
+ seen[key] = true;
442
+ }
443
+ return Object.keys(seen).sort(compareStrings);
444
+ }
445
+ /**
446
+ * The entered keys of the echo check, whichever channel carried them.
447
+ * Both are engine-issued sealed record payloads, never suite-authored:
448
+ * - browser: the `ui.action` anchor's DECLARED INPUT `fields`;
449
+ * - observe: there is no anchor, so the witness-observed request
450
+ * `observedFields` ride the persistence record itself (the same
451
+ * source observedEchoFailure grades against).
452
+ *
453
+ * An anchor's `fields` always wins when it is a plain object, empty or
454
+ * not: an anchor that declares no input is not an invitation to read
455
+ * another source. Either way, a declared volatile key is only reported
456
+ * when the source actually carries a value for it.
457
+ *
458
+ * Args:
459
+ * anchorOrNull: the witnessed UI-action record, or null when the
460
+ * evidence came from the observe channel.
461
+ * persistence: the matched persistence record (observed values).
462
+ *
463
+ * Returns:
464
+ * Record<string, unknown> | null: the entered keys, or null when the
465
+ * record carries neither source.
466
+ */
467
+ function enteredFieldsOf(anchorOrNull, persistence) {
468
+ const anchor = asRecord(anchorOrNull);
469
+ if (anchor !== null) {
470
+ const declared = payloadOf(anchor)?.['fields'];
471
+ if (isPlainObject(declared))
472
+ return declared;
473
+ }
474
+ const observed = payloadOf(persistence)?.['observedFields'];
475
+ return isPlainObject(observed) ? observed : null;
476
+ }
477
+ /**
478
+ * The entered keys the echo check SKIPPED because the adapter declared
479
+ * them volatile, with the values the engine actually observed. The
480
+ * caller turns this into a visible report note — a skip is a fact the
481
+ * owner must see, never a quietly dropped mismatch.
482
+ *
483
+ * A satisfied obligation is evidence on either channel: with a
484
+ * `ui.action` anchor the entered values are the anchor's declared
485
+ * input fields, and on the observe channel (suite-driven browser over
486
+ * the session proxy) they are the witness-observed request fields the
487
+ * persistence record itself carries. Only keys the journey actually
488
+ * entered are reported — a declared field nobody sent is never a skip.
489
+ *
490
+ * Args:
491
+ * actionRecord: the witnessed UI-action record, or null when the
492
+ * evidence came from the observe channel.
493
+ * persistenceRecord: the matched persistence record (observed values).
494
+ *
495
+ * Returns:
496
+ * Array<{field: string, entered: unknown, persisted: unknown}>: one
497
+ * entry per declared-volatile key the journey actually entered.
498
+ */
499
+ export function volatileEchoSkips(actionRecord, persistenceRecord) {
500
+ const persistence = asRecord(persistenceRecord);
501
+ if (persistence === null)
502
+ return [];
503
+ const entered = enteredFieldsOf(actionRecord, persistence);
504
+ if (entered === null)
505
+ return [];
506
+ const persisted = payloadOf(persistence)?.['fields'];
507
+ const observed = isPlainObject(persisted) ? persisted : {};
508
+ return volatileFieldsOf(persistence)
509
+ .filter((field) => isJsonValue(entered[field]))
510
+ .map((field) => ({ field, entered: entered[field], persisted: observed[field] ?? null }));
511
+ }
411
512
  /**
412
513
  * Observe-channel echo (Phase 2): the witness-observed request fields
413
514
  * a suite-driven test sent must be echoed exactly by the independently
@@ -435,7 +536,12 @@ function observedEchoFailure(operation, record) {
435
536
  `'${labelOf(record)}' observed no persisted fields to echo the ` +
436
537
  `'${operation}' request against`);
437
538
  }
539
+ // Same declared-volatile rule as the UI-action echo (E18a): a key the
540
+ // adapter declares server-computed is not expected to echo back.
541
+ const volatile = volatileFieldsOf(record);
438
542
  for (const key of Object.keys(observed).sort()) {
543
+ if (volatile.includes(key))
544
+ continue;
439
545
  const observedValue = observed[key];
440
546
  if (!isJsonValue(observedValue))
441
547
  continue;
@@ -526,8 +632,12 @@ function persistencePostconditionFailure(obligation, operation, record, actionEn
526
632
  }
527
633
  const qualifying = delta.filter((key) => updateable.includes(key));
528
634
  if (qualifying.length === 0) {
529
- return ('update postcondition violated: the engine-observed delta ' +
530
- `[${[...delta].sort().join(', ')}] touches no classification-declared ` +
635
+ if (delta.length > 0) {
636
+ return (`update postcondition violated: the UI action changed only [${[...delta].sort().join(', ')}], ` +
637
+ 'which is not a user-editable field; the update test must change one of ' +
638
+ `[${[...updateable].sort().join(', ')}]`);
639
+ }
640
+ return ('update postcondition violated: the engine-observed delta touches no classification-declared ' +
531
641
  `updateable field (updateableFields: [${[...updateable].sort().join(', ')}])`);
532
642
  }
533
643
  return null;
@@ -587,10 +697,46 @@ function evaluateClaimEvidence(claim, evidence, obligation, primaryKey, resource
587
697
  }
588
698
  return verifier({ claim, obligation, evidence, primaryKey, resource, httpRoutes });
589
699
  }
700
+ /**
701
+ * Adds an unreachable-UI hint only when a complete host route inventory
702
+ * contains no update-capable endpoint linked to the obligation resource.
703
+ *
704
+ * Args:
705
+ * outcome: the persistence grader result.
706
+ * operation: the obligation operation.
707
+ * resource: the host-derived graph resource, when available.
708
+ * httpRoutes: the complete host-derived endpoint inventory.
709
+ *
710
+ * Returns:
711
+ * ClaimOutcome: the unchanged result or one with the route hint appended.
712
+ */
713
+ function addMissingUpdateRouteHint(outcome, operation, resource, httpRoutes) {
714
+ if (operation !== 'update' ||
715
+ resource === null ||
716
+ resource === undefined ||
717
+ httpRoutes === null ||
718
+ httpRoutes === undefined ||
719
+ !('reason' in outcome) ||
720
+ !outcome.reason.includes('the UI action changed only')) {
721
+ return outcome;
722
+ }
723
+ const resourceName = resource.attributes['resourceName'];
724
+ if (typeof resourceName !== 'string')
725
+ return outcome;
726
+ const hasUpdateRoute = httpRoutes.some((route) => route.linkedResourceName === resourceName &&
727
+ route.capabilities?.includes('crud-update') === true);
728
+ return hasUpdateRoute
729
+ ? outcome
730
+ : {
731
+ ...outcome,
732
+ reason: `${outcome.reason}; no observed UI request writes these fields — ` +
733
+ 'the feature may be unreachable from the UI',
734
+ };
735
+ }
590
736
  // Built-in registrations: persistence/crud semantics stay owned by this
591
737
  // module; pack namespaces register through './pack-verifiers.js'.
592
738
  registerContractVerifier('crud', (input) => crudClaimVerifier(input));
593
- registerContractVerifier('persistence', (input) => persistenceClaimVerifier(input.claim, input.evidence, input.obligation, input.primaryKey));
739
+ registerContractVerifier('persistence', (input) => persistenceClaimVerifier(input.claim, input.evidence, input.obligation, input.primaryKey, input.resource, input.httpRoutes));
594
740
  registerPackVerifiers();
595
741
  /**
596
742
  * Capability metadata for the persistence namespace (plan Phase 0 item 7,
@@ -697,7 +843,7 @@ registerContractCapabilities(CRUD_CAPABILITY);
697
843
  * browser `missing` to `invalid` (the witness DID observe the state;
698
844
  * the claim declared the operation and lied).
699
845
  */
700
- function persistenceClaimVerifier(claim, evidence, obligation, primaryKey) {
846
+ function persistenceClaimVerifier(claim, evidence, obligation, primaryKey, resource, httpRoutes) {
701
847
  const requiredOp = persistenceOperation(obligation.contract);
702
848
  if (requiredOp === null) {
703
849
  return {
@@ -815,13 +961,14 @@ function persistenceClaimVerifier(claim, evidence, obligation, primaryKey) {
815
961
  // upgrades a bare browser missing to invalid (the witness DID observe
816
962
  // state; the claim declared the operation and lied) — server first,
817
963
  // then observe. Otherwise the browser outcome stands verbatim.
964
+ let outcome = browser;
818
965
  if (browser.status === 'missing') {
819
966
  const sharp = serverFailure ?? observeFailure;
820
967
  if (sharp !== null) {
821
- return { status: 'invalid', reason: `${sharp} (obligation '${obligation.id}')` };
968
+ outcome = { status: 'invalid', reason: `${sharp} (obligation '${obligation.id}')` };
822
969
  }
823
970
  }
824
- return browser;
971
+ return addMissingUpdateRouteHint(outcome, requiredOp, resource, httpRoutes);
825
972
  }
826
973
  /**
827
974
  * The BROWSER channel of the persistence grader — the historical rule
@@ -841,8 +988,9 @@ function browserAnchoredPersistenceClaim(claim, evidence, obligation, primaryKey
841
988
  // ones do not. Satisfaction weight lives in requirement 2, the
842
989
  // engine-observed persistence read.
843
990
  const actions = evidence.filter((entry) => entry.record.kind === UI_ACTION_KIND);
844
- const matchingAction = actions.find((entry) => isProvenancedRecord(entry.record) &&
991
+ const matchingActions = actions.filter((entry) => isProvenancedRecord(entry.record) &&
845
992
  payloadOf(entry.record)?.['operation'] === requiredOp);
993
+ const matchingAction = matchingActions[0];
846
994
  if (matchingAction === undefined) {
847
995
  if (actions.length === 0) {
848
996
  return {
@@ -898,10 +1046,74 @@ function browserAnchoredPersistenceClaim(claim, evidence, obligation, primaryKey
898
1046
  entry.record.kind.startsWith(PERSISTENCE_KIND_PREFIX) &&
899
1047
  payloadOf(entry.record)?.['channel'] !== SERVER_CHANNEL);
900
1048
  const witnessedPersistence = persistence.filter((entry) => entry.trust === 'witnessed');
901
- const sameEntity = witnessedPersistence.filter((entry) => {
1049
+ const actionAnchorId = typeof actionPayload['anchorId'] === 'string' && actionPayload['anchorId'].length > 0
1050
+ ? actionPayload['anchorId']
1051
+ : null;
1052
+ const sameEntityActions = matchingActions.filter((entry) => {
902
1053
  const entity = normalizeEntityId(payloadOf(entry.record)?.['entityId'], primaryKey);
903
1054
  return entity.ok && entity.key === actionEntity.key;
904
1055
  });
1056
+ const verifiedAnchorRecords = [];
1057
+ if (sameEntityActions.length > 1) {
1058
+ const anchorIds = sameEntityActions.map((entry) => {
1059
+ const anchorId = payloadOf(entry.record)?.['anchorId'];
1060
+ return typeof anchorId === 'string' && anchorId.length > 0 ? anchorId : null;
1061
+ });
1062
+ if (anchorIds.some((anchorId) => anchorId === null) || new Set(anchorIds).size !== anchorIds.length) {
1063
+ return {
1064
+ status: 'invalid',
1065
+ reason: `multiple '${UI_ACTION_KIND}' anchors target entity ${actionEntity.key}, but ` +
1066
+ 'per-anchor snapshots are unavailable; refusing timing-dependent persistence evidence',
1067
+ };
1068
+ }
1069
+ for (const [index, action] of sameEntityActions.entries()) {
1070
+ const anchorId = anchorIds[index];
1071
+ const snapshot = witnessedPersistence.find((entry) => {
1072
+ const payload = payloadOf(entry.record);
1073
+ const entity = normalizeEntityId(payload?.['entityId'], primaryKey);
1074
+ return entity.ok && entity.key === actionEntity.key && payload?.['anchorId'] === anchorId;
1075
+ });
1076
+ if (snapshot === undefined) {
1077
+ return {
1078
+ status: 'missing',
1079
+ reason: `no per-anchor '${PERSISTENCE_KIND_PREFIX}*' snapshot for '${UI_ACTION_KIND}' ` +
1080
+ `anchor '${anchorId}' on entity ${actionEntity.key}`,
1081
+ };
1082
+ }
1083
+ const failure = persistencePostconditionFailure(obligation, requiredOp, snapshot.record, actionEntity.key);
1084
+ if (failure !== null) {
1085
+ return { status: 'invalid', reason: `${failure} (obligation '${obligation.id}')` };
1086
+ }
1087
+ if (requiredOp === 'create' || requiredOp === 'update') {
1088
+ const echoFailure = exactValueEchoFailure(requiredOp, action.record, snapshot.record);
1089
+ if (echoFailure !== null) {
1090
+ return { status: 'invalid', reason: `${echoFailure} (obligation '${obligation.id}')` };
1091
+ }
1092
+ }
1093
+ const visible = evidence.find((entry) => {
1094
+ if (entry.record.kind !== UI_VISIBLE_KIND)
1095
+ return false;
1096
+ const payload = payloadOf(entry.record);
1097
+ const entity = normalizeEntityId(payload?.['entityId'], primaryKey);
1098
+ return entity.ok && entity.key === actionEntity.key && payload?.['anchorId'] === anchorId;
1099
+ });
1100
+ if (visible !== undefined &&
1101
+ fieldsDisagreement(payloadOf(visible.record)?.['fields'], payloadOf(snapshot.record)?.['fields']) !== null) {
1102
+ return {
1103
+ status: 'invalid',
1104
+ reason: `visible and persisted fields disagree (obligation '${obligation.id}')`,
1105
+ };
1106
+ }
1107
+ verifiedAnchorRecords.push(action.record, snapshot.record);
1108
+ }
1109
+ }
1110
+ const sameEntity = witnessedPersistence.filter((entry) => {
1111
+ const payload = payloadOf(entry.record);
1112
+ const entity = normalizeEntityId(payload?.['entityId'], primaryKey);
1113
+ return (entity.ok &&
1114
+ entity.key === actionEntity.key &&
1115
+ (actionAnchorId === null || payload?.['anchorId'] === actionAnchorId));
1116
+ });
905
1117
  if (sameEntity.length === 0) {
906
1118
  const claimedPersistence = persistence.find((entry) => entry.trust === 'claimed');
907
1119
  if (claimedPersistence !== undefined) {
@@ -969,8 +1181,13 @@ function browserAnchoredPersistenceClaim(claim, evidence, obligation, primaryKey
969
1181
  const visible = evidence.find((entry) => {
970
1182
  if (entry.record.kind !== UI_VISIBLE_KIND)
971
1183
  return false;
972
- const entity = normalizeEntityId(payloadOf(entry.record)?.['entityId'], primaryKey);
973
- return entity.ok && entity.key === actionEntity.key;
1184
+ const payload = payloadOf(entry.record);
1185
+ const entity = normalizeEntityId(payload?.['entityId'], primaryKey);
1186
+ const visibleAnchorId = payload?.['anchorId'];
1187
+ const sameAnchor = actionAnchorId === null ||
1188
+ visibleAnchorId === actionAnchorId ||
1189
+ (sameEntityActions.length === 1 && visibleAnchorId === undefined);
1190
+ return entity.ok && entity.key === actionEntity.key && sameAnchor;
974
1191
  });
975
1192
  if (visible !== undefined) {
976
1193
  const disagreement = fieldsDisagreement(payloadOf(visible.record)?.['fields'], payloadOf(matchingPersistence.record)?.['fields']);
@@ -983,8 +1200,9 @@ function browserAnchoredPersistenceClaim(claim, evidence, obligation, primaryKey
983
1200
  }
984
1201
  }
985
1202
  const used = [
986
- matchingAction.record,
987
- matchingPersistence.record,
1203
+ ...(verifiedAnchorRecords.length > 0
1204
+ ? verifiedAnchorRecords
1205
+ : [matchingAction.record, matchingPersistence.record]),
988
1206
  ...(visible !== undefined ? [visible.record] : []),
989
1207
  ]
990
1208
  .map((record) => (typeof record.recordId === 'string' ? record.recordId : ''));
@@ -1442,6 +1660,51 @@ function gradeCrudSession(params) {
1442
1660
  .map((record) => (typeof record.recordId === 'string' ? record.recordId : ''));
1443
1661
  return { status: 'satisfied', recordIds: sortedUnique(used) };
1444
1662
  }
1663
+ /**
1664
+ * Grades an Alembic obligation from engine-issued records only.
1665
+ *
1666
+ * Args:
1667
+ * obligation: the parsed obligation. Its contract starts with `alembic:`.
1668
+ * context: verdict context. Suite records are ignored.
1669
+ *
1670
+ * Returns:
1671
+ * VerdictOutcome: satisfied only when this process issued a passing witness.
1672
+ */
1673
+ function gradeAlembicObligation(obligation, context) {
1674
+ const records = (context.engineAlembicRecords ?? []).filter((record) => record.obligationId === obligation.id && record.kind === 'alembic.witness');
1675
+ const passing = records.find((record) => {
1676
+ if (record.trust !== 'witnessed' || record.origin !== 'engine-observed')
1677
+ return false;
1678
+ const payload = record.payload;
1679
+ if (payload === null || typeof payload !== 'object')
1680
+ return false;
1681
+ const body = payload;
1682
+ return (body['producer'] === 'gateforge.engine' &&
1683
+ body['passed'] === true &&
1684
+ body['contract'] === obligation.contract &&
1685
+ typeof body['filesDigest'] === 'string' &&
1686
+ /^[0-9a-f]{64}$/.test(body['filesDigest']));
1687
+ });
1688
+ if (passing !== undefined) {
1689
+ return { verdict: 'satisfied', reason: null, recordIds: passing.recordId === undefined ? [] : [passing.recordId] };
1690
+ }
1691
+ const failed = records.find((record) => {
1692
+ const payload = record.payload;
1693
+ return payload !== null && typeof payload === 'object' && payload['passed'] === false;
1694
+ });
1695
+ const failedPayload = failed?.payload !== null && typeof failed?.payload === 'object'
1696
+ ? failed.payload
1697
+ : null;
1698
+ const cause = typeof failedPayload?.['cause'] === 'string' ? failedPayload['cause'] : 'MIGRATION_ROUNDTRIP_FAILED';
1699
+ const detail = typeof failedPayload?.['detail'] === 'string'
1700
+ ? failedPayload['detail']
1701
+ : 'no engine-executed Alembic witness exists for this obligation';
1702
+ return {
1703
+ verdict: 'missing',
1704
+ reason: `${cause}: ${detail}`,
1705
+ recordIds: failed?.recordId === undefined ? [] : [failed.recordId],
1706
+ };
1707
+ }
1445
1708
  /**
1446
1709
  * Evaluates ONE obligation against the run's claims, records, waivers,
1447
1710
  * classification, and injected clock (pin #9). Pure and deterministic:
@@ -1468,6 +1731,9 @@ export function evaluateObligation(obligation, context) {
1468
1731
  .join('; ')}`);
1469
1732
  }
1470
1733
  const verified = parsedObligation.data;
1734
+ if (verified.contract.startsWith('alembic:')) {
1735
+ return gradeAlembicObligation(verified, context);
1736
+ }
1471
1737
  const now = parseInstant(context.now);
1472
1738
  // 1. Unclassified resources block (invariant 1); unresolved resources
1473
1739
  // never reach this evaluator (the policy engine emits blocking
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/verdict/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/verdict/evaluate.ts"],"names":[],"mappings":"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"}