{"service":"SeenRelay","version":"0.3.10","canonical_origin":"https://seenrelay.com","purpose":"Help agents decide when a known external state needs fresh authoritative validation, using local/private reuse, source-native controls and optional shared recent evidence.","semantics":"Reports what agents recently observed so callers can decide whether to validate again; it does not decide truth or replace the authoritative source.","operations":["CHECK","OBSERVE"],"fact_identity":"seenrelay-fact-v3","fact_identity_precedence":["source_locator","predicate"],"observer_proof":"ed25519-v1","observer_proof_semantics":"Proof of key possession and continuity only; not proof of independent actor identity or truth.","registry":{"mcp_name":"io.github.ovladon/seenrelay","version":"0.3.10","status":"published"},"access":{"account_required":false,"current_pricing":"free"},"hive":{"lease":"signed operational slot; no account required","reward":"contribution credit is based on later qualifying reuse"},"protocols":{"rest_openapi":{"status":"implemented","url":"https://seenrelay.com/openapi.json"},"mcp":{"status":"implemented_e2e_verified","revision":"2026-07-28","url":"https://seenrelay.com/mcp"},"a2a":{"status":"monitored_not_exposed","tracked":"1.0.0"}},"integration_paths":{"javascript_typescript_zero_state":{"status":"implemented_public_client_0.2.25","recommendation":"Use for explicitly eligible read-only validation when the application controls the call path.","execution_order":["l0_local","l1_private_optional","source_native","shared_check_optional","original_validation"],"shared_check_default":"off","default_completed_result_ttl_ms":0,"source":"https://github.com/ovladon/seenrelay/tree/main/clients/typescript","failure_semantics":"Client/store/relay failure fails open into the application's existing validation path."},"classic_wrappers":{"status":"implemented","recommendation":"Use for conservative CHECK-first measurement or explicit bounded shared-evidence reuse.","javascript_typescript":"https://github.com/ovladon/seenrelay/tree/main/clients/typescript","python":"https://github.com/ovladon/seenrelay/tree/main/clients/python","python_mode":"shadow_first","failure_semantics":"Relay-side failure fails open into the application's existing validation path.","client_version":"0.2.25","npm_install":"npm install seenrelay","pypi_install":"pip install seenrelay","runtime_dependencies":0,"public_registry_verified_at":"2026-10-02T10:19:04Z"},"mcp":{"role":"Standard discovery and model/tool-routing interface for CHECK and OBSERVE.","url":"https://seenrelay.com/mcp"}},"self_serve_adoption":{"schema":"seenrelay-machine-adoption-contract-v1","goal":"Reach a bounded evidence-backed keep/remove decision without contacting SeenRelay.","project_mutation_authority":"caller_or_project_owned_never_granted_by_seenrelay","states":["PRESCREEN","SHADOW","QUALIFIED","ACTIVE","DEMOTED","REMOVE"],"start":{"state":"PRESCREEN","command":"npx seenrelay scan","uploads_source":false,"modifies_project":false,"can_authorize_reuse":false},"transitions":[{"from":"PRESCREEN","when":"no_candidate","to":"REMOVE","action":"do_not_install"},{"from":"PRESCREEN","when":"candidate_for_shadow_measurement","to":"SHADOW","action":"instrument_narrowest_supported_shadow_path"},{"from":"SHADOW","when":"verdict_do_not_use","to":"REMOVE","action":"remove_or_leave_uninstalled"},{"from":"SHADOW","when":"verdict_insufficient_evidence","to":"SHADOW","action":"continue_normal_workload_measurement"},{"from":"SHADOW","when":"verdict_use","to":"QUALIFIED","action":"require_project_authority_and_explicit_policy_before_active_reuse"},{"from":"QUALIFIED","when":"project_authority_and_policy_allow","to":"ACTIVE","action":"enable_only_the_bounded_qualified_path"},{"from":"ACTIVE","when":"audit_mismatch_or_contested_evidence","to":"DEMOTED","action":"disable_reuse_and_execute_authoritatively"},{"from":"ACTIVE","when":"measured_net_value_non_positive","to":"DEMOTED","action":"disable_active_mode_and_remove_if_persistent"},{"from":"DEMOTED","when":"explicit_requalification","to":"SHADOW","action":"remeasure_before_any_reactivation"}],"negative_result_is_success":true,"native_control_first":true,"fail_open":true,"machine_audit_schema":"seenrelay-shadow-audit-v1","verdicts":["USE","DO NOT USE","INSUFFICIENT EVIDENCE"],"agent_skill":"https://seenrelay.com/.well-known/agent-skills/seenrelay/SKILL.md","agent_adoption":"https://seenrelay.com/agent-adoption.json","agents_page":"https://seenrelay.com/agents","trust":"https://seenrelay.com/trust.json","quickstart":"https://seenrelay.com/quickstart"},"economics":{"target_workloads":["known_state_revalidation","paid_web_search","metered_scraping","browser_or_extraction","multi_step_validation","rate_limited_api"],"poor_fit":["mutating_or_destructive_operation","cheap_one_off_fetch","fact_with_low_repeat_probability","policy_requires_live_authoritative_source_on_every_call"],"fleet_value":"Local/private/source-native controls should win first. Shared recent evidence is useful only when it can reduce otherwise necessary revalidation under the caller's freshness policy.","current_seenrelay_api_fee":0,"measure_first":true,"shadow_proof":"https://github.com/ovladon/seenrelay/blob/main/docs/ECONOMICS_LAB.md","page":"https://seenrelay.com/economics","direct_usage_formula":"gross provider spend avoided ~= protected_calls * measured_reusable_rate * marginal_full_validation_cost","pricing_snapshots":{"checked_at":"2026-09-25","max_age_days":30,"openai_web_search":{"price_usd_per_1000_calls":10,"source":"https://platform.openai.com/pricing","note":"Search-content token effects are separate."},"firecrawl":{"basic_scrape_credits_per_page":1,"json_extraction_total_credits_per_page":5,"standard_plan_usd_per_month_billed_yearly":83,"standard_plan_credits_per_month":100000,"source":"https://www.firecrawl.dev/pricing","cost_detail_source":"https://www.firecrawl.dev/blog/mastering-firecrawl-scrape-endpoint","note":"Use credits avoided as the direct benchmark metric. Fixed-plan invoice savings occur only when lower usage changes tier, overage or required capacity."},"browserbase_extract":{"marginal_price_usd_per_1000_calls_without_proxies_after_allowance":4,"source":"https://www.browserbase.com/pricing"}},"verified_benchmarks":[{"id":"firecrawl-basic-scrape-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T09:35:23.876Z","provider":"Firecrawl","workload":"fixed-URL basic scrape with provider caching enabled","samples":5,"freshness_window_seconds":3600,"baseline_provider_calls":5,"baseline_median_ms":91.03,"reuse_provider_calls":0,"reuse_median_ms":648.98,"provider_credits_avoided":5,"provider_credit_model":"1 credit per successful basic scrape; cached results still consume 1 credit","economic_result":"lower provider-credit consumption versus the measured Firecrawl provider path; not a best-path cost win for this synthetic fact","latency_result":"slower than the provider cache and slower than the direct-source control measured in the benchmark","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32953753129","artifact_digest":"sha256:1177ca13a1974064942487671352f42a45a74c36745a24680ba62e5d39b3b5f4","caveat":"First-party synthetic smoke benchmark with a small sample. It demonstrates provider-path skip mechanics, not workload fit: the tested document-title fact was directly source-resolvable, so the source-native control belongs ahead of shared CHECK.","matrix":{"series_key":"firecrawl-basic-scrape-provider-cache-v1","surface":"Basic cached scrape","configuration":"Fixed URL · provider cache enabled","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"worse","baseline_median_ms":91.03,"baseline_context":"Firecrawl provider-cache path; direct-source equivalent available","provider_calls_avoided":5,"provider_units_avoided":5,"provider_unit_label":"credits"}},{"id":"firecrawl-json-extraction-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T09:37:31.948Z","provider":"Firecrawl","workload":"fixed-URL JSON structured extraction","samples":3,"freshness_window_seconds":300,"credits_per_full_validation":5,"fresh_baseline_provider_calls":3,"fresh_baseline_median_ms":1265.68,"provider_cached_baseline_provider_calls":3,"provider_cached_baseline_median_ms":1039.5,"reuse_provider_calls":0,"reuse_median_ms":617.78,"provider_calls_avoided":3,"provider_credits_avoided":15,"latency_improvement_vs_fresh_percent":51.2,"latency_improvement_vs_provider_cached_percent":40.6,"economic_result":"lower Firecrawl credit consumption versus the measured JSON-extraction path; not a best-path cost win for this synthetic fact","latency_result":"faster than the measured Firecrawl JSON paths, but the exact tested title was directly source-resolvable","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32953960787","artifact_digest":"sha256:4fe2ad7e74305996d2fae8210bbefce3ba8a2096c0145b250e9006e078aa7a41","caveat":"First-party synthetic smoke benchmark, n=3. It demonstrates that bounded reuse can skip a Firecrawl JSON extraction path. The tested fact was the exact HTML document title, which was directly source-resolvable, so this is provider-path mechanics evidence rather than a workload-fit recommendation.","matrix":{"series_key":"firecrawl-json-structured-extraction-v1","surface":"Structured JSON extraction","configuration":"Fixed URL · JSON structured extraction","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"better","baseline_median_ms":1265.68,"baseline_context":"Firecrawl JSON path; exact title was source-resolvable","provider_calls_avoided":3,"provider_units_avoided":15,"provider_unit_label":"credits"}},{"id":"firecrawl-browser-interaction-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T11:50:57.487Z","provider":"Firecrawl","workload":"fixed-URL browser interaction using scrape + interact(code) + stop","samples":3,"freshness_window_seconds":3600,"baseline_provider_calls":3,"baseline_median_ms":4385.018,"reuse_provider_calls":0,"reuse_median_ms":661.372,"provider_calls_avoided":3,"provider_credits_avoided":9,"latency_improvement_percent":84.9,"provider_credit_model":"Each measured direct validation used 1 scrape credit plus 2 Firecrawl-reported interact credits in this run.","economic_result":"lower Firecrawl credit consumption versus the measured browser-interaction path; not a best-path cost win for this synthetic fact","latency_result":"faster than the measured Firecrawl browser path, but the tested navigation fact was source-resolvable without browser automation","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32965390611","artifact_digest":"sha256:51ebee97e40dee759a49d3171e03fc7c5f7cf344411fbd7dede6c941640d3df3","caveat":"First-party synthetic smoke benchmark, n=3. It demonstrates that bounded reuse can skip an expensive browser provider path. The tested navigation target could be resolved from the source link plus normal redirect handling, so this is provider-path mechanics evidence rather than a workload-fit recommendation.","matrix":{"series_key":"firecrawl-browser-interaction-code-v1","surface":"Browser interaction","configuration":"Fixed URL · scrape + interact(code) + stop","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"better","baseline_median_ms":4385.018,"baseline_context":"Firecrawl browser path; navigation target was source-resolvable","provider_calls_avoided":3,"provider_units_avoided":9,"provider_unit_label":"credits"}}],"controlled_proof_atlas":"https://seenrelay.com/proof.json","caveat":"Measured benchmark results are first-party smoke evidence, not a promised reuse rate. Actual savings depend on caller policy, repeat probability, provider plan structure and client/network overhead."},"external_verification":false,"source_validation_hints":{"assurance":"observer_supplied_unverified","conditional_request_headers":["If-None-Match","If-Modified-Since"],"semantics":"Optimization hints only; the caller decides whether source confirmation is still required."},"endpoints":{"check":"https://seenrelay.com/v1/check","observe":"https://seenrelay.com/v1/observe","mcp":"https://seenrelay.com/mcp","openapi":"https://seenrelay.com/openapi.json","economics":"https://seenrelay.com/economics","proof":"https://seenrelay.com/proof","proof_atlas":"https://seenrelay.com/proof.json","use_cases":"https://seenrelay.com/use-cases","use_case_atlas":"https://seenrelay.com/use-cases.json","quickstart":"https://seenrelay.com/quickstart","clients":"https://seenrelay.com/clients","starter_facts":"https://seenrelay.com/starter-facts.json","llms":"https://seenrelay.com/llms.txt","sitemap":"https://seenrelay.com/sitemap.xml","health":"https://seenrelay.com/healthz","public_stats":"https://seenrelay.com/public-stats.json","external_adoption":"https://seenrelay.com/external-adoption.json","privacy":"https://seenrelay.com/privacy","data_practices":"https://seenrelay.com/data-practices.json","service_descriptor":"https://seenrelay.com/service.json","product_facts":"https://seenrelay.com/product-facts.json","agent_skills_index":"https://seenrelay.com/.well-known/agent-skills/index.json","agent_skill":"https://seenrelay.com/.well-known/agent-skills/seenrelay/SKILL.md","agent_adoption":"https://seenrelay.com/agent-adoption.json","agents_page":"https://seenrelay.com/agents","trust":"https://seenrelay.com/trust.json","updates":"https://seenrelay.com/updates.json","updates_atom":"https://seenrelay.com/updates.atom","commercial":"https://seenrelay.com/commercial.json"},"public_product_facts":{"schema_version":2,"updated_at":"2026-10-02T10:19:04Z","positioning":{"category":"execution reuse and validation cost avoidance for distributed software and AI agents","headline":"Avoid redundant expensive execution","subheadline":"Client 0.2.25 is published on npm and PyPI. JavaScript / TypeScript adds `seenrelay guide`, a local-only combined prescreen + adoption-plan entry point for agents/operators; it does not upload source, modify the project, contact SeenRelay, enable reuse or return a USE verdict. Python remains behaviorally unchanged in 0.2.25.","current_pricing":"free","account_required":false,"api_key_required":false},"install":{"npm_package":"seenrelay","npm_command":"npm install seenrelay","pypi_package":"seenrelay","pypi_command":"pip install seenrelay","client_version":"0.2.25","runtime_dependencies":0,"registry_install_verified_at":"2026-10-02T10:19:04Z","verification":"Client 0.2.25 was published to npm and PyPI through trusted publishing. The public promotion gate clean-installs the exact version from both registries; npm verification imports every declared export, exercises the packaged local-only scan and guide CLI paths, verifies native-first and non-mutating adoption semantics, validates package entry targets, and repacks the installed package. Python remains behaviorally unchanged.","scan_command":"npx seenrelay scan","scan_mode":"local_static_prescreen","scan_uploads_source":false,"scan_modifies_project":false,"scan_can_authorize_reuse":false,"guide_command":"npx seenrelay guide","guide_mode":"local_prescreen_plus_adoption_plan","guide_uploads_source":false,"guide_modifies_project":false,"guide_contacts_seenrelay":false,"guide_can_authorize_reuse":false},"fit":{"use_when":["a repeated read-only execution or validation has deterministic identity and meaningful cost, latency or constrained capacity","local/private reuse or a source-native or protocol-native validator can avoid work even before shared evidence exists","the same exact source-backed state or execution repeats across runs, workers, agents, services, CI jobs or edge gateways","validation consumes paid search, metered scraping, browser/extraction, rate-limited API capacity, model work, CI compute or a multi-step validation chain"],"do_not_use_when":["the operation is mutating, destructive, safety-critical or otherwise unsafe to suppress","the operation is a cheap one-off execution with little repeat probability","an equivalent authoritative cache, device shadow, subscription, build cache or source-native control already solves the same problem","policy requires a brand-new authoritative or physical-world observation on every call and no conditional shortcut is useful"]},"verified_benchmarks":[{"id":"firecrawl-basic-scrape-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T09:35:23.876Z","provider":"Firecrawl","workload":"fixed-URL basic scrape with provider caching enabled","samples":5,"freshness_window_seconds":3600,"baseline_provider_calls":5,"baseline_median_ms":91.03,"reuse_provider_calls":0,"reuse_median_ms":648.98,"provider_credits_avoided":5,"provider_credit_model":"1 credit per successful basic scrape; cached results still consume 1 credit","economic_result":"lower provider-credit consumption versus the measured Firecrawl provider path; not a best-path cost win for this synthetic fact","latency_result":"slower than the provider cache and slower than the direct-source control measured in the benchmark","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32953753129","artifact_digest":"sha256:1177ca13a1974064942487671352f42a45a74c36745a24680ba62e5d39b3b5f4","caveat":"First-party synthetic smoke benchmark with a small sample. It demonstrates provider-path skip mechanics, not workload fit: the tested document-title fact was directly source-resolvable, so the source-native control belongs ahead of shared CHECK.","matrix":{"series_key":"firecrawl-basic-scrape-provider-cache-v1","surface":"Basic cached scrape","configuration":"Fixed URL · provider cache enabled","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"worse","baseline_median_ms":91.03,"baseline_context":"Firecrawl provider-cache path; direct-source equivalent available","provider_calls_avoided":5,"provider_units_avoided":5,"provider_unit_label":"credits"}},{"id":"firecrawl-json-extraction-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T09:37:31.948Z","provider":"Firecrawl","workload":"fixed-URL JSON structured extraction","samples":3,"freshness_window_seconds":300,"credits_per_full_validation":5,"fresh_baseline_provider_calls":3,"fresh_baseline_median_ms":1265.68,"provider_cached_baseline_provider_calls":3,"provider_cached_baseline_median_ms":1039.5,"reuse_provider_calls":0,"reuse_median_ms":617.78,"provider_calls_avoided":3,"provider_credits_avoided":15,"latency_improvement_vs_fresh_percent":51.2,"latency_improvement_vs_provider_cached_percent":40.6,"economic_result":"lower Firecrawl credit consumption versus the measured JSON-extraction path; not a best-path cost win for this synthetic fact","latency_result":"faster than the measured Firecrawl JSON paths, but the exact tested title was directly source-resolvable","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32953960787","artifact_digest":"sha256:4fe2ad7e74305996d2fae8210bbefce3ba8a2096c0145b250e9006e078aa7a41","caveat":"First-party synthetic smoke benchmark, n=3. It demonstrates that bounded reuse can skip a Firecrawl JSON extraction path. The tested fact was the exact HTML document title, which was directly source-resolvable, so this is provider-path mechanics evidence rather than a workload-fit recommendation.","matrix":{"series_key":"firecrawl-json-structured-extraction-v1","surface":"Structured JSON extraction","configuration":"Fixed URL · JSON structured extraction","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"better","baseline_median_ms":1265.68,"baseline_context":"Firecrawl JSON path; exact title was source-resolvable","provider_calls_avoided":3,"provider_units_avoided":15,"provider_unit_label":"credits"}},{"id":"firecrawl-browser-interaction-2026-08-26","status":"first_party_smoke","verified_at":"2026-08-26T11:50:57.487Z","provider":"Firecrawl","workload":"fixed-URL browser interaction using scrape + interact(code) + stop","samples":3,"freshness_window_seconds":3600,"baseline_provider_calls":3,"baseline_median_ms":4385.018,"reuse_provider_calls":0,"reuse_median_ms":661.372,"provider_calls_avoided":3,"provider_credits_avoided":9,"latency_improvement_percent":84.9,"provider_credit_model":"Each measured direct validation used 1 scrape credit plus 2 Firecrawl-reported interact credits in this run.","economic_result":"lower Firecrawl credit consumption versus the measured browser-interaction path; not a best-path cost win for this synthetic fact","latency_result":"faster than the measured Firecrawl browser path, but the tested navigation fact was source-resolvable without browser automation","evidence_url":"https://github.com/ovladon/seenrelay/actions/runs/32965390611","artifact_digest":"sha256:51ebee97e40dee759a49d3171e03fc7c5f7cf344411fbd7dede6c941640d3df3","caveat":"First-party synthetic smoke benchmark, n=3. It demonstrates that bounded reuse can skip an expensive browser provider path. The tested navigation target could be resolved from the source link plus normal redirect handling, so this is provider-path mechanics evidence rather than a workload-fit recommendation.","matrix":{"series_key":"firecrawl-browser-interaction-code-v1","surface":"Browser interaction","configuration":"Fixed URL · scrape + interact(code) + stop","evidence_level":"first-party smoke","fit":"poor","cost_outcome":"better","latency_outcome":"better","baseline_median_ms":4385.018,"baseline_context":"Firecrawl browser path; navigation target was source-resolvable","provider_calls_avoided":3,"provider_units_avoided":9,"provider_unit_label":"credits"}}],"pricing_snapshots":{"checked_at":"2026-09-25","max_age_days":30,"openai_web_search":{"price_usd_per_1000_calls":10,"source":"https://platform.openai.com/pricing","note":"Search-content token effects are separate."},"firecrawl":{"basic_scrape_credits_per_page":1,"json_extraction_total_credits_per_page":5,"standard_plan_usd_per_month_billed_yearly":83,"standard_plan_credits_per_month":100000,"source":"https://www.firecrawl.dev/pricing","cost_detail_source":"https://www.firecrawl.dev/blog/mastering-firecrawl-scrape-endpoint","note":"Use credits avoided as the direct benchmark metric. Fixed-plan invoice savings occur only when lower usage changes tier, overage or required capacity."},"browserbase_extract":{"marginal_price_usd_per_1000_calls_without_proxies_after_allowance":4,"source":"https://www.browserbase.com/pricing"}},"latest_verified_updates":[{"date":"2026-10-02","title":"Public client 0.2.25","summary":"SeenRelay 0.2.25 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds `seenrelay guide`, which combines the local static prescreen and non-mutating adoption plan into one machine-readable next-action surface for agents/operators. It uploads no source, contacts no SeenRelay service, modifies no project, enables no reuse and cannot return a USE verdict. Python remains behaviorally unchanged."},{"date":"2026-09-30","title":"Public client 0.2.24","summary":"SeenRelay 0.2.24 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript static prescreen recognizes MCP 2026-07-28 cacheable-result ttlMs/cacheScope freshness only alongside compatible cacheable MCP operations; generic callTool code with the same words remains a shadow-measurement candidate. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.23","summary":"SeenRelay 0.2.23 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds a local Langfuse TOOL-observation candidate census that hashes exact tool inputs locally, measures exact recurrence and in-flight overlap, and reports Langfuse-recorded TOOL cost when present. The output remains NEEDS_POLICY_REVIEW and cannot authorize reuse or claim actual avoided executions/net savings. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.22","summary":"SeenRelay 0.2.22 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript packages the local OpenTelemetry/OTLP trace census for agent-agnostic overlap discovery below individual agent frameworks; admission requires an opaque exact coordinate and explicit SeenRelay policy, and the adapter does not copy generic raw prompts, URLs or tool payloads into the census. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.20","summary":"SeenRelay 0.2.20 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds a generic `wrapFleetShadowCall()` helper and fail-open coordinate canonicalization for fleet shadow measurement and active coordination: non-JSON or cyclic coordinates never suppress the authoritative call and remain unclassified instead. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.19","summary":"SeenRelay 0.2.19 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds distributed shadow measurement for exact eligible in-flight overlap across workers while every authoritative operation still runs; no result is shared, and observed overlap cost is kept distinct from actual avoided-execution receipts. Python remains behaviorally unchanged."},{"date":"2026-09-28","title":"Public client 0.2.18","summary":"SeenRelay 0.2.18 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds conservative local savings receipts and an aggregation ledger to fleet-level exact in-flight coordination: only actual follower reuse counts as avoided execution, dollar values require explicit cost provenance, and receipt failures cannot change the application result. Python remains behaviorally unchanged."},{"date":"2026-09-24","title":"Public client 0.2.16","summary":"SeenRelay 0.2.16 is published through trusted publishing on npm and PyPI. The local static prescreen now treats Firecrawl provider cache/freshness semantics as a stronger native control that must be measured before shared SeenRelay. No CHECK/OBSERVE protocol, billing, reuse-policy or hosted-runtime semantics changed."},{"date":"2026-09-23","title":"Public client 0.2.15","summary":"SeenRelay 0.2.15 is published through trusted publishing on npm and PyPI. The npm package adds `seenrelay scan`, a local-only static prescreen for recurring metered/read-only validation candidates and stronger native/local controls. Static analysis is deliberately pre-evidentiary: it cannot emit USE, authorize reuse, upload source code or modify the scanned project. JavaScript/TypeScript and Python runtime semantics are otherwise unchanged."},{"date":"2026-09-11","title":"Public client 0.2.14","summary":"SeenRelay 0.2.14 is published through trusted publishing on npm and PyPI. JavaScript/TypeScript and Python expose matching deterministic single-workload audit verdict helpers: USE only for complete natural evidence that safely beats the best measured non-shared path on both cost and latency; DO NOT USE for unsafe comparisons or complete non-winning evidence; otherwise INSUFFICIENT EVIDENCE. The evaluator never enables reuse."},{"date":"2026-09-08","title":"Public client 0.2.13","summary":"SeenRelay 0.2.13 is published through trusted publishing and independently verified from npm and PyPI. The public npm package has a valid declared export map, includes its package-local prepack validator, imports every declared export from a clean install, and successfully repacks from the installed registry artifact; runtime semantics are otherwise unchanged."},{"date":"2026-09-06","title":"Public client 0.2.11","summary":"SeenRelay 0.2.11 is published and independently clean-install verified on npm and PyPI. Python adds bounded sanitized natural-workload evidence parity and hostile economics evaluation; authoritative validation always runs during measurement, ambiguous per-call timing attribution fails closed, and the evaluator never enables reuse."},{"date":"2026-09-06","title":"Public client 0.2.10","summary":"SeenRelay 0.2.10 is published and independently clean-install verified on npm and PyPI. Python adds provider-independent Zero-State with caller-owned private L1, source-native conditional validation and authoritative fallback; the base package remains dependency-free and AES-256-GCM support is optional. JavaScript/TypeScript and Python both fail closed on negative-age private entries caused by worker clock skew."},{"date":"2026-09-01","title":"Public client 0.2.9","summary":"SeenRelay 0.2.9 is published and independently clean-install verified on npm and PyPI. JavaScript/TypeScript and Python add multi-signal shared-evidence assurance helpers and deterministic Fact Coordinate Kit v1. Shared evidence remains explicit caller policy and does not establish truth or independent real-world actors."},{"date":"2026-08-31","title":"Public client 0.2.7","summary":"SeenRelay 0.2.7 is published and independently clean-install verified on npm and PyPI. JavaScript/TypeScript adds Ambient framework routing for LangChain plus a local integration catalog; Python adds Ambient integrations for LangChain and PydanticAI plus a local integration catalog. Ambient measurement remains local-only by default and automatic reuse is not authorized."},{"date":"2026-08-31","title":"Public client 0.2.6","summary":"SeenRelay 0.2.6 is published and clean-install verified on npm and PyPI. JavaScript/TypeScript adds Ambient MCP integration that starts local-shadow by default and can opt exact reviewed tools into the existing local-first guard; Python adds local-only Ambient MCP measurement and an OpenAI Agents adapter while active Ambient reuse remains disabled."},{"date":"2026-08-30","title":"Benchmark fit tightened","summary":"Historical example.com Firecrawl smoke measurements remain unchanged as provider-path mechanics evidence. Their workload fit is now poor because the tested facts were directly source-resolvable; better local, source-native or provider-native controls remain ahead of shared CHECK."},{"date":"2026-08-30","title":"Public client 0.2.5","summary":"SeenRelay 0.2.5 is published on npm and PyPI. JavaScript/TypeScript adds a measurement-only direct Firecrawl SDK shadow adapter supporting current scrape() and legacy scrapeUrl(); the provider call remains authoritative, original arguments and raw result are preserved, provider-cache hits are not relabeled as independent observations, and automatic reuse remains disabled. Python remains shadow-first."},{"date":"2026-08-30","title":"Public client 0.2.4","summary":"SeenRelay 0.2.4 is published on npm and PyPI. JavaScript/TypeScript adds a measurement-only Firecrawl shadow pilot and a packaged hostile benchmark evaluator; Firecrawl remains authoritative during measurement, provider-cache hits are not relabeled as independent observations, and the evaluator never enables reuse. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.3","summary":"SeenRelay 0.2.3 is published on npm and PyPI. JavaScript/TypeScript Shadow Proof can export bounded, sanitized natural-workload records directly into the hostile benchmark format while authoritative validation continues; unavailable CHECKs remain in the sample and unsafe or uncomparable hypothetical reuse cannot be reported as safe. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.2","summary":"SeenRelay 0.2.2 is published on npm and PyPI. JavaScript/TypeScript Shadow Proof adds local agreement counters for hypothetical SAME_OBSERVED reuse while authoritative validation still runs; compared raw values are not retained in snapshots or reports. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.1","summary":"SeenRelay 0.2.1 is published on npm and PyPI. It is behavior-equivalent to 0.2.0 and refreshes package discovery metadata and documentation; JavaScript/TypeScript remains provider-independent and local-first, while Python remains shadow-first."},{"date":"2026-08-28","title":"Public client 0.2.0","summary":"SeenRelay 0.2.0 is published on npm and PyPI. JavaScript/TypeScript adds provider-independent Zero-State local-first optimization; Python remains shadow-first in this release."},{"date":"2026-08-28","title":"Local-first JavaScript/TypeScript path","summary":"Eligible read-only validation can use in-flight L0 reuse, explicit-TTL local reuse, optional encrypted caller-owned L1 storage and source-native conditional validation before any shared CHECK is considered."},{"date":"2026-08-28","title":"Shared evidence remains optional","summary":"Zero-State does not put a shared CHECK on the hot path by default. Fresh independent validation can contribute OBSERVE evidence; intermediary provider-cache hits are not re-labeled as a new independent observation."},{"date":"2026-08-26","title":"Measured Firecrawl structured-extraction savings","summary":"In a first-party n=3 smoke benchmark, bounded reuse avoided 3/3 Firecrawl JSON extraction calls, 15 provider credits, and reduced median latency from 1.266 s fresh / 1.040 s provider-cached to 0.618 s."},{"date":"2026-08-26","title":"Measured browser-interaction savings","summary":"In a first-party n=3 Firecrawl browser-interaction smoke benchmark, bounded reuse avoided 3/3 equivalent provider calls, 9 reported provider credits, and reduced median validation latency from 4.385 s to 0.661 s."}],"terminology":{"savings_report_human_label":"Savings Report","savings_report_machine_label":"Verified Savings Record","meaning":"measurement evidence for avoided work and cost provenance","current_access":"free","billing_enabled":false,"is_invoice":false,"is_bill":false,"is_charge":false,"is_payment_receipt":false,"payment_receipt_reserved_for_actual_payment":true,"legacy_api_note":"Some SDK/API identifiers retain receipt wording for backward compatibility; they record savings evidence, not payment."},"service_release":"0.3.10","canonical_origin":"https://seenrelay.com","urls":{"website":"https://seenrelay.com/","economics":"https://seenrelay.com/economics","quickstart":"https://seenrelay.com/quickstart","clients":"https://seenrelay.com/clients","llms":"https://seenrelay.com/llms.txt","product_facts":"https://seenrelay.com/product-facts.json"}},"latest_verified_updates":[{"date":"2026-10-02","title":"Public client 0.2.25","summary":"SeenRelay 0.2.25 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds `seenrelay guide`, which combines the local static prescreen and non-mutating adoption plan into one machine-readable next-action surface for agents/operators. It uploads no source, contacts no SeenRelay service, modifies no project, enables no reuse and cannot return a USE verdict. Python remains behaviorally unchanged."},{"date":"2026-09-30","title":"Public client 0.2.24","summary":"SeenRelay 0.2.24 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript static prescreen recognizes MCP 2026-07-28 cacheable-result ttlMs/cacheScope freshness only alongside compatible cacheable MCP operations; generic callTool code with the same words remains a shadow-measurement candidate. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.23","summary":"SeenRelay 0.2.23 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds a local Langfuse TOOL-observation candidate census that hashes exact tool inputs locally, measures exact recurrence and in-flight overlap, and reports Langfuse-recorded TOOL cost when present. The output remains NEEDS_POLICY_REVIEW and cannot authorize reuse or claim actual avoided executions/net savings. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.22","summary":"SeenRelay 0.2.22 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript packages the local OpenTelemetry/OTLP trace census for agent-agnostic overlap discovery below individual agent frameworks; admission requires an opaque exact coordinate and explicit SeenRelay policy, and the adapter does not copy generic raw prompts, URLs or tool payloads into the census. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.20","summary":"SeenRelay 0.2.20 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds a generic `wrapFleetShadowCall()` helper and fail-open coordinate canonicalization for fleet shadow measurement and active coordination: non-JSON or cyclic coordinates never suppress the authoritative call and remain unclassified instead. Python remains behaviorally unchanged."},{"date":"2026-09-29","title":"Public client 0.2.19","summary":"SeenRelay 0.2.19 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds distributed shadow measurement for exact eligible in-flight overlap across workers while every authoritative operation still runs; no result is shared, and observed overlap cost is kept distinct from actual avoided-execution receipts. Python remains behaviorally unchanged."},{"date":"2026-09-28","title":"Public client 0.2.18","summary":"SeenRelay 0.2.18 is published through trusted publishing on npm and PyPI. JavaScript / TypeScript adds conservative local savings receipts and an aggregation ledger to fleet-level exact in-flight coordination: only actual follower reuse counts as avoided execution, dollar values require explicit cost provenance, and receipt failures cannot change the application result. Python remains behaviorally unchanged."},{"date":"2026-09-24","title":"Public client 0.2.16","summary":"SeenRelay 0.2.16 is published through trusted publishing on npm and PyPI. The local static prescreen now treats Firecrawl provider cache/freshness semantics as a stronger native control that must be measured before shared SeenRelay. No CHECK/OBSERVE protocol, billing, reuse-policy or hosted-runtime semantics changed."},{"date":"2026-09-23","title":"Public client 0.2.15","summary":"SeenRelay 0.2.15 is published through trusted publishing on npm and PyPI. The npm package adds `seenrelay scan`, a local-only static prescreen for recurring metered/read-only validation candidates and stronger native/local controls. Static analysis is deliberately pre-evidentiary: it cannot emit USE, authorize reuse, upload source code or modify the scanned project. JavaScript/TypeScript and Python runtime semantics are otherwise unchanged."},{"date":"2026-09-11","title":"Public client 0.2.14","summary":"SeenRelay 0.2.14 is published through trusted publishing on npm and PyPI. JavaScript/TypeScript and Python expose matching deterministic single-workload audit verdict helpers: USE only for complete natural evidence that safely beats the best measured non-shared path on both cost and latency; DO NOT USE for unsafe comparisons or complete non-winning evidence; otherwise INSUFFICIENT EVIDENCE. The evaluator never enables reuse."},{"date":"2026-09-08","title":"Public client 0.2.13","summary":"SeenRelay 0.2.13 is published through trusted publishing and independently verified from npm and PyPI. The public npm package has a valid declared export map, includes its package-local prepack validator, imports every declared export from a clean install, and successfully repacks from the installed registry artifact; runtime semantics are otherwise unchanged."},{"date":"2026-09-06","title":"Public client 0.2.11","summary":"SeenRelay 0.2.11 is published and independently clean-install verified on npm and PyPI. Python adds bounded sanitized natural-workload evidence parity and hostile economics evaluation; authoritative validation always runs during measurement, ambiguous per-call timing attribution fails closed, and the evaluator never enables reuse."},{"date":"2026-09-06","title":"Public client 0.2.10","summary":"SeenRelay 0.2.10 is published and independently clean-install verified on npm and PyPI. Python adds provider-independent Zero-State with caller-owned private L1, source-native conditional validation and authoritative fallback; the base package remains dependency-free and AES-256-GCM support is optional. JavaScript/TypeScript and Python both fail closed on negative-age private entries caused by worker clock skew."},{"date":"2026-09-01","title":"Public client 0.2.9","summary":"SeenRelay 0.2.9 is published and independently clean-install verified on npm and PyPI. JavaScript/TypeScript and Python add multi-signal shared-evidence assurance helpers and deterministic Fact Coordinate Kit v1. Shared evidence remains explicit caller policy and does not establish truth or independent real-world actors."},{"date":"2026-08-31","title":"Public client 0.2.7","summary":"SeenRelay 0.2.7 is published and independently clean-install verified on npm and PyPI. JavaScript/TypeScript adds Ambient framework routing for LangChain plus a local integration catalog; Python adds Ambient integrations for LangChain and PydanticAI plus a local integration catalog. Ambient measurement remains local-only by default and automatic reuse is not authorized."},{"date":"2026-08-31","title":"Public client 0.2.6","summary":"SeenRelay 0.2.6 is published and clean-install verified on npm and PyPI. JavaScript/TypeScript adds Ambient MCP integration that starts local-shadow by default and can opt exact reviewed tools into the existing local-first guard; Python adds local-only Ambient MCP measurement and an OpenAI Agents adapter while active Ambient reuse remains disabled."},{"date":"2026-08-30","title":"Benchmark fit tightened","summary":"Historical example.com Firecrawl smoke measurements remain unchanged as provider-path mechanics evidence. Their workload fit is now poor because the tested facts were directly source-resolvable; better local, source-native or provider-native controls remain ahead of shared CHECK."},{"date":"2026-08-30","title":"Public client 0.2.5","summary":"SeenRelay 0.2.5 is published on npm and PyPI. JavaScript/TypeScript adds a measurement-only direct Firecrawl SDK shadow adapter supporting current scrape() and legacy scrapeUrl(); the provider call remains authoritative, original arguments and raw result are preserved, provider-cache hits are not relabeled as independent observations, and automatic reuse remains disabled. Python remains shadow-first."},{"date":"2026-08-30","title":"Public client 0.2.4","summary":"SeenRelay 0.2.4 is published on npm and PyPI. JavaScript/TypeScript adds a measurement-only Firecrawl shadow pilot and a packaged hostile benchmark evaluator; Firecrawl remains authoritative during measurement, provider-cache hits are not relabeled as independent observations, and the evaluator never enables reuse. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.3","summary":"SeenRelay 0.2.3 is published on npm and PyPI. JavaScript/TypeScript Shadow Proof can export bounded, sanitized natural-workload records directly into the hostile benchmark format while authoritative validation continues; unavailable CHECKs remain in the sample and unsafe or uncomparable hypothetical reuse cannot be reported as safe. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.2","summary":"SeenRelay 0.2.2 is published on npm and PyPI. JavaScript/TypeScript Shadow Proof adds local agreement counters for hypothetical SAME_OBSERVED reuse while authoritative validation still runs; compared raw values are not retained in snapshots or reports. Python remains shadow-first."},{"date":"2026-08-29","title":"Public client 0.2.1","summary":"SeenRelay 0.2.1 is published on npm and PyPI. It is behavior-equivalent to 0.2.0 and refreshes package discovery metadata and documentation; JavaScript/TypeScript remains provider-independent and local-first, while Python remains shadow-first."},{"date":"2026-08-28","title":"Public client 0.2.0","summary":"SeenRelay 0.2.0 is published on npm and PyPI. JavaScript/TypeScript adds provider-independent Zero-State local-first optimization; Python remains shadow-first in this release."},{"date":"2026-08-28","title":"Local-first JavaScript/TypeScript path","summary":"Eligible read-only validation can use in-flight L0 reuse, explicit-TTL local reuse, optional encrypted caller-owned L1 storage and source-native conditional validation before any shared CHECK is considered."},{"date":"2026-08-28","title":"Shared evidence remains optional","summary":"Zero-State does not put a shared CHECK on the hot path by default. Fresh independent validation can contribute OBSERVE evidence; intermediary provider-cache hits are not re-labeled as a new independent observation."},{"date":"2026-08-26","title":"Measured Firecrawl structured-extraction savings","summary":"In a first-party n=3 smoke benchmark, bounded reuse avoided 3/3 Firecrawl JSON extraction calls, 15 provider credits, and reduced median latency from 1.266 s fresh / 1.040 s provider-cached to 0.618 s."},{"date":"2026-08-26","title":"Measured browser-interaction savings","summary":"In a first-party n=3 Firecrawl browser-interaction smoke benchmark, bounded reuse avoided 3/3 equivalent provider calls, 9 reported provider credits, and reduced median validation latency from 4.385 s to 0.661 s."}]}