{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"373eb274-fddf-4b67-b074-93b0511cbb82","source_url":"https://zambo.dev/api/receipt/373eb274-fddf-4b67-b074-93b0511cbb82","receipt":{"id":"373eb274-fddf-4b67-b074-93b0511cbb82","created_at":"2026-11-04T03:05:40.672Z","receipt_schema_version":"0.4","job_summary":"MCP tool execution: regex_build","tools":["regex_build"],"steps":[{"tool":"regex_build","status":"success","started_at":"2026-11-04T03:05:39.155Z","completed_at":"2026-11-04T03:05:40.672Z"}],"output_hash":"sha256:5e7ca13f591e5d39d7fb5dea96c85f8fc1771f0270cf5a4052d1c590bc3a4f31","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiYmFzaXMiOiJpcF91YV8zMGQiLCJpZCI6InNoYTI1Njo4ZTdiMzU2ZGQ5ZWY5YTYyZDM2N2ZkYzAwY2U5Y2UxYTQxZTM0ZDNlYzNiZWNhNjFiZTBhMjU4ZTBiYWM4YzgxIiwicm90YXRlc19hdCI6IjIwMjYtMTItMDNUMDA6MDA6MDAuMDAwWiIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7ImFsdGVybmF0aXZlcyI6WyJVc2UgYSBtb3JlIGNvbXByZWhlbnNpdmUgUkZDIDUzMjItY29tcGxpYW50IHJlZ2V4IGZvciBwcm9kdWN0aW9uIHN5c3RlbXMiLCJVc2UgYSBkZWRpY2F0ZWQgZW1haWwgdmFsaWRhdGlvbiBsaWJyYXJ5IGZvciBjb21wbGV4IGNhc2VzIiwiVXNlIEhUTUw1IGlucHV0IHR5cGU9J2VtYWlsJyBmb3IgYmFzaWMgYnJvd3Nlci1sZXZlbCB2YWxpZGF0aW9uIl0sImNvZGVfc25pcHBldCI6ImNvbnN0IGVtYWlsUmVnZXggPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Mix9JC87XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbWFpbChlbWFpbCkge1xuICByZXR1cm4gZW1haWxSZWdleC50ZXN0KGVtYWlsKTtcbn1cblxuLy8gRXhhbXBsZSB1c2FnZTpcbmNvbnNvbGUubG9nKGlzVmFsaWRFbWFpbCgndXNlckBleGFtcGxlLmNvbScpKTsgLy8gdHJ1ZVxuY29uc29sZS5sb2coaXNWYWxpZEVtYWlsKCdpbnZhbGlkLWVtYWlsJykpOyAvLyBmYWxzZSIsImVkZ2VfY2FzZXMiOlsiRW1haWxzIHdpdGggaW50ZXJuYXRpb25hbCBjaGFyYWN0ZXJzIChub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcmVnZXgpIiwiRW1haWxzIHdpdGggcXVvdGVkIGxvY2FsIHBhcnRzIChlLmcuLCBcInVzZXIgbmFtZVwiQGV4YW1wbGUuY29tKSIsIkVtYWlscyB3aXRoIElQIGFkZHJlc3MgZG9tYWlucyAoZS5nLiwgdXNlckBbMTkyLjE2OC4xLjFdKSIsIlZlcnkgbG9uZyBlbWFpbCBhZGRyZXNzZXMgZXhjZWVkaW5nIHR5cGljYWwgbGVuZ3RoIGxpbWl0cyJdLCJmbGFncyI6IiIsInBhdHRlcm4iOiJeW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXC5bYS16QS1aXXsyLH0kIiwicGxhaW5fZW5nbGlzaCI6Ik1hdGNoZXMgc3RyaW5ncyB0aGF0IHN0YXJ0IHdpdGggb25lIG9yIG1vcmUgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRvdHMsIHVuZGVyc2NvcmVzLCBwZXJjZW50IHNpZ25zLCBwbHVzIHNpZ25zLCBvciBoeXBoZW5zLCBmb2xsb3dlZCBieSBhbiBhdCBzeW1ib2wsIHRoZW4gb25lIG9yIG1vcmUgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRvdHMsIG9yIGh5cGhlbnMsIGZvbGxvd2VkIGJ5IGEgZG90LCBhbmQgZW5kaW5nIHdpdGggdHdvIG9yIG1vcmUgbGV0dGVycy4iLCJ0ZXN0X2Nhc2VzIjpbeyJleHBsYW5hdGlvbiI6IlZhbGlkIHN0YW5kYXJkIGVtYWlsIGFkZHJlc3MiLCJpbnB1dCI6InVzZXJAZXhhbXBsZS5jb20iLCJtYXRjaGVzIjp0cnVlfSx7ImV4cGxhbmF0aW9uIjoiVmFsaWQgZW1haWwgd2l0aCBkb3RzLCBwbHVzIHNpZ24sIGFuZCBtdWx0aS1sZXZlbCBkb21haW4iLCJpbnB1dCI6InVzZXIubmFtZSt0YWdAZG9tYWluLmNvLnVrIiwibWF0Y2hlcyI6dHJ1ZX0seyJleHBsYW5hdGlvbiI6Ik1pc3NpbmcgQCBzeW1ib2wgYW5kIGRvbWFpbiIsImlucHV0IjoiaW52YWxpZC1lbWFpbCIsIm1hdGNoZXMiOmZhbHNlfSx7ImV4cGxhbmF0aW9uIjoiTWlzc2luZyBsb2NhbCBwYXJ0IGJlZm9yZSBAIiwiaW5wdXQiOiJAZXhhbXBsZS5jb20iLCJtYXRjaGVzIjpmYWxzZX0seyJleHBsYW5hdGlvbiI6Ik1pc3NpbmcgZG9tYWluIGFmdGVyIEAiLCJpbnB1dCI6InVzZXJAIiwibWF0Y2hlcyI6ZmFsc2V9LHsiZXhwbGFuYXRpb24iOiJEb21haW4gc3RhcnRzIHdpdGggYSBkb3QiLCJpbnB1dCI6InVzZXJALmNvbSIsIm1hdGNoZXMiOmZhbHNlfV19LCJyZWNlaXB0X3NjaGVtYV92ZXJzaW9uIjoiMC40Iiwic2lkZV9lZmZlY3RzIjp7ImRlY2xhcmF0aW9uX2hhc2giOiJzaGEyNTY6NDVhYWQzOGYzYWE5ODJiOWFhZmU5MmVjYjQxNmViZTk4NzkxZWRkYmFmOGFiNmRmMGJkMDg2MDViN2MxYmZlZSIsImRlY2xhcmVkIjpbIm5vbmUiXSwic2NoZW1hX3ZlcnNpb24iOiJ6YW1iby1zaWRlLWVmZmVjdHMvMSJ9LCJ0b29sIjp7Im5hbWUiOiJyZWdleF9idWlsZCIsInNjb3BlIjoicHVibGljIiwidmVyc2lvbiI6IjQuMC4wIn19","canonical_bytes_withheld_for_privacy":false,"canonical_byte_length":2199,"verification_status":"verified","session_trail":[],"result_preview":"{\"pattern\":\"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\",\"flags\":\"\",\"plain_english\":\"Matches strings that start with one or more alphanumeric characters, dots, underscores, percent signs, plus signs, or hyphens, followed by an at symbol, then one or more alphanumeric characters, dots, or hyphens, followed by a dot, and ending with two or more letters.\",\"code_snippet\":\"const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$/;\\n\\nfunction isValidEmail(email) {\\n  return emailRegex.test(email);\\n}\\n\\n// Example usage:\\nconsole.log(isValidEmail('[REDACTED_EMAIL]')); // true\\nconsole.log(isValidEmail('invalid-email')); // false\",\"test_cases\":[{\"input\":\"[REDACTED_EMAIL]\",\"matches\":true,\"explanation\":\"Valid standard email address\"},{\"input\":\"[REDACTED_EMAIL]\",\"matches\":true,\"explanation\":\"Valid email with dots, plus sign, and multi-level domain\"},{\"input\":\"invalid-email\",\"matches\":false,\"explanation\":\"Missing @ symbol and domain\"},{\"input\":\"@example.com\",\"matches\":false,\"explanation\":\"Missing local part before @\"},{\"input\":\"user@\",\"matches\":false,\"explanation\":\"Missing domain after @\"},{\"input\":\"user@.com\",\"matches\":false,\"explanation\":\"Domain starts with a dot\"}],\"edge_cases\":[\"Emails with international characters (not supported by this regex)\",\"Emails with quoted local parts (e.g., \\\"user name\\\"@example.com)\",\"Emails with IP address domains (e.g., user@[192.168.1.1])\",\"Very long email addresses exceeding typical length limits\"],\"alternatives\":[\"Use a more comprehensive RFC 5322-compliant regex for production systems\",\"Use a dedicated email validation library for complex cases\",\"Use HTML5 input type='email' for basic browser-level validation\"]}","result_preview_integrity":"display_only_not_committed","result_preview_truncated":false,"input_hash":"sha256:b8d48a168e27bce3913423756b98234258ff44049a80e2c8815deabfbef1a743","input_hash_layout":"zambo-json-sorted-keys-utf8-v1","free_used":0,"free_remaining":0,"free_limit":0,"signal_handle":null,"tool":{"name":"regex_build","version":"4.0.0","scope":"public"},"caller":{"type":"anonymous","id":"sha256:8e7b356dd9ef9a62d367fdc00ce9ce1a41e34d3ec3beca61be0a258e0bac8c81","basis":"ip_ua_30d","rotates_at":"2026-12-03T00:00:00.000Z"},"side_effects":{"declared":["none"],"schema_version":"zambo-side-effects/1","declaration_hash":"sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee"},"evidence_sha256":null,"evidence_url":null,"evidence_byte_length":null,"evidence_content_type":null,"evidence_source_url":null,"evidence_status":"empty","result_source":null,"evidence_source":null,"external_evidence":[],"provenance":{"result_source":null,"evidence_source":null,"evidence_status":"empty","evidence_captures":[]},"provenance_class":"EXECUTED BY ZAMBO","metadata_hash":"sha256:4b337765635b044af243eade2abee65028cf73e6904fda364e648a7f2ee0d2d0","anchor":{"event_id":"427b5adeac892a856793b97a7e4fb496af15a2351db53eff8d2b98678730db25","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.damus.io","wss://nos.lol","wss://relay.primal.net"],"status":"partial","published_at":"2026-11-04T03:05:41.600Z","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-11-04T03:05:40.672Z","evidence_url":null,"receipt_uuid":"373eb274-fddf-4b67-b074-93b0511cbb82","output_sha256":"sha256:5e7ca13f591e5d39d7fb5dea96c85f8fc1771f0270cf5a4052d1c590bc3a4f31","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-11-04T03:05:40.672Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:5e7ca13f591e5d39d7fb5dea96c85f8fc1771f0270cf5a4052d1c590bc3a4f31\",\"receipt_uuid\":\"373eb274-fddf-4b67-b074-93b0511cbb82\",\"schema_version\":\"zambo-receipt-anchor/1\"}"},"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","api_version":1,"verification_scope":"separate_sha256_commitment_and_provenance_binding_checks","checks":{"commitment_matches":{"label":"SHA-256 commitment","passed":true,"status":"pass","detail":"The exact decoded canonical bytes match the stored SHA-256 output hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"signature":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"No Ed25519 signature or pinned signing key was checked."},"chain":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"No append-only receipt-chain proof was checked."},"issued_by_zambo_dev":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"immutable_log_timestamp":{"label":"Stored timestamp","passed":true,"timestamp":"2026-11-04T03:05:40.672Z","detail":"The receipt store reports 2026-11-04T03:05:40.672Z; immutability is not checked here."},"receipt_schema_version":"0.4","signature_valid":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"Compatibility field only. No Ed25519 signature was checked; use API v2 checks.commitment_matches for the SHA-256 commitment."},"chain_valid":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"This endpoint does not verify an append-only chain."}},"execution_context":{"environment":"zambo.dev hosted MCP","quota_identity":{"meter_key":"sha256:f2a49000996da42197320f19ed2cf37361638cd811b8add15ce11581bfeb817e"}}},"evidence_status":"empty","verification_status":"verified","checks":{"commitment_matches":{"status":"pass","passed":true,"expected_hash":"sha256:5e7ca13f591e5d39d7fb5dea96c85f8fc1771f0270cf5a4052d1c590bc3a4f31","computed_hash":"sha256:5e7ca13f591e5d39d7fb5dea96c85f8fc1771f0270cf5a4052d1c590bc3a4f31","detail":"SHA-256 of the exact decoded canonical bytes matches output_hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"The metadata claim is consistent with the verified receipt bytes; issuer is not authenticated."},"metadata_binding":{"label":"AER-1 metadata hash","status":"pass","passed":true,"detail":"metadata_hash matches the canonical metadata block."},"issuer_authentication":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"signature":{"status":"not_checked","detail":"No Ed25519 signature or pinned signing key is supplied."},"schema":{"status":"not_checked","detail":"Schema conformance is left to the client using the linked hosted-profile schema."},"chain":{"status":"not_checked","detail":"This endpoint does not verify an append-only receipt chain."}}}