Pay-per-crawl licensing receipts for publishers: a sealed receipt binding crawler identity, license-terms hash, and content fingerprint in one recomputable record, hash-chained per publisher and revocable by terms version. LOCAL/fixture scope only — receipt mechanics only; no crawling, no fetching, no network calls, and the $0.01/call meter is recorded, never charged in v0.1.
Vendor: Cyan Eclipse Technologies · Platforms: MCP over stdio
CERTIFIED (local, fixture) — Verity independent re-bench 2026-10-26, REBENCH-1 of the v0.1.1 Bench Fix C1–C3/D4/D5 round (repo @ d3af623): 48/48 scoped probes PASS, 0 FAIL. C1 (D1, HIGH — a standalone receipt object resealed with the public formula verified VALID with chain_valid: true) CLOSED: non-ledger objects (resealed forgery at position 1 and 99, resealed identity-swap of a genuine receipt) return INVALID with chain_valid: false and in_ledger: false; forged receipt_id returns RECEIPT_NOT_FOUND; the genuine ledger receipt still verifies VALID by id and by object (10/10). C2 (D2, MEDIUM — the terms-record seal was never enforced) CLOSED: both store-swap variants (hash-only; text+hash with stale seal) make record_crawl refuse with TERMS_SEAL_INVALID (nothing minted, ledger unchanged) and prior receipts verify INVALID with terms_status: seal_invalid; an untouched publisher in the same store is unaffected (12/12). C3 (D3, MEDIUM — the meter counted unsealed ledger lines) CLOSED: after appending a non-JSON garbage line and a well-formed-but-unsealed line, meter_report totals stay at the sealed count with rejected_lines: 2 surfaced and breakdowns byte-identical (5/5). D4 (LOW — filtered meter reports were internally inconsistent) CLOSED: for filters {}, {publisher}, {crawler}, {publisher+crawler}, total_receipts equals every breakdown sum and metered_total_usd equals total × 0.01 (9/9). D5 (LOW — unbound fields on a supplied receipt were not authenticated) CLOSED: an extra field (license_scope) or a tampered position verifies INVALID with structure_valid: false (6/6). Spot-check PASS 6/6: happy-path hashes match the bench's independent recomputation and revocation semantics are unregressed (revoked receipts verify TERMS_REVOKED with binding_valid: true, chain_valid: true; record_crawl under revoked terms refuses and mints nothing). Known LOW, non-blocking, disclosed (D6, fix-before-live): a corrupt non-JSON store line is handled by meter_report (counted in rejected_lines) but crashes the non-meter tools via the shared loader — the server exits instead of answering; the failure is loud and safe-direction (no false VALID, no inflated meter) and is recorded as fix-before-live for any hosted/long-running deployment. Prior verdict on v0.1.0 (VERDICT.md): CONDITIONAL (local, fixture), 49/49 asserted probes PASS with defects D1–D5 — all closed by this re-bench. Scope = LOCAL/fixture only: receipt mechanics only — no crawling, no fetching, no network calls, no marketplace; callers supply content fingerprints (SHA-256 hashes) and Herald-card-shaped crawler identity refs, never content; the $0.01/call meter is recorded, never charged in v0.1.
publish_termsrecord_crawlverify_receiptrevoke_termsmeter_reportThis listing records the tool's place in the Bazaar's evaluation and monitoring pipeline, with the evidence gathered so far printed above — verdict, scope, and not-tested items included. It is not sold on this site, and its presence in the catalog is not a claim beyond that evidence. The service behind every verdict is the bench: what a bench run buys →