@emilia-protocol/gate 0.9.4 → 0.9.5

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/aec-execution.js CHANGED
@@ -50,6 +50,19 @@ function humanFloorSatisfied(result, floor) {
50
50
  return classA || quorum;
51
51
  }
52
52
 
53
+ function evidenceSatisfied(result) {
54
+ try {
55
+ if (!result || typeof result !== 'object') return false;
56
+ // New verifiers expose the evidence-layer term. Older supported 3.x
57
+ // verifiers expose the equivalent `allow` result only. If `satisfied` is
58
+ // present, it is authoritative so a conflicting compatibility alias can
59
+ // never upgrade a refusal.
60
+ return own(result, 'satisfied') ? result.satisfied === true : result.allow === true;
61
+ } catch {
62
+ return false;
63
+ }
64
+ }
65
+
53
66
  function consumptionKey(result) {
54
67
  // Consume the executor-owned action instance, not a presenter-selected
55
68
  // component identifier. Otherwise an invalid decoy component or an alternate
@@ -216,7 +229,7 @@ export function createAECExecutionGate({
216
229
  expectedAction: actionSnapshot,
217
230
  verificationTime,
218
231
  });
219
- if (!result.allow) return deny('aec_refused', result, { reasons: result.reasons });
232
+ if (!evidenceSatisfied(result)) return deny('aec_refused', result, { reasons: result.reasons });
220
233
  if (!humanFloorSatisfied(result, humanFloor)) return deny('human_floor_unsatisfied', result);
221
234
 
222
235
  const key = consumptionKey(result);
@@ -294,6 +307,7 @@ export const __aecExecutionSecurityInternals = Object.freeze({
294
307
  validLogRecord,
295
308
  validComponent,
296
309
  humanFloorSatisfied,
310
+ evidenceSatisfied,
297
311
  consumptionKey,
298
312
  instant,
299
313
  });
@@ -50,7 +50,7 @@ kubectl -n emilia create secret generic emilia-gate-issuer-keys \
50
50
  helm install gate ./emilia-gate \
51
51
  --namespace emilia --create-namespace \
52
52
  --set image.repository=YOUR_REGISTRY/emilia-gate \
53
- --set image.tag=0.9.0 \
53
+ --set image.tag=0.9.5 \
54
54
  --set issuerKeys.existingSecret=emilia-gate-issuer-keys
55
55
 
56
56
  # 3. (Optional) expose /metrics + ServiceMonitor stub (needs Prometheus Operator).
@@ -19,7 +19,7 @@ type: application
19
19
  version: 0.1.0
20
20
  # Version of @emilia-protocol/gate this chart tracks; used as the default
21
21
  # image tag when .Values.image.tag is empty.
22
- appVersion: "0.9.0"
22
+ appVersion: "0.9.5"
23
23
  kubeVersion: ">=1.23.0-0"
24
24
  home: https://emiliaprotocol.ai
25
25
  sources:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emilia-protocol/gate",
3
- "version": "0.9.4",
3
+ "version": "0.9.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/emiliaprotocol/emilia-protocol.git",