{"gate":"MCP Verification Gate","gate_version":"0.4.20","gate_commit":"f286bfe1b797","endpoint":"https://intel.twzrd.xyz/mcp","checked_at":"2026-10-11T18:00:21.787Z","reachable":true,"status":"pending","scope_note":"This gate verifies conformance and disclosure only. It does NOT verify that any price or figure returned by the server is correct. Price validation is a separate, paid tier and is currently available for Japanese construction only. By default this gate calls no tools on the server being checked, so determinism is reported as not measured rather than guessed. The owner of a server has it measured by publishing /.well-known/mcp-conduct.json with allow_tool_call true.","tools_called":"none","coordinate_derivation":{"schema":"nenrin-instant-v1","derived":true,"window_id":"w2962","salt_commitment":"837d54ffa4050b9cc48d4730a8ebb6111af5bcde48e8002f41c631029ba26334","salt_created_at":"2026-10-01T18:00:17.119Z","beacon":{"height":970510,"block_hash":"00000000000000000001d475a45969bf4991e5351185e475b52a5f523be8aa80","block_time":"2026-10-08T16:00:22.000Z","sources":["mempool.space","blockstream.info","mempool.emzy.de"],"agreed_by":["mempool.space","mempool.emzy.de"],"reference":{"rule":"tip ranked 2 of 2 (highest first) minus 6; with two sources that is min(tip) - 6","quorum":2,"tips":{"mempool.space":970516,"mempool.emzy.de":970516}},"read_at":"2026-10-08T18:00:24.708Z"},"day_in_window":3,"window_days":7,"tool_set_sha256":null,"tool_count":0,"rule":"the measurement day and the tool order are HMAC-SHA256 derived from a salt the gate committed to before the window opened, bound to a Bitcoin block whose header time is at or after the salt's creation. The subject cannot predict them; the gate cannot choose them after the fact. The salt is served at /nenrin/window/{window_id} when the window closes, and anyone can recompute all of this.","limits":"Derivation is fair only inside the surface the subject declared. A tool never listed is never picked. That set is unknown, not absent. This measures conduct, not quality."},"consent_basis":"no consent given; no tool was called","consent_source":"none","consent_lookup":{"well_known":"https://intel.twzrd.xyz/.well-known/mcp-conduct.json","result":"no consent file at /.well-known/mcp-conduct.json (http 404)","how_to_consent":"Publish /.well-known/mcp-conduct.json on the origin with {\"allow_tool_call\": true} (optionally \"endpoints\": [exact endpoint URLs]). Only the owner of the origin can place a file there, so the gate treats it as consent, measures determinism on the register with it, and records where it read it."},"probed_via":"direct from the gate worker (cron context)","checks":{"mcp_endpoint":{"pass":false,"reason":"initialize returned a JSON-RPC error: Invalid request parameters","detail":{"initialize":false,"server_name":null}},"agent_card":{"pass":true,"transport":false,"reason":"agent-card published and well-formed","detail":{"url":"https://intel.twzrd.xyz/.well-known/agent-card.json","name":"TWZRD Agent Intel","skills":12,"signature":{"present":0,"verified":null,"reason":"card carries no signatures (A2A 1.0 §8.4 is optional)"}}},"compensation_disclosure":{"pass":true,"reason":"compensation structure declared","detail":{"extension_identifier":null,"paid_by":"buyer","referral_fee":false,"listing_fee":false,"success_fee_pct":0,"disclosure_url":"https://intel.twzrd.xyz/llms.txt","location":"top_level"}},"determinism":{"pass":false,"measured":false,"reason":"not measured: measuring determinism requires calling one of your tools, and this gate does not call tools on a server without the owner's consent. The first tool listed may be destructive. To have this condition measured, publish /.well-known/mcp-conduct.json on the origin with {\"allow_tool_call\": true}; a request field alone is not proof of ownership.","detail":{"consent_required":true,"how_to_measure":"publish /.well-known/mcp-conduct.json with {\"allow_tool_call\": true} on your origin, then POST /check {\"endpoint\":\"https://your-server/mcp\"}","tool_that_would_be_called":null}}},"absence_vs_failure":{"condition":"06","measured":false,"reason":"the tool list could not be read, so the contract was not measured. This is NOT a statement that the server cannot distinguish the two ,  only that the gate did not see."},"canonicalization":{"condition":"07","measured":false,"reason":"the tool list could not be read, so there was no declared surface to canonicalize. This is NOT a statement that the surface cannot be canonicalized, only that the gate did not see it."},"establishes":["at 2026-10-11T18:00:21.787Z this gate (commit f286bfe1b797, version 0.4.20) measured https://intel.twzrd.xyz/mcp and recorded status pending","conditions passed: agent_card, compensation_disclosure; conditions failed: mcp_endpoint","every hash in this record recomputes from the bytes it names, and record_sha256 recomputes from this record with record_sha256 and recompute_note removed","the measurement instant and the tool measured were derived from a committed salt and a Bitcoin block the subject did not choose (coordinate_derivation)"],"does_not_establish":["correctness of any price, figure or answer the server returns","truth of the compensation declaration; only its presence and shape are measured","quality, competence or fitness of the operator or the service","behaviour at instants not measured or from vantages this gate did not use","conditions not measured on this instant: determinism (unmeasured is not failed)","that the operator published this card: it carried no signature, so these bytes are attributable to this gate's observation alone and the operator can repudiate them (an unsigned card is permitted and is not a failure)"],"number_safety":{"since":"0.4.2","parse_safe":true,"safe_integers_only":true,"unsafe_integers":[],"non_integer_numbers":[],"what":"Which numbers in these bytes a second implementer might not reproduce. Two questions, not one, because the two failures are not the same size. parse_safe is the one that matters: true means unsafe_integers is empty, so no value here is destroyed by JSON.parse before any canonicalization code can run, and a reader at least sees what was written. safe_integers_only is stricter: true means both lists are empty, so every number here is an integer inside the RFC 7493 (I-JSON) safe range and a compact re-serialization with the keys in the order printed reproduces these bytes in any language at all. non_integer_numbers lists doubles: every runtime that prints the shortest form that round trips (JavaScript, Python, Go, Java and others) reaches the same characters, but a runtime that prints a fixed number of digits does not. A verdict that measures a surface normally carries one such double, the percentage in absence_vs_failure, so parse_safe true with safe_integers_only false is the ordinary state and is not a warning.","why":"An integer past 2^53 is rounded by JSON.parse before any canonicalization runs, and a double can be printed more than one way. Either silently breaks the recompute recipe for some readers, and prose in the recipe cannot prevent it, because the damage happens before the reader reaches the prose. Found in public on 2026-09-09 by Federico Blanco Sanchez-Llanos, from the payments side, in an idempotency key where two different large amounts collapsed into one fingerprint.","self_applied":"This is condition 07's rule, which this gate applies to every surface it measures and for which it withholds a fingerprint rather than publish one nobody could reproduce, asked of the gate's own verdict. The operator is a subject of the rule, not an exception to it.","not_a_rule":"A disclosed measurement, not a pass or fail. Nothing turns red on it, and a listed number does not make a verdict wrong. It says how to check: fetch the bytes at record_url and hash them, rather than parsing and re-serializing them yourself.","this_block_holds_no_number":"By construction this block contains no numeric value, so adding it to the record cannot change the answer it reports about the record."}}