{"schema":"fact/v1","fields":{"id":"stable id for this fact (hash of tool + args + timestamp)","category":"vertical the fact belongs to","entity":"what the fact is about (city, domain, package, country, ...)","fact":"the tool / measurement name","value":"the reading (scalar, or a structured object for compound facts)","unit":"unit if there is an unambiguous one, else null","timestamp":"when the underlying value was measured (UTC)","expires":"when it should be re-fetched, if known","country":"ISO country if scoped to one","provenance":{"source":"...","source_url":"...","licence":"..."},"verification":{"confidence":"0..1 composite of the exposed signals (transparent, not decorative)","sources":"number of independent sources behind the reading","verified":"true ONLY when corroborated by 2+ sources AND fresh AND signed AND no source conflict","basis":"how the datapoint was obtained: live-source | forecast | computed","signals":{"signed":"Ed25519-signed (integrity)","source_present":"has a named source","fresh":"within its freshness window","corroborated":"2+ sources agree","conflict":"the feed's independent sources DISAGREE on this reading (surfaced, not hidden)"},"note":"plain-language caveat"},"reliability":{"$schema":"https://dynamicfeed.ai/schemas/okf-reliability-v1.json","_about":"the SAME signals as `verification`, emitted as the OKF reliability object so this live output validates against the published schema (the reliability axis proposed in GoogleCloudPlatform/knowledge-catalog#151). `verification` is the detailed view; `reliability` is the interoperable, schema-conformant one.","confidence":"ordinal band HIGH | MEDIUM | LOW | UNVERIFIED (the interoperable surface)","basis":"live-source | forecast | computed","score":"the 0..1 composite, recomputable from `signals`","sources":"independent sources behind the reading","verified":"true ONLY when corroborated by 2+ sources AND fresh AND signed AND no conflict","vantage":"observational vantage, a third axis distinct from integrity and reliability (refined in in-toto/attestation#554): independent (recorded independently of the producer) | producer-reported (the producer attesting its own observation). corroboration is not independence; signed != verified != observed-independently.","freshness":{"state":"fresh | stale | unavailable","as_of":"when measured"},"signals":{"signed":"Ed25519 integrity","corroborated":"2+ sources agree","fresh":"within window"},"assessed_at":"when this grade was recomputed (live producers recompute per read; no stored lifecycle)","conflict":"present only when sources disagree: {disputed, positions[both sides], resolution}"}},"usage":"GET /v1/facts?tool=current_weather&city=Sydney  |  POST {\"calls\":[{\"tool\":...,\"args\":{...}}]}","discover_tools":"POST {} to /v1/batch (available_tools), or GET /tools.json","principle":"signed proves integrity; verified means corroborated by 2+ sources and fresh","envelope":{"served_by":"origin + discovery beacon (provider, verify, facts, mcp, docs) stamped into every signed response so a downstream machine can self-onboard","signature":"Ed25519 over the canonical envelope; verify against /.well-known/keys"},"served_by":{"provider":"Dynamic Feed","url":"https://dynamicfeed.ai","verify":"https://dynamicfeed.ai/.well-known/keys","facts":"https://dynamicfeed.ai/v1/facts","mcp":"https://dynamicfeed.ai/mcp","docs":"https://dynamicfeed.ai/llms.txt"},"signature":{"alg":"Ed25519","key_id":"df-ed25519-4cb32e72f333","canonicalization":"json-sorted-compact","sig":"mQF0wLEc0Z-x-jD2C1pQ5D08Yf4cutrWyL0sRguOwVPXUhNLATLMR6vEZJyfN1aOKW66vf3zCoO5A9RM3-wwDg=="}}