@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.
- package/dist/classifier/bind.d.ts +2 -0
- package/dist/classifier/bind.d.ts.map +1 -1
- package/dist/classifier/bind.js +8 -0
- package/dist/classifier/bind.js.map +1 -1
- package/dist/classifier/classify.d.ts +2 -0
- package/dist/classifier/classify.d.ts.map +1 -1
- package/dist/classifier/classify.js +127 -2
- package/dist/classifier/classify.js.map +1 -1
- package/dist/classifier/index.d.ts +2 -2
- package/dist/classifier/index.d.ts.map +1 -1
- package/dist/classifier/index.js +1 -1
- package/dist/classifier/index.js.map +1 -1
- package/dist/classifier/schema.d.ts +54 -0
- package/dist/classifier/schema.d.ts.map +1 -1
- package/dist/classifier/schema.js +17 -0
- package/dist/classifier/schema.js.map +1 -1
- package/dist/config/index.d.ts +173 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +296 -1
- package/dist/config/index.js.map +1 -1
- package/dist/graph/schema.d.ts +34 -0
- package/dist/graph/schema.d.ts.map +1 -1
- package/dist/index.d.ts +80 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -6
- package/dist/index.js.map +1 -1
- package/dist/mapping/resolve.d.ts +22 -1
- package/dist/mapping/resolve.d.ts.map +1 -1
- package/dist/mapping/resolve.js +71 -25
- package/dist/mapping/resolve.js.map +1 -1
- package/dist/policy/evaluate.d.ts +30 -0
- package/dist/policy/evaluate.d.ts.map +1 -1
- package/dist/policy/evaluate.js +22 -12
- package/dist/policy/evaluate.js.map +1 -1
- package/dist/quarantine/index.d.ts +82 -0
- package/dist/quarantine/index.d.ts.map +1 -0
- package/dist/quarantine/index.js +194 -0
- package/dist/quarantine/index.js.map +1 -0
- package/dist/receipt/index.d.ts +65 -1
- package/dist/receipt/index.d.ts.map +1 -1
- package/dist/receipt/index.js +115 -1
- package/dist/receipt/index.js.map +1 -1
- package/dist/report/human-message.d.ts +33 -0
- package/dist/report/human-message.d.ts.map +1 -0
- package/dist/report/human-message.js +33 -0
- package/dist/report/human-message.js.map +1 -0
- package/dist/report/index.d.ts +183 -9
- package/dist/report/index.d.ts.map +1 -1
- package/dist/report/index.js +296 -22
- package/dist/report/index.js.map +1 -1
- package/dist/schemas/adoption.d.ts +2 -0
- package/dist/schemas/adoption.d.ts.map +1 -1
- package/dist/schemas/adoption.js +6 -0
- package/dist/schemas/adoption.js.map +1 -1
- package/dist/schemas/behavior-catalog.d.ts +12 -0
- package/dist/schemas/behavior-catalog.d.ts.map +1 -1
- package/dist/schemas/behavior-evidence.d.ts +40 -0
- package/dist/schemas/behavior-evidence.d.ts.map +1 -1
- package/dist/schemas/behavior-evidence.js +9 -0
- package/dist/schemas/behavior-evidence.js.map +1 -1
- package/dist/schemas/behavior-policy.d.ts +26 -0
- package/dist/schemas/behavior-policy.d.ts.map +1 -1
- package/dist/schemas/behavior-policy.js +37 -1
- package/dist/schemas/behavior-policy.js.map +1 -1
- package/dist/schemas/execution-result.d.ts +17 -5
- package/dist/schemas/execution-result.d.ts.map +1 -1
- package/dist/schemas/execution-result.js +57 -2
- package/dist/schemas/execution-result.js.map +1 -1
- package/dist/schemas/gate-receipt.d.ts +25 -2
- package/dist/schemas/gate-receipt.d.ts.map +1 -1
- package/dist/schemas/gate-receipt.js +181 -2
- package/dist/schemas/gate-receipt.js.map +1 -1
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/policy.d.ts +19 -0
- package/dist/schemas/policy.d.ts.map +1 -1
- package/dist/schemas/policy.js +36 -0
- package/dist/schemas/policy.js.map +1 -1
- package/dist/schemas/quarantine.d.ts +25 -0
- package/dist/schemas/quarantine.d.ts.map +1 -0
- package/dist/schemas/quarantine.js +34 -0
- package/dist/schemas/quarantine.js.map +1 -0
- package/dist/schemas/queue-observer.d.ts +195 -0
- package/dist/schemas/queue-observer.d.ts.map +1 -0
- package/dist/schemas/queue-observer.js +190 -0
- package/dist/schemas/queue-observer.js.map +1 -0
- package/dist/schemas/run-record.d.ts +57 -0
- package/dist/schemas/run-record.d.ts.map +1 -0
- package/dist/schemas/run-record.js +108 -0
- package/dist/schemas/run-record.js.map +1 -0
- package/dist/schemas/runtime-config.d.ts +67 -0
- package/dist/schemas/runtime-config.d.ts.map +1 -1
- package/dist/schemas/runtime-config.js +75 -1
- package/dist/schemas/runtime-config.js.map +1 -1
- package/dist/schemas/signature-profile.d.ts +99 -0
- package/dist/schemas/signature-profile.d.ts.map +1 -0
- package/dist/schemas/signature-profile.js +197 -0
- package/dist/schemas/signature-profile.js.map +1 -0
- package/dist/schemas/test-map.d.ts +4 -0
- package/dist/schemas/test-map.d.ts.map +1 -1
- package/dist/schemas/test-map.js +12 -0
- package/dist/schemas/test-map.js.map +1 -1
- package/dist/schemas/verdict.d.ts +19 -4
- package/dist/schemas/verdict.d.ts.map +1 -1
- package/dist/schemas/verdict.js +38 -4
- package/dist/schemas/verdict.js.map +1 -1
- package/dist/strictness.d.ts +102 -0
- package/dist/strictness.d.ts.map +1 -0
- package/dist/strictness.js +92 -0
- package/dist/strictness.js.map +1 -0
- package/dist/supervision/index.js +6 -6
- package/dist/supervision/index.js.map +1 -1
- package/dist/twin-paths.d.ts +125 -0
- package/dist/twin-paths.d.ts.map +1 -0
- package/dist/twin-paths.js +233 -0
- package/dist/twin-paths.js.map +1 -0
- package/dist/verdict/behavior.d.ts.map +1 -1
- package/dist/verdict/behavior.js +284 -10
- package/dist/verdict/behavior.js.map +1 -1
- package/dist/verdict/cause.d.ts.map +1 -1
- package/dist/verdict/cause.js +18 -0
- package/dist/verdict/cause.js.map +1 -1
- package/dist/verdict/evaluate.d.ts +54 -0
- package/dist/verdict/evaluate.d.ts.map +1 -1
- package/dist/verdict/evaluate.js +278 -12
- package/dist/verdict/evaluate.js.map +1 -1
- package/dist/verdict/index.d.ts +3 -3
- package/dist/verdict/index.d.ts.map +1 -1
- package/dist/verdict/index.js +3 -3
- package/dist/verdict/index.js.map +1 -1
- package/dist/verdict/pack-verifiers.d.ts +17 -3
- package/dist/verdict/pack-verifiers.d.ts.map +1 -1
- package/dist/verdict/pack-verifiers.js +47 -8
- package/dist/verdict/pack-verifiers.js.map +1 -1
- package/dist/verdict/registry.d.ts +19 -0
- package/dist/verdict/registry.d.ts.map +1 -1
- package/dist/verdict/registry.js +21 -0
- package/dist/verdict/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/verdict/evaluate.js
CHANGED
|
@@ -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
|
-
|
|
530
|
-
`[${[...delta].sort().join(', ')}]
|
|
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
|
-
|
|
968
|
+
outcome = { status: 'invalid', reason: `${sharp} (obligation '${obligation.id}')` };
|
|
822
969
|
}
|
|
823
970
|
}
|
|
824
|
-
return
|
|
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
|
|
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
|
|
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
|
|
973
|
-
|
|
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
|
-
|
|
987
|
-
|
|
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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"}
|