== 15-verificar-vivo · 2026-10-22T22:31:29Z · bash scripts/verificar-vivo.sh issuer del AS de PACT, leído de la Card: http://localhost:3620/a2a/t_ferreteria_demo/oauth pact-op_R6F-x006Gxsg.json [--marca localhost:3620] -> {"valid": true, "final_state": "succeeded", "revision": 2, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "brand_domain", "key_source": "issuer_metadata_live", "profile": "pact", "statements": 8, "log_inclusion": "ok", "tree_size": 14, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "pact_receipt": "verified", "pact_interface": "http://localhost:3620/a2a/t_ferreteria_demo"} pact-op_R6F-x006Gxsg.json [--as-pact http://localhost:3620/a2a/t_ferreteria_demo/oauth] -> {"valid": true, "final_state": "succeeded", "revision": 2, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "pact_issuer", "key_source": "issuer_metadata_live", "profile": "pact", "statements": 8, "log_inclusion": "ok", "tree_size": 14, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "pact_receipt": "verified", "pact_interface": "http://localhost:3620/a2a/t_ferreteria_demo"} pact-op_R6F-x006Gxsg.json [--dominio localhost:3620] -> {"valid": true, "final_state": "succeeded", "revision": 2, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "poppy_domain", "key_source": "issuer_metadata_live", "profile": "poppy", "statements": 8, "log_inclusion": "ok", "tree_size": 14, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "pact_receipt": "not_presented"} pact-op_R6F-x006Gxsg.json [verificar.py del arquitecto] -> {"valid": true, "final_state": "succeeded", "revision": 2, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false} pact-op_R6F-x006Gxsg.json [aud de otro agente] -> {"valid": false, "error": "aud_mismatch", "seq": 0} pact-op_R6F-x006Gxsg.json [resultado alterado] -> {"valid": false, "error": "signature_invalid", "seq": 7} pact-op_R6F-x006Gxsg.json [recibo PACT alterado] -> {"valid": false, "error": "pact_receipt_invalid", "seq": 0} pact-op_YxV3xdcUxo5-.json [--marca localhost:3620] -> {"valid": true, "final_state": "succeeded", "revision": 1, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "brand_domain", "key_source": "issuer_metadata_live", "profile": "pact", "statements": 6, "log_inclusion": "ok", "tree_size": 6, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "operation": "matches", "pact_receipt": "verified", "pact_interface": "http://localhost:3620/a2a/t_ferreteria_demo"} pact-op_YxV3xdcUxo5-.json [--as-pact http://localhost:3620/a2a/t_ferreteria_demo/oauth] -> {"valid": true, "final_state": "succeeded", "revision": 1, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "pact_issuer", "key_source": "issuer_metadata_live", "profile": "pact", "statements": 6, "log_inclusion": "ok", "tree_size": 6, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "operation": "matches", "pact_receipt": "verified", "pact_interface": "http://localhost:3620/a2a/t_ferreteria_demo"} pact-op_YxV3xdcUxo5-.json [--dominio localhost:3620] -> {"valid": true, "final_state": "succeeded", "revision": 1, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false, "company": "http://localhost:3620/e/ferreteria-demo", "anchor": "poppy_domain", "key_source": "issuer_metadata_live", "profile": "poppy", "statements": 6, "log_inclusion": "ok", "tree_size": 6, "live_tree_size": 14, "consistency": "ok", "witnesses": 0, "operation": "matches", "pact_receipt": "not_presented"} pact-op_YxV3xdcUxo5-.json [verificar.py del arquitecto] -> {"valid": true, "final_state": "succeeded", "revision": 1, "approval": "company_channel", "derived_assurance": ["issuer_key_attested", "operator_observed", "operator_reported_read_back", "operator_reported_channel_approval"], "single_root": "operator", "custody_declared": "operator_hosted", "logged": false} pact-op_YxV3xdcUxo5-.json [aud de otro agente] -> {"valid": false, "error": "aud_mismatch", "seq": 0} pact-op_YxV3xdcUxo5-.json [resultado alterado] -> {"valid": false, "error": "signature_invalid", "seq": 5} pact-op_YxV3xdcUxo5-.json [recibo PACT alterado] -> {"valid": false, "error": "pact_receipt_invalid", "seq": 0} issuer sin metadata (404) -> {"valid": false, "error": "issuer_not_anchored", "seq": null} AS de PACT de otra marca -> {"valid": false, "error": "issuer_not_anchored", "seq": null} verificaciones: 16, fallas: 0 exit 0