diff --git a/packages/iios-service/scripts/smoke-capability.mjs b/packages/iios-service/scripts/smoke-capability.mjs index bb9545f..ab81abe 100644 --- a/packages/iios-service/scripts/smoke-capability.mjs +++ b/packages/iios-service/scripts/smoke-capability.mjs @@ -50,6 +50,10 @@ try { const b = await send('EMAIL', 'buyer@yamuna', { text: 'x' }, key); assert(a.id === b.id, 'idempotent replay → one command'); + // (e) consent gate active at egress: under the live (NOT_REQUIRED) CMP a send proceeds. + // The DENY→BLOCKED and ALLOW→receipt paths are proven deterministically in unit tests. + assert(sandboxCmd.status === 'SENT', 'CMP consent gate consulted at egress; NOT_REQUIRED → send proceeds (P9 slice 2)'); + // (d) /health shows provider bindings const health = await (await fetch(`${SERVICE}/health`)).json(); assert(health.egressProviders?.EMAIL === 'http' && health.egressProviders?.WEBHOOK === 'sandbox', '/health shows EMAIL=http, WEBHOOK=sandbox bindings');