@prefix eidos: <https://eidos.software/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix schema: <https://schema.org/> .
@prefix vann: <http://purl.org/vocab/vann/> .

<https://eidos.software/ontology> a owl:Ontology ;
  owl:versionInfo "19.5.0" ;
  owl:versionIRI <https://eidos.software/ontology/19.5.0> ;
  owl:priorVersion <https://eidos.software/ontology/19.4.0> ;
  rdfs:label "Eidos ontology" ;
  dcterms:title "Eidos ontology" ;
  dcterms:publisher "Eidos" ;
  dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
  vann:preferredNamespacePrefix "eidos" ;
  vann:preferredNamespaceUri "https://eidos.software/ontology#" ;
  dcterms:hasPart <https://eidos.software/ontology/governance> ;
  dcterms:hasPart <https://eidos.software/ontology/observation> ;
  dcterms:hasPart <https://eidos.software/ontology/evidence> ;
  dcterms:hasPart <https://eidos.software/ontology/forecast> ;
  dcterms:hasPart <https://eidos.software/ontology/record> ;
  rdfs:seeAlso <https://eidos.software/ontology/shapes> ;
  rdfs:comment "Generated from the registries in src/ by npm run ontology. Edit the source, not this file. One model in five modules — governance, observation, evidence, forecast, record — each also served as its own ontology at its IRI; this document is their union. Findings stay in their review: the forbidden concepts are named and made unsatisfiable rather than left as policy." ;
  rdfs:comment "Version IRIs identify a release; only the current one is served as Turtle, at /ontology/eidos.ttl. Releases that were not backward compatible with the one before them: 1.2.0, 2.0.0, 2.2.0, 3.0.0, 4.0.0, 5.0.0, 6.0.0, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0, 16.0.0, 17.0.0, 18.0.0, 19.0.0. A consumer pinned to a version earlier than the newest of these must re-read the vocabulary; one pinned later can read this document unchanged." .

# ════ governance module (https://eidos.software/ontology/governance) ══════════════════════════════

# ── governance: classes ───────────────────────────────────────────────

eidos:Organization a owl:Class ;
  rdfs:label "Organization" ;
  rdfs:subClassOf schema:Organization ;
  rdfs:seeAlso <https://spec.edmcouncil.org/fibo/ontology/FND/Organizations/Organizations/Organization> ;
  rdfs:comment "A tracked organization: the slug the app ranks under, its token, its kind and status. Hand-authored in the organization registry, sealed with every warehouse run as the organization dimension. MetaDAO's cohort, and the organizations a decision on another engine names through a decider claim (src/organization-deciders.ts)." .

eidos:DaoAccount a owl:Class ;
  rdfs:label "DAO account" ;
  rdfs:subClassOf eidos:Authority ;
  rdfs:comment "A futarchy DAO account on the program: the public key its proposals name, decoded from the program's own accounts, never from a page. An authority: the account under which the organization's proposals run and whose treasury their execution moves." .

eidos:Decision a owl:Class ;
  rdfs:label "Decision" ;
  rdfs:comment "One decision a market made or is making, on any engine, by engine, chain and decision id: the record's subject. Its form is what it was for, what was known, what was done and what followed — Purpose, InformationState, Execution and MeasuredOutcome — with the options it chose among and the measure it was judged on. A market's result selects an option; outcome is reserved for what followed." .

[] a owl:AllDisjointClasses ;
  owl:members ( eidos:Decision eidos:Purpose eidos:InformationState eidos:Execution eidos:MeasuredOutcome eidos:Impact eidos:CapitalMovement eidos:Party eidos:Authority ) .

eidos:Purpose a owl:Class ;
  rdfs:label "Purpose" ;
  rdfs:comment "What a decision was for: the ask as its proposer published it, the options, and the measure the market would judge it on. The proposer's words, cited; never a summary that replaces them." .

eidos:InformationState a owl:Class ;
  rdfs:label "Information state" ;
  rdfs:comment "What was known about a decision at a stated time: the evidence the record held then, with what was withheld and why. Pinned to its time, so a later reading never rewrites an earlier one. Named KnowledgeState until 9.0.0." .

eidos:Execution a owl:Class ;
  rdfs:label "Execution" ;
  rdfs:comment "What was done: whether the selected option was carried out onchain, read against a stated rule with its evidence. Not ExecutionMode, which says whether an engine binds at all." .

eidos:OutcomeRecord a owl:Class ;
  rdfs:label "Outcome record" ;
  rdfs:subClassOf prov:Entity ;
  owl:disjointWith eidos:MeasuredOutcome , eidos:Impact ;
  rdfs:comment "A record of requested outcome measurements, at section, checkpoint or scalar branch scope. Its status and reason describe availability; only recordedOutcome asserts a measurement." .

eidos:ImpactRecord a owl:Class ;
  rdfs:label "Impact record" ;
  rdfs:subClassOf prov:Entity ;
  owl:disjointWith eidos:MeasuredOutcome , eidos:Impact ;
  rdfs:comment "A conditional value comparison at a checkpoint. Retains a sourced market estimate independently of the availability of realized readings. Not an option-selection probability or a DecisionForecast." .

eidos:MeasuredOutcome a owl:Class ;
  rdfs:label "Measured outcome" ;
  rdfs:comment "A sourced reading of the measure a decision was judged on: a close baseline, a later checkpoint or a resolved scalar branch. An available price lane with no checkpoint reading is only an OutcomeRecord. The only sense of outcome in this vocabulary — a market's pass or fail is its result, and what came of one of Eidos's own receipts is a ReceiptOutcome." .

eidos:Impact a owl:Class ;
  rdfs:label "Impact" ;
  rdfs:comment "A market's forecast for the option it selected, beside what the measure did afterwards at one horizon: two numbers, built from a MeasuredOutcome, never a grade and never a verdict on the decision." .

eidos:CapitalMovement a owl:Class ;
  rdfs:label "Capital movement" ;
  rdfs:subClassOf prov:Activity ;
  rdfs:comment "Capital a decision's execution moved, as read from the chain: the asset, the amount, the accounts it left and reached, and the transaction." .

eidos:Party a owl:Class ;
  rdfs:label "Party" ;
  rdfs:subClassOf prov:Agent ;
  rdfs:comment "A party that acted on a decision — proposed it, signed its execution, deployed its market — named by its onchain account. A person or a model is named only where a source states it. Named Agent until 9.0.0, a word this product also uses for the models that read the record; a party is whoever acted." .

eidos:Authority a owl:Class ;
  rdfs:label "Authority" ;
  rdfs:comment "What could carry a decision out: a treasury multisig, an engine's market contract, a funding market's sponsor, a DAO account. The power to act, as distinct from the party that acted." .

eidos:GovernanceProposal a owl:Class ;
  rdfs:label "Governance proposal" ;
  rdfs:subClassOf eidos:Decision ;
  rdfs:comment "One MetaDAO proposal by exact chain, program and account identity: MetaDAO's form of a Decision. MetaDAO's own decision number may span program migrations and is not a chain key." .

eidos:GovernanceProgramDeployment a owl:Class ;
  rdfs:label "Governance program deployment" ;
  rdfs:comment "A published program ID and version, with separate app decoder coverage. A known deployment is not evidence that its proposals have been indexed." .

eidos:DecisionMarketEngine a owl:Class ;
  rdfs:label "Decision market engine" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:engine-metadao eidos:engine-combinator eidos:engine-butter eidos:engine-umia eidos:engine-futarchy-fi ) ] ;
  rdfs:comment "An independent decision market mechanism: the markets and the rule that turns their prices into a decision. The engine decides; the venue its tokens trade on and the chain it settles on are its own classes. Launchpads and apps on an engine's rails are its deployments, never engines of their own. Coverage says whether the record decodes it; an engine the record cannot yet decode is counted from sources and never synthesized into records." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:engine-metadao eidos:engine-combinator eidos:engine-butter eidos:engine-umia eidos:engine-futarchy-fi ) .

eidos:DecisionMarketEngineScheme a skos:ConceptScheme ;
  rdfs:label "Decision market engine scheme" ;
  rdfs:comment "The closed members of DecisionMarketEngine, as a SKOS scheme: each individual states skos:inScheme." .

eidos:EngineDeployment a owl:Class ;
  rdfs:label "Engine deployment" ;
  rdfs:comment "A launchpad or app that runs its decisions on an engine's rails, such as Futardio on MetaDAO or Star on Combinator." .

eidos:PublishedRule a owl:Class ;
  rdfs:label "Published rule" ;
  rdfs:comment "A decision rule a named party published and ran, at a version, with its own execution mode and the rule component it uses: the engine's rule where an engine ran it, a party's own otherwise (Kleros KIP-76). Named FutarchyImplementation, \"a named venue\", until 9.0.0; a venue is where tokens trade, not a rule." .

eidos:Chain a owl:Class ;
  rdfs:label "Chain" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:chain-solana-mainnet-beta eidos:chain-base eidos:chain-ethereum eidos:chain-optimism eidos:chain-unichain eidos:chain-gnosis ) ] ;
  rdfs:comment "A distributed ledger an engine's markets settle on. A decision's identity names its chain; the same address on two chains is two decisions. Where the observation tape stored a chain under an older spelling (Solana as solana), the individual carries it as chainTapeKey; gold conforms the tape's key to the id." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:chain-solana-mainnet-beta eidos:chain-base eidos:chain-ethereum eidos:chain-optimism eidos:chain-unichain eidos:chain-gnosis ) .

eidos:ChainScheme a skos:ConceptScheme ;
  rdfs:label "Chain scheme" ;
  rdfs:comment "The closed members of Chain, as a SKOS scheme: each individual states skos:inScheme." .

eidos:Venue a owl:Class ;
  rdfs:label "Venue" ;
  rdfs:seeAlso <https://spec.edmcouncil.org/fibo/ontology/FBC/FunctionalEntities/Markets/Exchange> ;
  rdfs:comment "Where a market's conditional tokens trade: the pools an engine runs as its own, or a general-purpose exchange another party operates — Uniswap on Unichain for Butter, Swapr on Gnosis for futarchy.fi. Distinct from the engine that decides and the chain that settles, which is why the word is never used for either; the tape keys a market by its kind (marketKind: spot, token-spot, dao-vaults, desk-kpi, metadao-futarchy or an engine's id), which is not one of these." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:venue-metadao-conditional-amm eidos:venue-combinator-amm eidos:venue-umia-market-core eidos:venue-uniswap-v2-unichain eidos:venue-uniswap-v4-unichain eidos:venue-swapr-gnosis ) .

eidos:VenueScheme a skos:ConceptScheme ;
  rdfs:label "Venue scheme" ;
  rdfs:comment "The registered members of Venue, as a SKOS scheme: each individual states skos:inScheme." .

eidos:MechanismFamily a owl:Class ;
  rdfs:label "Mechanism family" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:mechanism-family-binary-token-value eidos:mechanism-family-multi-option-token-value eidos:mechanism-family-outcome-judged-funding eidos:mechanism-family-advisory ) ] ;
  rdfs:comment "The family of decision rule an engine implements. Closed enumeration: a new family is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:mechanism-family-binary-token-value eidos:mechanism-family-multi-option-token-value eidos:mechanism-family-outcome-judged-funding eidos:mechanism-family-advisory ) .

eidos:MechanismFamilyScheme a skos:ConceptScheme ;
  rdfs:label "Mechanism family scheme" ;
  rdfs:comment "The closed members of MechanismFamily, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ExecutionMode a owl:Class ;
  rdfs:label "Execution mode" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:execution-binding eidos:execution-advisory ) ] ;
  rdfs:comment "Whether a market's result decides or selects the action (binding) or informs a vote that remains free to ignore it (advisory)." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:execution-binding eidos:execution-advisory ) .

eidos:ExecutionModeScheme a skos:ConceptScheme ;
  rdfs:label "Execution mode scheme" ;
  rdfs:comment "The closed members of ExecutionMode, as a SKOS scheme: each individual states skos:inScheme." .

eidos:DecisionOption a owl:Class ;
  rdfs:label "Decision option" ;
  rdfs:comment "One action a decision market chose among. Pass and fail are the two options of a pass/fail decision; a multi-option decision carries one per candidate. The decision's form holds every option, not only the one selected. The field's word for these is outcome; here an outcome is what followed." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:option-binary-pass eidos:option-binary-fail ) .

eidos:NoOpOption a owl:Class ;
  rdfs:label "No-op option" ;
  rdfs:subClassOf eidos:DecisionOption ;
  rdfs:comment "The option that leaves things as they are: fail in a pass/fail decision, the explicit no-op in a multi-option one. A decision has at most one." .

eidos:ProposalState a owl:Class ;
  rdfs:label "Proposal state" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:proposal-state-draft eidos:proposal-state-pending eidos:proposal-state-passed eidos:proposal-state-failed eidos:proposal-state-removed eidos:proposal-state-finalized eidos:proposal-state-unknown ) ] ;
  rdfs:comment "The record lifecycle of a MetaDAO proposal: draft, pending, passed, failed, removed as the program states them, finalized once the TWAPs are, unknown where the read failed. One list (src/types.ts), so the index, the app and the ontology spell a state one way." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:proposal-state-draft eidos:proposal-state-pending eidos:proposal-state-passed eidos:proposal-state-failed eidos:proposal-state-removed eidos:proposal-state-finalized eidos:proposal-state-unknown ) .

eidos:ProposalStateScheme a skos:ConceptScheme ;
  rdfs:label "Proposal state scheme" ;
  rdfs:comment "The closed members of ProposalState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ExecutionState a owl:Class ;
  rdfs:label "Execution state" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:execution-state-executed eidos:execution-state-not-executed eidos:execution-state-pending eidos:execution-state-no-op-selected eidos:execution-state-not-applicable eidos:execution-state-not-checked ) ] ;
  rdfs:comment "What an execution reading can say: executed, not executed, pending, the no-op was selected so nothing was due, not applicable, or not checked. Not ExecutionMode, which says whether an engine binds at all. One list (src/decision-records.ts) for every engine and every page." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:execution-state-executed eidos:execution-state-not-executed eidos:execution-state-pending eidos:execution-state-no-op-selected eidos:execution-state-not-applicable eidos:execution-state-not-checked ) .

eidos:ExecutionStateScheme a skos:ConceptScheme ;
  rdfs:label "Execution state scheme" ;
  rdfs:comment "The closed members of ExecutionState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:OutcomeMeasure a owl:Class ;
  rdfs:label "Outcome measure" ;
  rdfs:comment "What a decision market is judged on: the organization's token value under each option, with the threshold the leader must clear over the no-op, or a measured outcome such as value locked that a funding market forecasts and that is observed after the decision." .

eidos:ProposalSource a owl:Class ;
  rdfs:label "Proposal source" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "Evidence about a governance proposal, with its own authority and acquisition status." .

eidos:OnchainProposalSource a owl:Class ;
  rdfs:label "Onchain proposal source" ;
  rdfs:subClassOf eidos:ProposalSource ;
  owl:disjointWith eidos:OffchainProposalSource ;
  rdfs:comment "A source read from the chain itself: an account, a transaction, an instruction's bytes." .

eidos:OffchainProposalSource a owl:Class ;
  rdfs:label "Offchain proposal source" ;
  rdfs:subClassOf eidos:ProposalSource ;
  rdfs:comment "A source published off the chain — a page, a document — joined to the proposal only through a verified account identity." .

eidos:FutarchyProposalAccount a owl:Class ;
  rdfs:label "Futarchy proposal account" ;
  rdfs:subClassOf eidos:OnchainProposalSource ;
  rdfs:comment "Records state, DAO account, market and Squads reference, but no narrative text field. Program version is part of identity." .

eidos:SquadsProposalAccount a owl:Class ;
  rdfs:label "Squads proposal account" ;
  rdfs:subClassOf eidos:OnchainProposalSource ;
  rdfs:comment "The Squads multisig proposal a Futarchy account references, decoded from its own account." .

eidos:SquadsVaultTransaction a owl:Class ;
  rdfs:label "Squads vault transaction" ;
  rdfs:subClassOf eidos:OnchainProposalSource ;
  rdfs:comment "Executable instructions; an address lookup table may supply compiled program IDs." .

eidos:OnchainMemoInstruction a owl:Class ;
  rdfs:label "Onchain memo instruction" ;
  rdfs:subClassOf eidos:OnchainProposalSource ;
  rdfs:comment "Exact UTF-8 Memo bytes, possibly just a title or URL; not necessarily the full proposal." .

eidos:MetaDaoDecisionPage a owl:Class ;
  rdfs:label "MetaDAO decision page" ;
  rdfs:subClassOf eidos:OffchainProposalSource ;
  rdfs:comment "MetaDAO's published title, summary or prose for a proposal, joined to a chain proposal only through a verified account identity." .

eidos:ExternalProposalDocument a owl:Class ;
  rdfs:label "External proposal document" ;
  rdfs:subClassOf eidos:OffchainProposalSource ;
  rdfs:comment "A linked full document whose content and availability are separate from the onchain pointer." .

eidos:Futarchy a owl:Class ;
  rdfs:label "Futarchy" ;
  rdfs:comment "The mechanism the engines' families specialise: a voted welfare measure, conditional markets per option, and a published rule that turns conditional prices into the decision. One individual; the component taxonomy hangs off it." .

eidos:MechanismComponent a owl:Class ;
  rdfs:label "Mechanism component" ;
  rdfs:comment "One component of the mechanism — the unit of attack-surface bookkeeping. Coverage counts detectors in this library; an uncovered component is undefended in the library's terms, never a claim the component is safe." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:component-welfare-metric eidos:component-conditional-market-pair eidos:component-twap-oracle eidos:component-decision-rule eidos:component-full-window-twap-rule eidos:component-terminal-window-twap-rule eidos:component-stake-requirement eidos:component-alignment-signal eidos:component-execution-binding eidos:component-gatekeeper-role eidos:component-proposal-specification eidos:component-delivery-enforcement eidos:component-corrective-participation-access eidos:component-branch-independence eidos:component-causal-assumption-transparency ) .

eidos:OnchainConstruct a owl:Class ;
  rdfs:label "Onchain construct" ;
  rdfs:comment "A decoded onchain structure bridged to the abstract component it realizes." .

eidos:Trade a owl:Class ;
  rdfs:label "Trade" ;
  rdfs:comment "One final swap the trade ledger recorded on a decision market, on any engine: finalized on chain and confirmed by two providers, named by engine, chain, market, transaction and the event's position in it. A swap of 0 for 0 is recorded too and is not a trade (tradeIsEconomic false; src/non-economic-swap.ts). Resolved publicly from its market's published trade document: a MetaDAO proposal's evidence, another engine's trade tape." .

# ── governance: object and annotation properties ──────────────────────

eidos:recordsProposal a owl:ObjectProperty ;
  rdfs:domain eidos:ProposalSource ;
  rdfs:range eidos:GovernanceProposal ;
  rdfs:comment "The exact proposal account a source describes; a page title or MetaDAO's own decision number alone is not an identity join." .

eidos:pointsToSquadsProposal a owl:ObjectProperty ;
  rdfs:domain eidos:FutarchyProposalAccount ;
  rdfs:range eidos:SquadsProposalAccount ;
  rdfs:comment "The Squads proposal public key decoded from the Futarchy account, verified against the derived PDA." .

eidos:pointsToVaultTransaction a owl:ObjectProperty ;
  rdfs:domain eidos:SquadsProposalAccount ;
  rdfs:range eidos:SquadsVaultTransaction ;
  rdfs:comment "The vault transaction derived from the Squads multisig and transaction index." .

eidos:containsMemoInstruction a owl:ObjectProperty ;
  rdfs:domain eidos:SquadsVaultTransaction ;
  rdfs:range eidos:OnchainMemoInstruction ;
  rdfs:comment "One UTF-8 Memo instruction actually stored in the transaction; absence is known only after a successful read." .

eidos:linksExternalDocument a owl:ObjectProperty ;
  rdfs:domain eidos:OnchainMemoInstruction ;
  rdfs:range eidos:ExternalProposalDocument ;
  rdfs:comment "A URL carried in onchain Memo bytes points to an offchain document; the document content is not onchain." .

eidos:runsOnChain a owl:ObjectProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range eidos:Chain ;
  rdfs:comment "A chain the engine's markets settle on. An engine may run on several." .

eidos:hasMechanismFamily a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range eidos:MechanismFamily ;
  rdfs:comment "The family of decision rule the engine implements: pass or fail on token value, several options on token value, funding judged on a measured outcome, or advisory prices beside a vote. Functional; an engine implements one family." .

eidos:bindsAs a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range eidos:ExecutionMode ;
  rdfs:comment "Whether the engine's market result decides or selects the action (binding) or informs a vote (advisory). The census counts an advisory engine where a registered organization decides on it (futarchy.fi, 6 October 2026)." .

eidos:tradesOn a owl:ObjectProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range eidos:Venue ;
  rdfs:comment "A venue the engine's conditional tokens trade on: its own pools for most engines, a general-purpose exchange for Butter (Uniswap on Unichain) and futarchy.fi (Swapr on Gnosis). The engine decides; the venue trades; the chain settles." .

eidos:ownVenueOf a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Venue ;
  rdfs:range eidos:DecisionMarketEngine ;
  rdfs:comment "The engine that runs this venue as its own pools. Absent for an exchange another party operates." .

eidos:venueOnChain a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Venue ;
  rdfs:range eidos:Chain ;
  rdfs:comment "The chain the venue's pools live on. Functional; a venue is one deployment on one chain." .

eidos:deploymentOf a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:EngineDeployment ;
  rdfs:range eidos:DecisionMarketEngine ;
  rdfs:comment "The engine whose rails a launchpad or app runs on. A deployment is never counted as an engine of its own." .

eidos:programOfEngine a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:GovernanceProgramDeployment ;
  rdfs:range eidos:DecisionMarketEngine ;
  rdfs:comment "The engine a published program deployment belongs to." .

eidos:ruleOfEngine a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:PublishedRule ;
  rdfs:range eidos:DecisionMarketEngine ;
  rdfs:comment "The engine that ran a published rule, where the registry records one. A rule keeps its own execution mode: Optimism's advisory Futarchy v1 was Butter's before its binding funding markets." .

eidos:hasStandardOption a owl:ObjectProperty ;
  rdfs:domain eidos:MechanismFamily ;
  rdfs:range eidos:DecisionOption ;
  rdfs:comment "An option every decision of this family carries: pass, and fail as the no-op, for a pass/fail family." .

eidos:hasOption a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:DecisionOption ;
  rdfs:comment "An option the decision's market chose among. A pass/fail proposal has two; a multi-option decision has one per candidate, at most one of them the no-op." .

eidos:judgedOn a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:OutcomeMeasure ;
  rdfs:comment "What the market was judged on: the organization's token value under each option, or a measured outcome such as value locked for a funding market." .

eidos:selectedOption a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:DecisionOption ;
  rdfs:comment "The option the engine selected, as the source states it — the market's result. Never inferred from prices; absent while undecided or unstated. A funding market may select several." .

eidos:onEngine a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:DecisionMarketEngine ;
  rdfs:comment "The engine whose market made the decision. Functional; part of the decision's identity." .

eidos:onChain a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Chain ;
  rdfs:comment "The chain the decision's market settled on. Functional; part of the decision's identity — the same id on two chains is two decisions." .

eidos:onVenue a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Venue ;
  rdfs:comment "A venue the decision's conditional tokens traded on. Stated from the decision record where it names one; an engine with one venue implies it." .

eidos:hasPurpose a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Purpose ;
  rdfs:comment "What the decision was for: the ask as its proposer published it, the options and the measure it would be judged on. One per decision is a shape rule (shapes.ttl), not a functional axiom: purposes are an open population no release can declare pairwise distinct." .

eidos:hasInformationState a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:InformationState ;
  rdfs:comment "What was known: the evidence the record held at a stated time, pinned to that time so a later reading never rewrites an earlier one." .

eidos:hasExecution a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Execution ;
  rdfs:comment "What was done: an execution check of the selected option against the chain, with its rule and evidence. A decision that cannot be read yet has none, never a guessed one." .

eidos:executionState a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Execution ;
  rdfs:range eidos:ExecutionState ;
  rdfs:comment "The one state an execution reading carries: executed, not executed, pending, the no-op selected so nothing was due, not applicable, or not checked. Functional over a closed enumeration." .

eidos:proposalState a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range eidos:ProposalState ;
  rdfs:comment "The record lifecycle state a MetaDAO proposal is in: the program's own states, finalized once the TWAPs are, unknown where the read failed." .

eidos:hasOutcomeRecord a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:OutcomeRecord ;
  rdfs:comment "A requested outcome reading, including a withheld checkpoint and its reason. Availability is not a measured result." .

eidos:hasImpactRecord a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:ImpactRecord ;
  rdfs:comment "A comparison checkpoint, retaining the conditional value estimate even when the realized comparison is withheld." .

eidos:recordedOutcome a owl:ObjectProperty ;
  rdfs:domain eidos:OutcomeRecord ;
  rdfs:range eidos:MeasuredOutcome ;
  rdfs:comment "The sourced reading this record holds; absent for a withheld measurement." .

eidos:recordedImpact a owl:ObjectProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range eidos:Impact ;
  rdfs:comment "The completed comparison this record holds; absent without a realized change." .

eidos:impactBaseline a owl:ObjectProperty ;
  rdfs:domain eidos:Impact ;
  rdfs:range eidos:MeasuredOutcome ;
  rdfs:comment "The measured close reading used as the baseline for the realized change." .

eidos:impactOfRecord a owl:ObjectProperty ;
  rdfs:domain eidos:Impact ;
  rdfs:range eidos:ImpactRecord ;
  rdfs:comment "The comparison record retaining the market estimate and its source." .

eidos:hasOutcome a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:MeasuredOutcome ;
  rdfs:comment "Sourced readings of the decision's outcome measure, including the close baseline, later checkpoints and resolved scalar branches. Requested but unavailable readings belong to hasOutcomeRecord." .

eidos:hasImpact a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Impact ;
  rdfs:comment "The market's forecast for the selected option beside what the measure did afterwards, at one horizon." .

eidos:impactOfOutcome a owl:ObjectProperty ;
  rdfs:domain eidos:Impact ;
  rdfs:range eidos:MeasuredOutcome ;
  rdfs:comment "The realized reading the comparison was made against. Together with impactBaseline it supplies the measured endpoints of the realized percentage change." .

eidos:movedCapital a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:CapitalMovement ;
  rdfs:comment "Capital the decision's execution moved, as read from the chain." .

eidos:actedBy a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Party ;
  rdfs:comment "A party that acted on the decision — proposed it, signed its execution, deployed its market — named by its onchain account." .

eidos:authorizedBy a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Authority ;
  rdfs:comment "The authority that could carry the decision out: a treasury multisig, an engine's market contract, a funding market's sponsor." .

eidos:variantOf a owl:ObjectProperty ;
  rdfs:domain eidos:MechanismComponent ;
  rdfs:range eidos:MechanismComponent ;
  rdfs:comment "A rule variant specializes its parent component." .

eidos:hasComponent a owl:ObjectProperty ;
  rdfs:domain eidos:Futarchy ;
  rdfs:range eidos:MechanismComponent ;
  rdfs:comment "A root component in the registry-derived mechanism taxonomy. Rule variants attach to their root with variantOf." .

eidos:implements a owl:ObjectProperty ;
  rdfs:domain eidos:PublishedRule ;
  rdfs:range eidos:Futarchy ;
  rdfs:comment "The mechanism a published rule is a rule of." .

eidos:executesAs a owl:ObjectProperty ;
  rdfs:domain eidos:PublishedRule ;
  rdfs:range eidos:ExecutionMode ;
  rdfs:comment "Whether markets under the published rule execute onchain or advise." .

eidos:usesRule a owl:ObjectProperty ;
  rdfs:domain eidos:PublishedRule ;
  rdfs:range eidos:MechanismComponent ;
  rdfs:comment "The decision-rule variant the published rule uses, when published." .

eidos:realizesComponent a owl:ObjectProperty ;
  rdfs:domain eidos:OnchainConstruct ;
  rdfs:range eidos:MechanismComponent ;
  rdfs:comment "Bridges a decoded onchain construct to the abstract mechanism component it realizes." .

eidos:organizationHasDaoAccount a owl:ObjectProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range eidos:DaoAccount ;
  rdfs:comment "governed by DAO account (many; asserted by warehouse, re-derived-per-seal, at-read). The futarchy DAO accounts the organization's proposals run under (an organization that moved DAO accounts holds more than one), from the identity registry's claims or a recorded live snapshot; a contested mapping fails the seal rather than picking." .

eidos:daoAccountHasOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:DaoAccount ;
  rdfs:range eidos:Organization ;
  owl:inverseOf eidos:organizationHasDaoAccount ;
  rdfs:comment "identified as organization (one-or-none; asserted by warehouse, re-derived-per-seal, at-read). The inverse of the organization's governing DAO account; absent for the program's test mints and for DAO accounts no registry names." .

eidos:daoAccountHasProposals a owl:ObjectProperty ;
  rdfs:domain eidos:DaoAccount ;
  rdfs:range eidos:GovernanceProposal ;
  rdfs:comment "has proposals (many; asserted by published-database, immutable, at-read). Every proposal account whose dao field names this DAO account." .

eidos:decisionGovernedBy a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:DaoAccount ;
  rdfs:comment "decided for DAO account (one-or-none; asserted by published-database, immutable, at-read). For a MetaDAO decision, the DAO account the proposal names. Other engines' DAO accounts are named in the row and are not yet DAO account objects." .

eidos:decisionForOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Organization ;
  rdfs:comment "decided for organization (one-or-none; asserted by warehouse, re-derived-per-seal, at-read). The tracked organization the decision was about: on MetaDAO through its DAO account's identity, on another engine through the registry's claim on its decider (src/organization-deciders.ts: a futarchy.fi market's organization token, an Umia venture, a Butter funder), sealed with the census. Absent for a decision no registry names: a decider no claim names (every Combinator moderator today) is named on the decision (organization) and is not a tracked organization." .

eidos:proposalGovernedBy a owl:ObjectProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range eidos:DaoAccount ;
  rdfs:subPropertyOf eidos:decisionGovernedBy ;
  owl:inverseOf eidos:daoAccountHasProposals ;
  rdfs:comment "governed by (one; asserted by published-database, immutable, at-read). The dao field of the proposal account. MetaDAO's form of decision-governed-by, where it is always present." .

eidos:tradeOnDecision a owl:ObjectProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range eidos:Decision ;
  rdfs:comment "trade on decision (one-or-none; asserted by warehouse, re-derived-per-seal, at-read). The decision whose market the trade was on, joined by engine, chain and the market id the decision carries. None where the record decodes no decision for the market." .

# ── governance: datatype properties ───────────────────────────────────

eidos:chainFamily a owl:DatatypeProperty ;
  rdfs:domain eidos:Chain ;
  rdfs:range xsd:string .

eidos:chainId a owl:DatatypeProperty ;
  rdfs:domain eidos:Chain ;
  rdfs:range xsd:string .

eidos:chainTapeKey a owl:DatatypeProperty ;
  rdfs:domain eidos:Chain ;
  rdfs:range xsd:string .

eidos:comparisonBasis a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "How the closing conditional value comparison was measured." .

eidos:comparisonCheckpoint a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "The realized horizon, when a market estimate is available." .

eidos:comparisonForecastPct a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:double ;
  rdfs:comment "The conditional value premium, not a probability of option selection." .

eidos:comparisonReferenceOption a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "The reference option for the conditional value comparison." .

eidos:comparisonSelectedOption a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "The selected option whose conditional value was compared." .

eidos:comparisonSource a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "The source of the conditional market estimate." .

eidos:comparisonStatus a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "Whether the realized comparison is recorded or withheld." .

eidos:comparisonWithheldReason a owl:DatatypeProperty ;
  rdfs:domain eidos:ImpactRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "Why this comparison is unavailable." .

eidos:daoAccountKey a owl:DatatypeProperty ;
  rdfs:domain eidos:DaoAccount ;
  rdfs:range xsd:string ;
  rdfs:comment "The DAO account's public key on the futarchy program. Bound to main.dim_dao_account.dao." .

eidos:decisionAttackReviewFiled a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the Attack review filed a finding on the decision itself. Attack files only on a complete Evidence packet (a playbook runs only on its own complete evidence), so it implies decisionEvidenceReviewFiled. Bound to main.dim_decision.attack_review_filed." .

eidos:decisionCapitalState a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "Whether the decision's execution moved capital (moved, none, not-executed), as the record read it; null where no capital reading is recorded. Bound to main.dim_decision.capital_state." .

eidos:decisionChain a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The chain's id; the same value onChain names as an individual. Bound to main.dim_decision.chain." .

eidos:decisionClosesAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the decision's market closes or closed, as its source states it. Bound to main.dim_decision.closes_at." .

eidos:decisionDeciderKey a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The census's decider for the decision (deciderKey in src/decision-summary.ts): whoever put it to its market, keyed by its engine and account (a MetaDAO DAO account, a Combinator moderator), or its name where the engine records no account (an Umia venture, a Butter deployer), or the decision itself where it names neither; null where the census had not yet seen it. Called the census's organization until 11.0.0, which it is not: most deciders are not tracked organizations. Bound to main.dim_decision.decider_key." .

eidos:decisionEngine a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The engine's id (src/decision-engines.ts); the same value onEngine names as an individual. Bound to main.dim_decision.engine." .

eidos:decisionEvidenceReviewFiled a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the Evidence review filed a finding on the decision itself. Bound to main.dim_decision.evidence_review_filed." .

eidos:decisionExecutionState a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "What execution the record read for the decision (executed, not-executed, pending, no-op-selected, not-applicable, not-checked), sealed from the published record with the census; null where no execution reading is recorded. Bound to main.dim_decision.execution_state." .

eidos:decisionFinalThresholdPct a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:decimal ;
  rdfs:comment "The pass threshold, in percent, that a MetaDAO proposal's FinalizeProposalEvent applied: the edge the pass TWAP needed over the fail TWAP, recovered exactly from the event's own integers as the trade ledger recorded them by the cutoff, a threshold decoded later (an append-only amendment) included (src/metadao-resolution.ts). Null on another engine, on a proposal the ledger holds no pass or fail for, and where the event does not state one: never zero, and never the DAO's current threshold. Bound to main.dim_decision.final_threshold_pct." .

eidos:decisionHasAnalysis a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "At least one analytical instrument produced an available result. This does not imply complete coverage. Bound to main.dim_decision.analyzed." .

eidos:decisionHasDetectorAssessment a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "At least one named detector ran on its qualified evidence. Bound to main.dim_decision.detector_assessed." .

eidos:decisionHasMarketReading a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "A price-rule reading or a measured-outcome resolution is available. Bound to main.dim_decision.market_reading_available." .

eidos:decisionHasParticipation a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Observed trading participation is available, with completeness stated on its result. Bound to main.dim_decision.participation_available." .

eidos:decisionIdentifier a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The decision's id on its engine: a MetaDAO proposal account, a Combinator decision account, an Umia market id, a Butter market address. Bound to main.dim_decision.decision_id." .

eidos:decisionIsCounted a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the census counts the decision (src/decision-records.ts, the one census rule), sealed from the decision-census input bundle; null for a decision the census had not yet seen at the cutoff. Bound to main.dim_decision.counted." .

eidos:decisionIsDecided a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the engine has stated a result. Bound to main.dim_decision.decided." .

eidos:decisionIsFundedDraft a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the decision is a funded draft: a MetaDAO draft whose stake is above zero (its proposal's proposalIsFundedDraft, carried onto the decision it is). False for every other MetaDAO state; null on the other engines, which have no drafts, and for a draft whose stake the snapshot did not state. Bound to main.dim_decision.funded." .

eidos:decisionIsReviewed a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the record holds a review reading for the decision: the six reviews for a MetaDAO proposal, the engine review for another engine's decision. Bound to main.dim_decision.reviewed." .

eidos:decisionMarketReviewFiled a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the Market review filed a finding on the decision itself. Bound to main.dim_decision.market_review_filed." .

eidos:decisionNamesPassOption a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the decision's options are pass and fail, so a pass rate counts it: true on every MetaDAO decision, false on a multi-option market and on a binary one whose options are named otherwise. Bound to main.dim_decision.pass_option." .

eidos:decisionNonEconomicSwapCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:integer ;
  rdfs:comment "The final swaps of 0 for 0 among them: both raw legs zero, so they moved nothing. The ledger records them as the chain did and no count of trades counts them (src/non-economic-swap.ts, operator decision, 6 October 2026). Null exactly when decisionSwapCount is. Bound to main.dim_decision.non_economic_swaps." .

eidos:decisionOpenedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the decision's market opened, as its source states it. Bound to main.dim_decision.opened_at." .

eidos:decisionOptionCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:integer ;
  rdfs:comment "How many options the market chose among, the no-op included. Bound to main.dim_decision.option_count." .

eidos:decisionRecordId a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "`<engine>-<chain>-<decision id>`, EVM ids lowercased: the last segment of the decision's IRI and the key of /data/decisions.json. Bound to main.dim_decision.record_id." .

eidos:decisionSelectedOptionId a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The first selected option's id — the market's result — or null while undecided or unstated. Bound to main.dim_decision.selected_option." .

eidos:decisionState a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The decision's state as its engine states it: MetaDAO's program states (draft, pending, passed, failed, removed) on a MetaDAO decision, decided, open or resolved-without-selection on the other engines. Bound to main.dim_decision.state." .

eidos:decisionSwapCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:integer ;
  rdfs:comment "Every final swap the trade ledger recorded on the decision's market by the cutoff: its trades and its swaps of 0 for 0 together. Null where the ledger holds no row for the market, or where the market's trades are another decision's: a futarchy.fi proposal that repeats an earlier condition, or one no pool was born for (unmeasured, never zero). Bound to main.dim_decision.swaps." .

eidos:decisionTitle a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:string ;
  rdfs:comment "The decision's title as its source states it, or the organization's name where no title is published. Bound to main.dim_decision.title." .

eidos:decisionTradeCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:integer ;
  rdfs:comment "The final trades the trade ledger recorded on the decision's market by the cutoff, swaps of 0 for 0 excluded (src/non-economic-swap.ts). Null where the ledger holds no row for the market, or where the market's trades are another decision's: a futarchy.fi proposal that repeats an earlier condition, or one no pool was born for (unmeasured, never zero). Bound to main.dim_decision.trades." .

eidos:decisionTraderCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:integer ;
  rdfs:comment "The distinct wallets among those trades. Distinct per decision only: a wallet that traded two decisions is counted on each, so a sum over decisions is not a count of people. Null exactly when decisionTradeCount is. Bound to main.dim_decision.traders." .

eidos:decisionVolumeUsd a owl:DatatypeProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range xsd:decimal ;
  rdfs:comment "The dollar size of those trades, summed, where the market is quoted in a USD stablecoin; null where it is not, or where the ledger holds no row for the market or its trades are another decision's (a futarchy.fi repeat, or a proposal no pool was born for; unmeasured, never zero). Bound to main.dim_decision.volume_usd." .

eidos:definition a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:Futarchy eidos:MechanismComponent eidos:OnchainConstruct ) ] ;
  rdfs:range xsd:string .

eidos:engineCoverage a owl:DatatypeProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range xsd:string .

eidos:engineId a owl:DatatypeProperty ;
  rdfs:domain eidos:DecisionMarketEngine ;
  rdfs:range xsd:string .

eidos:impactChangePct a owl:DatatypeProperty ;
  rdfs:domain eidos:Impact ;
  rdfs:range xsd:double ;
  rdfs:comment "The realized percentage change from the measured baseline to the measured outcome." .

eidos:note a owl:DatatypeProperty ;
  rdfs:range xsd:string .

eidos:optionId a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:DecisionOption eidos:NoOpOption ) ] ;
  rdfs:range xsd:string .

eidos:organizationDaoAccountCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:integer ;
  rdfs:comment "The futarchy DAO accounts the identity registry assigns the organization; zero where it assigns none. More than one where the organization moved DAO accounts. Bound to main.dim_organization.dao_account_count." .

eidos:organizationDocs a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The documentation site the newest sealed profile collection found, when it found one. Bound to main.dim_organization.docs_url." .

eidos:organizationIsActive a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the status is live or winding-down. Bound to main.dim_organization.is_active." .

eidos:organizationKind a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "launched or established. Bound to main.dim_organization.kind." .

eidos:organizationName a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The organization's display name. Bound to main.dim_organization.name." .

eidos:organizationSlug a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The organization's registry slug, the key the app ranks under. Bound to main.dim_organization.slug." .

eidos:organizationStatus a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "live, winding-down, liquidated or dissolved. Bound to main.dim_organization.status." .

eidos:organizationTokenSymbol a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The ticker of the organization's token, when it has one. Bound to main.dim_organization.token_symbol." .

eidos:organizationWebsite a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The website the newest sealed profile collection found, when it found one. Bound to main.dim_organization.website_url." .

eidos:organizationXProfile a owl:DatatypeProperty ;
  rdfs:domain eidos:Organization ;
  rdfs:range xsd:string ;
  rdfs:comment "The X profile the newest sealed profile collection found, when it found one. Bound to main.dim_organization.x_url." .

eidos:outcomeAt a owl:DatatypeProperty ;
  rdfs:domain eidos:MeasuredOutcome ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The reading observation time, when the source carries one." .

eidos:outcomeBound a owl:DatatypeProperty ;
  rdfs:domain eidos:MeasuredOutcome ;
  rdfs:range xsd:string ;
  rdfs:comment "Whether a resolved scalar reading is exact or bounded by the scalar range." .

eidos:outcomeSource a owl:DatatypeProperty ;
  rdfs:domain eidos:MeasuredOutcome ;
  rdfs:range xsd:string ;
  rdfs:comment "The source document or tape lane for the reading." .

eidos:outcomeUnit a owl:DatatypeProperty ;
  rdfs:domain eidos:MeasuredOutcome ;
  rdfs:range xsd:string ;
  rdfs:comment "The unit of the reading." .

eidos:outcomeValue a owl:DatatypeProperty ;
  rdfs:domain eidos:MeasuredOutcome ;
  rdfs:range xsd:double ;
  rdfs:comment "The observed numeric value, never a missing-value zero." .

eidos:programCoverage a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProgramDeployment ;
  rdfs:range xsd:string .

eidos:programFamily a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProgramDeployment ;
  rdfs:range xsd:string .

eidos:programId a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProgramDeployment ;
  rdfs:range xsd:string .

eidos:proposalDaoAccount a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range xsd:string ;
  rdfs:comment "The futarchy DAO account the proposal names: the account its program-account row carries. Bound to main.dim_proposal.dao." .

eidos:proposalIsDecided a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the proposal's market decided it: the account reads passed or failed and the DAO's admin did not cancel it (an admin cancellation, which the trade ledger records, also leaves the account failed). Bound to main.dim_proposal.decided." .

eidos:proposalIsFundedDraft a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the proposal is a funded draft: a draft whose stake is above zero, which the program counts as active. False for every other state; null for a draft whose stake the snapshot did not state. Bound to main.dim_proposal.funded." .

eidos:proposalStateCode a owl:DatatypeProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range xsd:string ;
  rdfs:comment "The proposal account's state as the program records it, as text: draft, pending, passed, failed or removed (proposalState names the same state as a ProposalState individual). Bound to main.dim_proposal.state." .

eidos:recordCheckpoint a owl:DatatypeProperty ;
  rdfs:domain eidos:OutcomeRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "The requested checkpoint or resolved branch identifier." .

eidos:recordStatus a owl:DatatypeProperty ;
  rdfs:domain eidos:OutcomeRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "Whether this requested measurement is recorded or withheld." .

eidos:recordWithheldReason a owl:DatatypeProperty ;
  rdfs:domain eidos:OutcomeRecord ;
  rdfs:range xsd:string ;
  rdfs:comment "Why this measurement is unavailable." .

eidos:sourceLabel a owl:DatatypeProperty ;
  rdfs:domain eidos:PublishedRule ;
  rdfs:range xsd:string .

eidos:sourceUrl a owl:DatatypeProperty ;
  rdfs:range xsd:string .

eidos:tradeBlockTime a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the block holding the trade was produced. Bound to main.fct_trades.block_time." .

eidos:tradeChain a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:string ;
  rdfs:comment "The chain the trade settled on. Bound to main.fct_trades.chain." .

eidos:tradeEngine a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:string ;
  rdfs:comment "The engine whose market the trade was on (src/decision-engines.ts). Bound to main.fct_trades.engine." .

eidos:tradeIsEconomic a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the swap is a trade: false for a swap of 0 for 0, which moved nothing (src/non-economic-swap.ts). Bound to main.fct_trades.economic." .

eidos:tradeMarket a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:string ;
  rdfs:comment "The market as the trade ledger names it: a MetaDAO proposal account, another engine's decision id. Bound to main.fct_trades.market." .

eidos:tradePosition a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:integer ;
  rdfs:comment "The event's position within its transaction. Bound to main.fct_trades.position." .

eidos:tradeSizeUsd a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:decimal ;
  rdfs:comment "The trade's size in dollars where it has an exact one: a market quoted in a USD stablecoin, a futarchy.fi market quoted in sDAI (at the vault's rate) or its conditional outcome, a Butter Long against its Short (by the redemption identity); null otherwise, and a size amended after recording is known only from its amendment. Bound to main.fct_trades.size_usd." .

eidos:tradeTrader a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:string ;
  rdfs:comment "The wallet that traded. Bound to main.fct_trades.trader." .

eidos:tradeTransaction a owl:DatatypeProperty ;
  rdfs:domain eidos:Trade ;
  rdfs:range xsd:string ;
  rdfs:comment "The transaction signature or hash. Bound to main.fct_trades.tx." .

eidos:venueId a owl:DatatypeProperty ;
  rdfs:domain eidos:Venue ;
  rdfs:range xsd:string .

eidos:venueKind a owl:DatatypeProperty ;
  rdfs:domain eidos:Venue ;
  rdfs:range xsd:string .

eidos:venueOperator a owl:DatatypeProperty ;
  rdfs:domain eidos:Venue ;
  rdfs:range xsd:string .

eidos:version a owl:DatatypeProperty ;
  rdfs:range xsd:string .

# ── governance: individuals (generated from the registries) ───────────

eidos:execution-binding a eidos:ExecutionMode ;
  rdfs:label "binding" ;
  skos:inScheme eidos:ExecutionModeScheme .

eidos:execution-advisory a eidos:ExecutionMode ;
  rdfs:label "advisory" ;
  skos:inScheme eidos:ExecutionModeScheme .

eidos:proposal-state-draft a eidos:ProposalState ;
  rdfs:label "draft" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-pending a eidos:ProposalState ;
  rdfs:label "pending" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-passed a eidos:ProposalState ;
  rdfs:label "passed" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-failed a eidos:ProposalState ;
  rdfs:label "failed" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-removed a eidos:ProposalState ;
  rdfs:label "removed" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-finalized a eidos:ProposalState ;
  rdfs:label "finalized" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:proposal-state-unknown a eidos:ProposalState ;
  rdfs:label "unknown" ;
  skos:inScheme eidos:ProposalStateScheme .

eidos:execution-state-executed a eidos:ExecutionState ;
  rdfs:label "executed" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:execution-state-not-executed a eidos:ExecutionState ;
  rdfs:label "not-executed" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:execution-state-pending a eidos:ExecutionState ;
  rdfs:label "pending" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:execution-state-no-op-selected a eidos:ExecutionState ;
  rdfs:label "no-op-selected" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:execution-state-not-applicable a eidos:ExecutionState ;
  rdfs:label "not-applicable" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:execution-state-not-checked a eidos:ExecutionState ;
  rdfs:label "not-checked" ;
  skos:inScheme eidos:ExecutionStateScheme .

eidos:governance-program-futarelbfjfq8rdghg1wdhddq1odmajuephfubyfuxkq a eidos:GovernanceProgramDeployment ;
  rdfs:label "futarchy v0.6.0" ;
  eidos:programId "FUTARELBfJfQ8RDGhg1wdhddq1odMAJUePHFuBYfUxKq" ;
  eidos:programFamily "futarchy" ;
  eidos:version "v0.6.0" ;
  eidos:programCoverage "indexed" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-autour3cqza3d4qret6std2mtomfzvreecc5qh7ivw5 a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat v0.5.0" ;
  eidos:programId "auToUr3CQza3D4qreT6Std2MTomfzvrEeCC5qh7ivW5" ;
  eidos:programFamily "autocrat" ;
  eidos:version "v0.5.0" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-autowmzcbm29yxmgvg3t62hkgo7rcyrvgqqkd54fdql a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat proposal-duration-v0.4.2" ;
  eidos:programId "autowMzCbM29YXMgVG3T62Hkgo7RcyrvgQQkd54fDQL" ;
  eidos:programFamily "autocrat" ;
  eidos:version "proposal-duration-v0.4.2" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-autoqp9rmunkzzkrxsmkwicdvz3h29vvymdcayjcxxg a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat v0.3" ;
  eidos:programId "autoQP9RmUNkzzKRXsMkWicDVZ3h29vvyMDcAYjCxxg" ;
  eidos:programFamily "autocrat" ;
  eidos:version "v0.3" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-metark9dubnradzn6uudkvxbvkw5pycbpvmltuzwtbp a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat_v0 v0.2" ;
  eidos:programId "metaRK9dUBnrAdZN6uUDKvxBVKW5pyCbPVmLtUZwtBp" ;
  eidos:programFamily "autocrat_v0" ;
  eidos:version "v0.2" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-metax99lhn3a7gr7vaccfxhpfocvpmpqq3eyp3pguuq a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat_v0 v0.1" ;
  eidos:programId "metaX99LHn3A7Gr7VAcCfXhpfocvpMpqQ3eyp3PGUUq" ;
  eidos:programFamily "autocrat_v0" ;
  eidos:version "v0.1" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:governance-program-meta3cxkzfbmwygcvozmvcqas3y9b3fgxrg9hkhl7wi a eidos:GovernanceProgramDeployment ;
  rdfs:label "autocrat_v0 v0" ;
  eidos:programId "meta3cxKzFBmWYgCVozmvCQAS3y9b3fGxrG9HkHL7Wi" ;
  eidos:programFamily "autocrat_v0" ;
  eidos:version "v0" ;
  eidos:programCoverage "decoder-pending" ;
  eidos:sourceUrl "https://github.com/metaDAOproject/programs#deployments" .

eidos:mechanism-futarchy a eidos:Futarchy ;
  rdfs:label "Futarchy" ;
  eidos:definition "Market-based governance: a voted welfare metric, conditional markets pricing each decision option, and a published rule that turns conditional prints into the result." .

eidos:component-welfare-metric a eidos:MechanismComponent ;
  rdfs:label "Welfare metric" ;
  eidos:definition "The measure of value the venue asks its markets to optimize — what conditional prices are read as forecasts of." .

eidos:component-conditional-market-pair a eidos:MechanismComponent ;
  rdfs:label "Conditional market pair" ;
  eidos:definition "The pass and fail conditional markets that price the proposal's two futures against each other." .

eidos:component-twap-oracle a eidos:MechanismComponent ;
  rdfs:label "TWAP oracle" ;
  eidos:definition "The time-weighted average price accumulator that turns each conditional market's trade series into the print the decision rule reads." .

eidos:component-decision-rule a eidos:MechanismComponent ;
  rdfs:label "Decision rule" ;
  eidos:definition "The published rule that turns conditional prints into an outcome — which TWAPs are compared, over what window, against what configured threshold." .

eidos:component-full-window-twap-rule a eidos:MechanismComponent ;
  rdfs:label "Full-window TWAP rule" ;
  eidos:definition "A decision rule that accrues resolving weight across the whole decision period, so late trades carry the least time-weight." .

eidos:component-terminal-window-twap-rule a eidos:MechanismComponent ;
  rdfs:label "Terminal-window TWAP rule" ;
  eidos:definition "A decision rule that accrues all resolving weight in a short terminal slice of a much longer decision period." .

eidos:component-stake-requirement a eidos:MechanismComponent ;
  rdfs:label "Stake requirement" ;
  eidos:definition "The stake a proposer must post for eligibility — its size, its recoverability, and its per-address accounting." .

eidos:component-alignment-signal a eidos:MechanismComponent ;
  rdfs:label "Alignment signal" ;
  eidos:definition "The observer-facing reading of volume and economic alignment around a market — evidence about conviction, not part of the decision rule." .

eidos:component-execution-binding a eidos:MechanismComponent ;
  rdfs:label "Execution binding" ;
  eidos:definition "Whether the market's outcome executes onchain (binding) or informs a vote or a bound delegate while executing nothing (advisory)." .

eidos:component-gatekeeper-role a eidos:MechanismComponent ;
  rdfs:label "Gatekeeper role" ;
  eidos:definition "Whoever curates which proposals reach a market — the trusted-gatekeeper dependency named in the published insecurity result." .

eidos:component-proposal-specification a eidos:MechanismComponent ;
  rdfs:label "Proposal specification" ;
  eidos:definition "The complete, time-stamped terms a market is asked to price — counterparties, scope, fees, milestones, dependencies, and value-relevant disclosures." .

eidos:component-delivery-enforcement a eidos:MechanismComponent ;
  rdfs:label "Delivery enforcement" ;
  eidos:definition "The obligations, escrow, remedies, and recourse that make promised post-passage delivery binding rather than optional under weak resistance." .

eidos:component-corrective-participation-access a eidos:MechanismComponent ;
  rdfs:label "Corrective participation access" ;
  eidos:definition "Who can create corrective pass/fail exposure, on what collateral terms, and whether opposition requires an existing holder to exit the underlying asset." .

eidos:component-branch-independence a eidos:MechanismComponent ;
  rdfs:label "Branch independence" ;
  eidos:definition "Whether pass and fail describe the proposal's execution and non-execution without proposer-controlled retaliation or another action that poisons one branch." .

eidos:component-causal-assumption-transparency a eidos:MechanismComponent ;
  rdfs:label "Causal-assumption transparency" ;
  eidos:definition "The explicit assumptions under which a conditional price is read as evidence about the proposal's causal effect. This uncovered detector surface records an unsettled inference; it is not causal proof, a finding, or a classification." .

eidos:metadao-futarchy-v0-6 a eidos:PublishedRule ;
  rdfs:label "MetaDAO Futarchy v0.6" ;
  eidos:sourceLabel "MetaDAO documentation (TWAP window mechanics)" ;
  eidos:sourceUrl "https://docs.metadao.fi" .

eidos:kleros-kip-76 a eidos:PublishedRule ;
  rdfs:label "Kleros KIP-76" ;
  eidos:sourceLabel "Kleros KIP-76 — Futarchy-Based Governance Rule for PNK Minting (Snapshot, kleros.eth)" ;
  eidos:sourceUrl "https://snapshot.org/#/kleros.eth/proposal/0xa213179debfca1cb5b8f65ac9d641e6e4e8fb5df480196c909e9ae1ab548daa7" .

eidos:gnosis-gip-145 a eidos:PublishedRule ;
  rdfs:label "Gnosis GIP-145 pilot" ;
  eidos:sourceLabel "Gnosis forum — GIP-145 futarchy pilot discussion" ;
  eidos:sourceUrl "https://forum.gnosis.io/t/11816" .

eidos:optimism-futarchy-v1 a eidos:PublishedRule ;
  rdfs:label "Optimism Futarchy v1" ;
  eidos:sourceLabel "Optimism governance — Futarchy v1 preliminary findings" ;
  eidos:sourceUrl "https://gov.optimism.io/t/futarchy-v1-preliminary-findings/10062" .

eidos:chain-solana-mainnet-beta a eidos:Chain ;
  rdfs:label "Solana" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "solana-mainnet-beta" ;
  eidos:chainFamily "solana" ;
  eidos:chainTapeKey "solana" .

eidos:chain-base a eidos:Chain ;
  rdfs:label "Base" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "base" ;
  eidos:chainFamily "evm" .

eidos:chain-ethereum a eidos:Chain ;
  rdfs:label "Ethereum" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "ethereum" ;
  eidos:chainFamily "evm" .

eidos:chain-optimism a eidos:Chain ;
  rdfs:label "OP Mainnet" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "optimism" ;
  eidos:chainFamily "evm" .

eidos:chain-unichain a eidos:Chain ;
  rdfs:label "Unichain" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "unichain" ;
  eidos:chainFamily "evm" .

eidos:chain-gnosis a eidos:Chain ;
  rdfs:label "Gnosis Chain" ;
  skos:inScheme eidos:ChainScheme ;
  eidos:chainId "gnosis" ;
  eidos:chainFamily "evm" .

eidos:venue-metadao-conditional-amm a eidos:Venue ;
  rdfs:label "MetaDAO conditional AMM" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "metadao-conditional-amm" ;
  eidos:venueOperator "MetaDAO" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://docs.metadao.fi/governance/markets" .

eidos:venue-combinator-amm a eidos:Venue ;
  rdfs:label "Combinator AMM" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "combinator-amm" ;
  eidos:venueOperator "Combinator" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://docs.combinator.trade/" .

eidos:venue-umia-market-core a eidos:Venue ;
  rdfs:label "Umia market core" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "umia-market-core" ;
  eidos:venueOperator "Umia" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://www.umia.finance/docs/decision-markets" .

eidos:venue-uniswap-v2-unichain a eidos:Venue ;
  rdfs:label "Uniswap v2 on Unichain" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "uniswap-v2-unichain" ;
  eidos:venueOperator "Uniswap" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://docs.uniswap.org/contracts/v2/overview" .

eidos:venue-uniswap-v4-unichain a eidos:Venue ;
  rdfs:label "Uniswap v4 on Unichain" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "uniswap-v4-unichain" ;
  eidos:venueOperator "Uniswap" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://docs.uniswap.org/contracts/v4/overview" .

eidos:venue-swapr-gnosis a eidos:Venue ;
  rdfs:label "Swapr on Gnosis Chain" ;
  skos:inScheme eidos:VenueScheme ;
  eidos:venueId "swapr-gnosis" ;
  eidos:venueOperator "Swapr" ;
  eidos:venueKind "amm" ;
  eidos:sourceUrl "https://swapr.eth.limo/" .

eidos:option-binary-pass a eidos:DecisionOption ;
  rdfs:label "Pass" ;
  eidos:optionId "pass" .

eidos:option-binary-fail a eidos:NoOpOption ;
  rdfs:label "Fail (no change)" ;
  eidos:optionId "fail" .

eidos:mechanism-family-binary-token-value a eidos:MechanismFamily ;
  rdfs:label "Pass or fail, judged on token value" ;
  skos:inScheme eidos:MechanismFamilyScheme ;
  eidos:note "Two conditional markets price the organization's token if the proposal passes and if it fails; the decision follows the time-weighted comparison against a threshold. Fail is the no-op." .

eidos:mechanism-family-multi-option-token-value a eidos:MechanismFamily ;
  rdfs:label "Several options, judged on token value" ;
  skos:inScheme eidos:MechanismFamilyScheme ;
  eidos:note "One conditional market per option, including doing nothing; the option whose market prices the token highest over the window, past any threshold, is selected." .

eidos:mechanism-family-outcome-judged-funding a eidos:MechanismFamily ;
  rdfs:label "Funding judged on a measured outcome" ;
  skos:inScheme eidos:MechanismFamilyScheme ;
  eidos:note "Markets forecast a measured result (value locked, users, revenue) if each candidate is funded; funding goes to the candidates forecast to move it most, and the measure is observed afterwards." .

eidos:mechanism-family-advisory a eidos:MechanismFamily ;
  rdfs:label "Advisory prices beside a vote" ;
  skos:inScheme eidos:MechanismFamilyScheme ;
  eidos:note "Conditional prices are shown beside the organization's own vote, which remains free to ignore them. Not a binding decision market." .

eidos:engine-metadao a eidos:DecisionMarketEngine ;
  rdfs:label "MetaDAO" ;
  skos:inScheme eidos:DecisionMarketEngineScheme ;
  eidos:engineId "metadao" ;
  eidos:engineCoverage "indexed" ;
  eidos:sourceUrl "https://docs.metadao.fi" .

eidos:deployment-futardio a eidos:EngineDeployment ;
  rdfs:label "Futardio" .

eidos:engine-combinator a eidos:DecisionMarketEngine ;
  rdfs:label "Combinator" ;
  skos:inScheme eidos:DecisionMarketEngineScheme ;
  eidos:engineId "combinator" ;
  eidos:engineCoverage "decoded" ;
  eidos:sourceUrl "https://www.combinator.trade/" .

eidos:deployment-fairscale a eidos:EngineDeployment ;
  rdfs:label "FairScale" .

eidos:deployment-star a eidos:EngineDeployment ;
  rdfs:label "Star" .

eidos:deployment-surfcash a eidos:EngineDeployment ;
  rdfs:label "SurfCash" .

eidos:deployment-spark a eidos:EngineDeployment ;
  rdfs:label "Spark" .

eidos:engine-butter a eidos:DecisionMarketEngine ;
  rdfs:label "Butter" ;
  skos:inScheme eidos:DecisionMarketEngineScheme ;
  eidos:engineId "butter" ;
  eidos:engineCoverage "decoded" ;
  eidos:sourceUrl "https://www.uniswapfoundation.org/conditional-funding-markets" .

eidos:engine-umia a eidos:DecisionMarketEngine ;
  rdfs:label "Umia" ;
  skos:inScheme eidos:DecisionMarketEngineScheme ;
  eidos:engineId "umia" ;
  eidos:engineCoverage "decoded" ;
  eidos:sourceUrl "https://www.umia.finance/docs/decision-markets" .

eidos:engine-futarchy-fi a eidos:DecisionMarketEngine ;
  rdfs:label "Futarchy.fi" ;
  skos:inScheme eidos:DecisionMarketEngineScheme ;
  eidos:engineId "futarchy-fi" ;
  eidos:engineCoverage "decoded" ;
  eidos:sourceUrl "https://docs.futarchy.fi/dao/" .

eidos:onchain-twap-accumulator a eidos:OnchainConstruct ;
  rdfs:label "TWAP accumulator" ;
  eidos:definition "Decoded from confirmed MetaDAO Futarchy v0.6 program accounts by the live read." .

eidos:onchain-conditional-amm-pair a eidos:OnchainConstruct ;
  rdfs:label "Conditional AMM pair" ;
  eidos:definition "Decoded from confirmed MetaDAO Futarchy v0.6 program accounts by the live read." .

eidos:onchain-dao-account a eidos:OnchainConstruct ;
  rdfs:label "DAO account (configured threshold)" ;
  eidos:definition "Decoded from confirmed MetaDAO Futarchy v0.6 program accounts by the live read." .

eidos:onchain-proposal-stake a eidos:OnchainConstruct ;
  rdfs:label "Proposal stake" ;
  eidos:definition "Decoded from confirmed MetaDAO Futarchy v0.6 program accounts by the live read." .

# ── governance: statements ────────────────────────────────────────────

eidos:mechanism-futarchy eidos:hasComponent eidos:component-welfare-metric .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-conditional-market-pair .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-twap-oracle .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-decision-rule .
eidos:component-full-window-twap-rule eidos:variantOf eidos:component-decision-rule .
eidos:component-terminal-window-twap-rule eidos:variantOf eidos:component-decision-rule .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-stake-requirement .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-alignment-signal .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-execution-binding .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-gatekeeper-role .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-proposal-specification .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-delivery-enforcement .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-corrective-participation-access .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-branch-independence .
eidos:mechanism-futarchy eidos:hasComponent eidos:component-causal-assumption-transparency .
eidos:metadao-futarchy-v0-6 eidos:implements eidos:mechanism-futarchy .
eidos:metadao-futarchy-v0-6 eidos:executesAs eidos:execution-binding .
eidos:metadao-futarchy-v0-6 eidos:usesRule eidos:component-full-window-twap-rule .
eidos:kleros-kip-76 eidos:implements eidos:mechanism-futarchy .
eidos:kleros-kip-76 eidos:executesAs eidos:execution-binding .
eidos:kleros-kip-76 eidos:usesRule eidos:component-terminal-window-twap-rule .
eidos:gnosis-gip-145 eidos:implements eidos:mechanism-futarchy .
eidos:gnosis-gip-145 eidos:executesAs eidos:execution-advisory .
eidos:optimism-futarchy-v1 eidos:implements eidos:mechanism-futarchy .
eidos:optimism-futarchy-v1 eidos:executesAs eidos:execution-advisory .
eidos:venue-metadao-conditional-amm eidos:venueOnChain eidos:chain-solana-mainnet-beta .
eidos:venue-combinator-amm eidos:venueOnChain eidos:chain-solana-mainnet-beta .
eidos:venue-umia-market-core eidos:venueOnChain eidos:chain-base .
eidos:venue-uniswap-v2-unichain eidos:venueOnChain eidos:chain-unichain .
eidos:venue-uniswap-v4-unichain eidos:venueOnChain eidos:chain-unichain .
eidos:venue-swapr-gnosis eidos:venueOnChain eidos:chain-gnosis .
eidos:mechanism-family-binary-token-value eidos:hasStandardOption eidos:option-binary-pass .
eidos:mechanism-family-binary-token-value eidos:hasStandardOption eidos:option-binary-fail .
eidos:engine-metadao eidos:runsOnChain eidos:chain-solana-mainnet-beta .
eidos:engine-metadao eidos:hasMechanismFamily eidos:mechanism-family-binary-token-value .
eidos:engine-metadao eidos:bindsAs eidos:execution-binding .
eidos:engine-metadao eidos:tradesOn eidos:venue-metadao-conditional-amm .
eidos:venue-metadao-conditional-amm eidos:ownVenueOf eidos:engine-metadao .
eidos:deployment-futardio eidos:deploymentOf eidos:engine-metadao .
eidos:metadao-futarchy-v0-6 eidos:ruleOfEngine eidos:engine-metadao .
eidos:engine-combinator eidos:runsOnChain eidos:chain-solana-mainnet-beta .
eidos:engine-combinator eidos:hasMechanismFamily eidos:mechanism-family-multi-option-token-value .
eidos:engine-combinator eidos:bindsAs eidos:execution-binding .
eidos:engine-combinator eidos:tradesOn eidos:venue-combinator-amm .
eidos:venue-combinator-amm eidos:ownVenueOf eidos:engine-combinator .
eidos:deployment-fairscale eidos:deploymentOf eidos:engine-combinator .
eidos:deployment-star eidos:deploymentOf eidos:engine-combinator .
eidos:deployment-surfcash eidos:deploymentOf eidos:engine-combinator .
eidos:deployment-spark eidos:deploymentOf eidos:engine-combinator .
eidos:engine-butter eidos:runsOnChain eidos:chain-unichain .
eidos:engine-butter eidos:hasMechanismFamily eidos:mechanism-family-outcome-judged-funding .
eidos:engine-butter eidos:bindsAs eidos:execution-binding .
eidos:engine-butter eidos:tradesOn eidos:venue-uniswap-v2-unichain .
eidos:engine-butter eidos:tradesOn eidos:venue-uniswap-v4-unichain .
eidos:optimism-futarchy-v1 eidos:ruleOfEngine eidos:engine-butter .
eidos:engine-umia eidos:runsOnChain eidos:chain-base .
eidos:engine-umia eidos:hasMechanismFamily eidos:mechanism-family-multi-option-token-value .
eidos:engine-umia eidos:bindsAs eidos:execution-binding .
eidos:engine-umia eidos:tradesOn eidos:venue-umia-market-core .
eidos:venue-umia-market-core eidos:ownVenueOf eidos:engine-umia .
eidos:engine-futarchy-fi eidos:runsOnChain eidos:chain-gnosis .
eidos:engine-futarchy-fi eidos:hasMechanismFamily eidos:mechanism-family-advisory .
eidos:engine-futarchy-fi eidos:bindsAs eidos:execution-advisory .
eidos:engine-futarchy-fi eidos:tradesOn eidos:venue-swapr-gnosis .
eidos:gnosis-gip-145 eidos:ruleOfEngine eidos:engine-futarchy-fi .
eidos:governance-program-futarelbfjfq8rdghg1wdhddq1odmajuephfubyfuxkq eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-autour3cqza3d4qret6std2mtomfzvreecc5qh7ivw5 eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-autowmzcbm29yxmgvg3t62hkgo7rcyrvgqqkd54fdql eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-autoqp9rmunkzzkrxsmkwicdvz3h29vvymdcayjcxxg eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-metark9dubnradzn6uudkvxbvkw5pycbpvmltuzwtbp eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-metax99lhn3a7gr7vaccfxhpfocvpmpqq3eyp3pguuq eidos:programOfEngine eidos:engine-metadao .
eidos:governance-program-meta3cxkzfbmwygcvozmvcqas3y9b3fgxrg9hkhl7wi eidos:programOfEngine eidos:engine-metadao .
eidos:onchain-twap-accumulator eidos:realizesComponent eidos:component-twap-oracle .
eidos:onchain-conditional-amm-pair eidos:realizesComponent eidos:component-conditional-market-pair .
eidos:onchain-dao-account eidos:realizesComponent eidos:component-decision-rule .
eidos:onchain-proposal-stake eidos:realizesComponent eidos:component-stake-requirement .

# ════ observation module (https://eidos.software/ontology/observation) ═════════════════════════════

# ── observation: classes ──────────────────────────────────────────────

eidos:Market a owl:Class ;
  rdfs:label "Market" ;
  rdfs:subClassOf sosa:FeatureOfInterest ;
  rdfs:comment "One market the tape observes, by chain, market kind and market id: an organization's token on the spot kind, a proposal's conditional pool, an engine's option. The fact rows that observe it name these three columns." .

eidos:Observation a owl:Class ;
  rdfs:label "Observation" ;
  rdfs:subClassOf sosa:Observation ;
  rdfs:comment "One approved observation the history publishes: a series' value for one market at one instant, with when it became known and the provenance that admitted it." .

eidos:ObservationSeries a owl:Class ;
  rdfs:label "Observation series" ;
  rdfs:subClassOf sosa:ObservableProperty ;
  owl:disjointUnionOf ( eidos:PublishedSeries eidos:CrossCheckSeries ) ;
  rdfs:comment "One measured property on the append-only observation tape — what a reading of fdv or price-usd means — keyed per market as (chain, venue, market, series, ts). The tape records every reading; the rollup decides which readings are published, and a row naming a disproven derivation is recorded but never published or measured against." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:series-price-usd eidos:series-market-cap-usd eidos:series-fdv-usd eidos:series-volume-24h-usd eidos:series-provider-change-24h-pct eidos:series-circulating-supply eidos:series-total-supply eidos:series-largest-holder-pct eidos:series-top-10-holders-pct eidos:series-tracked-organization-count eidos:series-live-organization-count eidos:series-cited-treasury-usd eidos:series-quoted-market-cap-usd eidos:series-launched-organization-count eidos:series-launched-organization-market-cap-usd eidos:series-launched-organization-fdv-usd eidos:series-dao-vault-usd eidos:series-pending-market-count eidos:series-funded-draft-count eidos:series-program-proposal-count eidos:series-dao-vault-balance-usd eidos:series-final-pass-twap eidos:series-final-fail-twap eidos:series-threshold-pct eidos:series-pass-twap eidos:series-fail-twap eidos:series-pass-spot eidos:series-fail-spot eidos:series-pass-base-reserve eidos:series-pass-quote-reserve eidos:series-fail-base-reserve eidos:series-fail-quote-reserve eidos:series-option-twap eidos:series-option-spot ) .

eidos:ObservationSeriesScheme a skos:ConceptScheme ;
  rdfs:label "Observation series scheme" ;
  rdfs:comment "The registered members of ObservationSeries, as a SKOS scheme: each individual states skos:inScheme." .

eidos:PublishedSeries a owl:Class ;
  rdfs:label "Published series" ;
  rdfs:subClassOf eidos:ObservationSeries ;
  rdfs:comment "A series rendered on a public surface as our own measurement, against baselines the tape itself holds." .

eidos:CrossCheckSeries a owl:Class ;
  rdfs:label "Cross-check series" ;
  rdfs:subClassOf eidos:ObservationSeries ;
  owl:disjointWith eidos:PublishedSeries ;
  rdfs:comment "A recorded claim — a provider's own figure or a raw input — kept to verify a published series against and never rendered as ours. The disjointness is the 24h-column rule as logic: someone else's measurement, against a baseline we cannot name, cannot also be a series we publish." .

eidos:CoverageLane a owl:Class ;
  rdfs:label "Coverage lane" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:lane-price eidos:lane-caps eidos:lane-fdv eidos:lane-treasury eidos:lane-counts eidos:lane-vaults eidos:lane-proposals eidos:lane-windows ) ] ;
  rdfs:comment "A chart-bearing group of series that answer one question together; the lane is as deep as its shallowest member. Closed enumeration: the depth readout, the rollup, and the charts bind on exactly these lanes. The only sense of lane in this vocabulary; a review is a review." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:lane-price eidos:lane-caps eidos:lane-fdv eidos:lane-treasury eidos:lane-counts eidos:lane-vaults eidos:lane-proposals eidos:lane-windows ) .

eidos:CoverageLaneScheme a skos:ConceptScheme ;
  rdfs:label "Coverage lane scheme" ;
  rdfs:comment "The closed members of CoverageLane, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ProvenanceMethod a owl:Class ;
  rdfs:label "Provenance method" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:method-live-collection eidos:method-chain-replay eidos:method-dated-source eidos:method-derived-step ) ] ;
  rdfs:comment "How rows come to exist, ordered by what the claim rests on: live collection, exact chain replay, a source's own dated readings, or a derived step over dated events. Only live collection earns unmarked depth; everything else is borrowed reach and says so." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:method-live-collection eidos:method-chain-replay eidos:method-dated-source eidos:method-derived-step ) .

eidos:ProvenanceMethodScheme a skos:ConceptScheme ;
  rdfs:label "Provenance method scheme" ;
  rdfs:comment "The closed members of ProvenanceMethod, as a SKOS scheme: each individual states skos:inScheme." .

eidos:DisprovenDerivation a owl:Class ;
  rdfs:label "Disproven derivation" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A derivation a measurement closed. The tape keeps every row that names one — the record is the point — and the rollup publishes none of them, as a value, as history, or as a baseline. Each member carries the measurement that closed it; an entry scoped to a series, a market, or the time before a stated cutoff disproves only those readings, because a source that resolved the wrong asset for one member is not thereby wrong for the members it resolved correctly, and a feed that was fixed on a known day is not wrong for the days after it." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:disproven-implied-supply eidos:disproven-live-count-status-history eidos:disproven-zklsol-contract-lookup eidos:disproven-feed-cap-fdv-flip eidos:disproven-ranger-quote-source-flips eidos:disproven-metadao-dust-swap-stretch eidos:disproven-last-swap-dust-print eidos:disproven-ore-implausible-pool-volume ) .

eidos:DisprovenDerivationScheme a skos:ConceptScheme ;
  rdfs:label "Disproven derivation scheme" ;
  rdfs:comment "The registered members of DisprovenDerivation, as a SKOS scheme: each individual states skos:inScheme." .

eidos:CollectorSource a owl:Class ;
  rdfs:label "Collector source" ;
  rdfs:subClassOf sosa:Sensor ;
  rdfs:comment "One upstream the collector reads, as its attempts record it: the lanes it serves, when it was first and last asked, and whether it was retired and by what." .

eidos:CalendarDate a owl:Class ;
  rdfs:label "Calendar date" ;
  rdfs:subClassOf time:DateTimeDescription ;
  rdfs:comment "One UTC calendar day in the span the run observed: the conformed day facts are grouped by." .

eidos:WindowStage a owl:Class ;
  rdfs:label "Window stage" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:window-stage-queued eidos:window-stage-recording eidos:window-stage-closing eidos:window-stage-settling ) ] ;
  rdfs:comment "Where a recording window sits as the app watches it: queued (a market whose TWAP has not started), recording, closing (the final quarter of the window) and settling (closed, not yet finalized). One list (src/desk-watch-core.ts) for the watcher, the alerts and every table; the other words pages used — resolved, past, decided, awaiting finalization — are not states." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:window-stage-queued eidos:window-stage-recording eidos:window-stage-closing eidos:window-stage-settling ) .

eidos:WindowStageScheme a skos:ConceptScheme ;
  rdfs:label "Window stage scheme" ;
  rdfs:comment "The closed members of WindowStage, as a SKOS scheme: each individual states skos:inScheme." .

eidos:RecordingWindow a owl:Class ;
  rdfs:label "Recording window" ;
  rdfs:subClassOf time:ProperInterval ;
  rdfs:comment "A proposal's recording window: the threshold, the pass and fail TWAPs, the state the window reached, and its times, which are of two kinds that are not interchangeable. The public object (/api/live-proposals) carries openedAt and closesAt, the proposal's scheduled open and close as its account states them, the same instants as the decision's decisionOpenedAt and decisionClosesAt. The warehouse relation carries what the tape observed instead, windowTwapStartedAt and windowLastTickAt, and never the schedule. The object a forecast is recorded against and a filing will be made before." .

# ── observation: object and annotation properties ─────────────────────

eidos:inCoverageLane a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:ObservationSeries ;
  rdfs:range eidos:CoverageLane ;
  rdfs:comment "The chart-bearing lane a series answers within. Lanes are cut at the granularity the consuming charts bind at, because a lane grouped wider than its charts is how one stale point once read as a month of depth. A series outside every lane is a table cell or a cross-check, never a chart." .

eidos:crossChecks a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:CrossCheckSeries ;
  rdfs:range eidos:PublishedSeries ;
  rdfs:comment "The published series a recorded claim exists to verify. The edge points from the claim to our measurement, never the reverse: the provider's figure is compared against ours and is not an input to it." .

eidos:windowStage a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:RecordingWindow ;
  rdfs:range eidos:WindowStage ;
  rdfs:comment "Where a window sits as the app watches it: queued before its TWAP starts, recording, closing in the final quarter, settling after the close until finalization. One list, shared by the watcher, the alerts and every table." .

eidos:refusesSeries a owl:ObjectProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range eidos:ObservationSeries ;
  rdfs:comment "A series a refusal is scoped to, by IRI. scopedToSeries carries the same scope as the registry's string ids; this edge lets a query join it to the series node." .

eidos:decisionHasWindow a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:RecordingWindow ;
  owl:inverseOf eidos:windowOfDecision ;
  rdfs:comment "has recording window (one-or-none; asserted by tape, append-and-supersede, as-of-known-time). The recording window of the decision: MetaDAO proposals only today, keyed by the same account; the other engines' windows are series on the tape and not yet window objects. The public resolver (/api/live-proposals) answers for every proposal the published snapshot holds; the warehouse relation holds a row only for a window the tape read, so there it may be absent." .

eidos:proposalHasWindow a owl:ObjectProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range eidos:RecordingWindow ;
  rdfs:subPropertyOf eidos:decisionHasWindow ;
  rdfs:comment "has recording window (one-or-none; asserted by tape, append-and-supersede, as-of-known-time). The lifecycle the tape records for this proposal: each state transition is a new row with the time it became known; the latest is the window's current state. MetaDAO's form of decision-has-window, and like it one-or-none: the public resolver (/api/live-proposals) answers for every proposal the published snapshot holds, but the warehouse relation (main.window_outlook_windows) holds a row only for a window the tape read, and a proposal it never read, an open one included, has none there." .

eidos:windowOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:RecordingWindow ;
  rdfs:range eidos:Decision ;
  rdfs:comment "window of (one; asserted by tape, immutable, at-read). The decision this window belongs to: a MetaDAO decision today, joined by its proposal account, the key both rows hold." .

eidos:marketOfOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range eidos:Organization ;
  rdfs:comment "market of organization (one-or-none; asserted by warehouse, re-derived-per-seal, at-read). The tracked organization whose token or decision the market prices; absent for a market no registry names." .

eidos:marketOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range eidos:Decision ;
  rdfs:comment "market of decision (one-or-none; asserted by warehouse, re-derived-per-seal, at-read). The decision this market trades, joined by engine, canonical chain and decision id on every decoded engine. Spot, vault and KPI markets have no decision." .

eidos:marketHasObservations a owl:ObjectProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range eidos:Observation ;
  rdfs:subPropertyOf sosa:isFeatureOfInterestOf ;
  rdfs:comment "has observations (many; asserted by tape, append-and-supersede, as-of-known-time). Every approved observation of the market." .

eidos:observationOfMarket a owl:ObjectProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range eidos:Market ;
  rdfs:subPropertyOf sosa:hasFeatureOfInterest ;
  owl:inverseOf eidos:marketHasObservations ;
  rdfs:comment "observes market (one; asserted by tape, immutable, at-read). The market the value was read from." .

# ── observation: datatype properties ──────────────────────────────────

eidos:calendarDay a owl:DatatypeProperty ;
  rdfs:domain eidos:CalendarDate ;
  rdfs:range xsd:date ;
  rdfs:comment "The UTC day. Bound to main.dim_date.date_day." .

eidos:calendarIsoWeek a owl:DatatypeProperty ;
  rdfs:domain eidos:CalendarDate ;
  rdfs:range xsd:string ;
  rdfs:comment "Its ISO week, as YYYY-Www. Bound to main.dim_date.iso_week." .

eidos:calendarIsWeekend a owl:DatatypeProperty ;
  rdfs:domain eidos:CalendarDate ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether it is a Saturday or Sunday. Bound to main.dim_date.is_weekend." .

eidos:calendarMonth a owl:DatatypeProperty ;
  rdfs:domain eidos:CalendarDate ;
  rdfs:range xsd:integer ;
  rdfs:comment "Its month, 1 to 12. Bound to main.dim_date.month." .

eidos:calendarYear a owl:DatatypeProperty ;
  rdfs:domain eidos:CalendarDate ;
  rdfs:range xsd:integer ;
  rdfs:comment "Its year. Bound to main.dim_date.year." .

eidos:consumers a owl:DatatypeProperty ;
  rdfs:domain eidos:CoverageLane ;
  rdfs:range xsd:string .

eidos:disprovenBefore a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:dateTime .

eidos:disprovenFrom a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:dateTime .

eidos:disprovenSignature a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:string .

eidos:episodic a owl:DatatypeProperty ;
  rdfs:domain eidos:CoverageLane ;
  rdfs:range xsd:boolean .

eidos:marketApprovedObservationCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:integer ;
  rdfs:comment "How many of them the admission rules approved: the readings the Observation class and approved_history hold. Bound to main.dim_market.approved_observations." .

eidos:marketChain a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:string ;
  rdfs:comment "The chain the market trades on. Bound to main.dim_market.chain." .

eidos:marketEngine a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:string ;
  rdfs:comment "The decision market engine, for a market an engine runs. Bound to main.dim_market.engine." .

eidos:marketEntityType a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:string ;
  rdfs:comment "What the market prices: an organization's token, a proposal's pass or fail side, an engine option. Bound to main.dim_market.entity_type." .

eidos:marketFirstApprovedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The first approved observation's time; absent where none was approved. Bound to main.dim_market.first_approved_at." .

eidos:marketFirstObservedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The first observation's time, approved or not. Bound to main.dim_market.first_observed_at." .

eidos:marketIdentifier a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:string ;
  rdfs:comment "The market's id on its venue (a slug, a pool account, an option). Bound to main.dim_market.market_id." .

eidos:marketKind a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:string ;
  rdfs:comment "The kind of market the market id names on its chain: spot, token-spot, dao-vaults, desk-kpi, metadao-futarchy, or a decoded engine's id (the tape's market_kind column; named venue until 10.0.0). Never a Venue — where the tokens trade is the Venue class. Bound to main.dim_market.market_kind." .

eidos:marketLastApprovedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The newest approved observation's time; absent where none was approved. Bound to main.dim_market.last_approved_at." .

eidos:marketLastObservedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The newest observation's time, approved or not. Bound to main.dim_market.last_observed_at." .

eidos:marketObservationCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Market ;
  rdfs:range xsd:integer ;
  rdfs:comment "How many observations the run holds for the market, approved or withheld: every reading the tape recorded. Bound to main.dim_market.observations." .

eidos:observationKnownAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the tape first held the value. Bound to main.approved_history.known_at (stored as its lexical form)." .

eidos:observationProvenance a owl:DatatypeProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range xsd:string ;
  rdfs:comment "The provenance the admission rules accepted it under. Bound to main.approved_history.provenance." .

eidos:observationSeries a owl:DatatypeProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range xsd:string ;
  rdfs:comment "The series id (series-registry.ts) the value is a reading of. Bound to main.approved_history.series." .

eidos:observedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The instant the value is of. Bound to main.approved_history.ts (stored as its lexical form)." .

eidos:observedValue a owl:DatatypeProperty ;
  rdfs:domain eidos:Observation ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf sosa:hasSimpleResult ;
  rdfs:comment "The value, in the series' unit. Bound to main.approved_history.value." .

eidos:provenancePattern a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:string .

eidos:provenancePrefix a owl:DatatypeProperty ;
  rdfs:domain eidos:ProvenanceMethod ;
  rdfs:range xsd:string .

eidos:scopedToMarket a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:string .

eidos:scopedToSeries a owl:DatatypeProperty ;
  rdfs:domain eidos:DisprovenDerivation ;
  rdfs:range xsd:string .

eidos:seriesId a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:CrossCheckSeries eidos:PublishedSeries ) ] ;
  rdfs:range xsd:string .

eidos:sourceAttempts a owl:DatatypeProperty ;
  rdfs:domain eidos:CollectorSource ;
  rdfs:range xsd:integer ;
  rdfs:comment "How many reads the collector recorded by the cutoff. Bound to main.dim_source.attempts." .

eidos:sourceFirstAttemptAt a owl:DatatypeProperty ;
  rdfs:domain eidos:CollectorSource ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The first recorded read. Bound to main.dim_source.first_attempt_at." .

eidos:sourceIsRetired a owl:DatatypeProperty ;
  rdfs:domain eidos:CollectorSource ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether a recorded retirement stopped the source by the cutoff. Bound to main.dim_source.is_retired." .

eidos:sourceLastAttemptAt a owl:DatatypeProperty ;
  rdfs:domain eidos:CollectorSource ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The newest recorded read. Bound to main.dim_source.last_attempt_at." .

eidos:sourceName a owl:DatatypeProperty ;
  rdfs:domain eidos:CollectorSource ;
  rdfs:range xsd:string ;
  rdfs:comment "The source's id as the collector records it. Bound to main.dim_source.source." .

eidos:unit a owl:DatatypeProperty ;
  rdfs:range xsd:string .

eidos:windowLastTickAt a owl:DatatypeProperty ;
  rdfs:domain eidos:RecordingWindow ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "The last tick the tape holds for the window at the cutoff. Not the proposal's scheduled close (decisionClosesAt): no tape series carries the schedule, and the tape stops reading before or after it. Bound to main.window_outlook_windows.last_tick_at (stored as its lexical form)." .

eidos:windowTwapStartedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:RecordingWindow ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "When the window's TWAP started as the tape saw it: the time of the threshold reading, or the first tick where the tape holds no threshold. Not the proposal's scheduled open (decisionOpenedAt), which comes before it. Bound to main.window_outlook_windows.twap_started_at (stored as its lexical form)." .

# ── observation: individuals (generated from the registries) ──────────

eidos:window-stage-queued a eidos:WindowStage ;
  rdfs:label "queued" ;
  skos:inScheme eidos:WindowStageScheme .

eidos:window-stage-recording a eidos:WindowStage ;
  rdfs:label "recording" ;
  skos:inScheme eidos:WindowStageScheme .

eidos:window-stage-closing a eidos:WindowStage ;
  rdfs:label "closing" ;
  skos:inScheme eidos:WindowStageScheme .

eidos:window-stage-settling a eidos:WindowStage ;
  rdfs:label "settling" ;
  skos:inScheme eidos:WindowStageScheme .

eidos:method-live-collection a eidos:ProvenanceMethod ;
  rdfs:label "Live collection" ;
  skos:inScheme eidos:ProvenanceMethodScheme ;
  eidos:note "The scheduled collector reading a published, schema-validated endpoint at the snapshot's own observation time." ;
  eidos:provenancePrefix "api:" ;
  eidos:provenancePrefix "registry:" .

eidos:method-chain-replay a eidos:ProvenanceMethod ;
  rdfs:label "Chain replay" ;
  skos:inScheme eidos:ProvenanceMethodScheme ;
  eidos:note "Exact reconstruction from confirmed transaction history — determined by dated events, never estimated between them." ;
  eidos:provenancePrefix "solana-rpc:" ;
  eidos:provenancePrefix "replay:" ;
  eidos:provenancePrefix "index:finalization-event" .

eidos:method-dated-source a eidos:ProvenanceMethod ;
  rdfs:label "Dated source" ;
  skos:inScheme eidos:ProvenanceMethodScheme ;
  eidos:note "A source's own dated readings, imported at the source's own resolution and named per row." ;
  eidos:provenancePrefix "coingecko:" ;
  eidos:provenancePrefix "metadao-external-api:" ;
  eidos:provenancePrefix "01resolved:" .

eidos:method-derived-step a eidos:ProvenanceMethod ;
  rdfs:label "Derived step" ;
  skos:inScheme eidos:ProvenanceMethodScheme ;
  eidos:note "A step function over dated events; every intermediate instant carries an exactly-known value, or the row does not exist." ;
  eidos:provenancePrefix "reconstruction:" .

eidos:disproven-implied-supply a eidos:DisprovenDerivation ;
  rdfs:label "implied-supply" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "Implied supply — a market cap divided by a price — was closed by three measurements on 25–26 Aug 2026: the tape's own price/cap overlap implies supplies spread 0.56% to 17,053% across markets, the post-FDV-fix readings still swing 27× on one member in five hours, and every launched mint is mintable so no supply is verifiably fixed. A ±$13M error band on a +$34.7M published move is a wrong number, and the house rule is that a window with no honest baseline is withheld." ;
  eidos:provenancePattern "implied-supply" .

eidos:disproven-live-count-status-history a eidos:DisprovenDerivation ;
  rdfs:label "live-count-status-history" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "A past live count cannot be derived. The organization registry records today's status and no date it changed, so no step function over listings determines what the count was — which is what this series' own note already says. One pre-collection row naming this method reached the tape before the backfill tool was corrected, no shipped code emits the provenance, and the rollup was measuring the published 30-day delta against it while the drawn chart began 2.3 days ago. Refused 27 Aug 2026, so the window withholds until collection earns it." ;
  eidos:provenancePattern "01resolved-status-history" ;
  eidos:scopedToSeries "live-organization-count" .

eidos:disproven-zklsol-contract-lookup a eidos:DisprovenDerivation ;
  rdfs:label "zklsol-contract-lookup" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "The CoinGecko contract lookup resolved a different asset for this member. Its 18 pre-collection rows sit in two flat plateaus, 1.099e-06 and 0.009998, that disagree with each other by 9,099× and with the venue's own quote — 0.149–0.151 since collection began, independently 0.1509 on GeckoTerminal at the same supply the index reads on chain — by four and five orders of magnitude. Scoped to this member: the same source is within 1.6× of the live quote for areal-finance, coal, and superclaw, and those rows keep their reach." ;
  eidos:provenancePattern "coingecko:contract-market-chart-range" ;
  eidos:scopedToSeries "price-usd" ;
  eidos:scopedToMarket "zklsol" .

eidos:disproven-feed-cap-fdv-flip a eidos:DisprovenDerivation ;
  rdfs:label "feed-cap-fdv-flip" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "From collection start on 23 Aug 2026 until the source fix landed on 25 Aug, the quote feed substituted FDV for circulating cap per member per read, so the recorded cap flipped between two levels with no trade behind it: on the tape copy the per-member cap lane carries 328 adjacent reads more than 1.5× apart against 32 on fdv-usd over the same rows, concentrated in the large members (jito-dao 302M↔585M on 24 Aug, 39 flips before the fix and one after; p2p-protocol 51↔1, umbra 41↔0, solomon 40↔0), and the universe sum alternated 543M↔846M all of 24 Aug. The round-trip gate cannot see a 50/50 alternation between two plateaus. The last flipped row is 2026-08-25T21:58:44Z and no aggregate row moves more than 1.3× between reads after 22:14 that day, so the cutoff is the first read of the fixed feed; the reconstructed roster sums over the same rows carry the same defect. Without this entry those rows become the 30-day baseline of both aggregate cards on 22–26 Sep 2026 and the published delta swings by the whole flip within a day." ;
  eidos:provenancePattern "^(?:api:organization-quotes|reconstruction:tape-spot-market-cap-readings)" ;
  eidos:scopedToSeries "market-cap-usd" ;
  eidos:scopedToSeries "quoted-market-cap-usd" ;
  eidos:scopedToSeries "launched-organization-market-cap-usd" ;
  eidos:disprovenBefore "2026-08-25T22:00:00.000Z"^^xsd:dateTime .

eidos:disproven-ranger-quote-source-flips a eidos:DisprovenDerivation ;
  rdfs:label "ranger-quote-source-flips" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "Ranger (RNGR) never had a ticker row, and its only venues were a drained futarchy pool and, from 13 Sep 2026, one meteora pair holding $40.75 of liquidity on $0.71 of daily volume. With no liquidity floor and no staleness check, every read from 25 Aug 2026 published whichever source answered: the price lane on the tape copy is 1,377 rows in 30 interleaved plateaus that alternate between sources within the hour (0.02569 against 0.03021 on 25–26 Aug, 0.004129 against 0.002644 on 27 Aug), then a single Jupiter print from the drained pool, 0.001275 at block 443983644, repeated 596 times from 3 to 13 Sep with receipt time as its timestamp, then the dust pair at 0.02634 — a 20.7× step the provider's own 24h figure (−1.79%) does not contain, published as +1966% on the 24h and 7d columns. Not one plateau is a trade. Scoped to this member: the same provenance is within 7 points of the provider's 24h figure for every other entity. The cutoff is when the quote extractor that withholds stale and dust prints reaches the collector; a row observed after it either carries a real print or was never written." ;
  eidos:provenancePattern "^api:organization-quotes" ;
  eidos:scopedToSeries "price-usd" ;
  eidos:scopedToSeries "market-cap-usd" ;
  eidos:scopedToSeries "fdv-usd" ;
  eidos:scopedToMarket "ranger" ;
  eidos:disprovenBefore "2026-09-15T00:00:00.000Z"^^xsd:dateTime .

eidos:disproven-metadao-dust-swap-stretch a eidos:DisprovenDerivation ;
  rdfs:label "metadao-dust-swap-stretch" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "For two days the last swap of nearly every hour in MetaDAO's pool was a dust swap of 101 units of the quote, so the backfill that read each hour's last swap recorded its ratio instead of a price: 44 of the 48 hourly rows from 06:59 on 21 Aug to 05:59 on 23 Aug 2026 are exactly 101/18 (5.611111), 101/17 (5.941176) or 101/19 (5.315789), and 24 of them sit more than 2% above GeckoTerminal's high–low range for the surrounding hours, 16 by 3–7% (audit of 6 Oct 2026). The four rows between them read inside the range, but they are islands a chart would join into a line across hours no reading measured, so the stretch is refused whole and the chart breaks there: the rows either side, 05:49 on 21 Aug and 06:58 on 23 Aug, are 49 hours apart, past the contiguity tolerance. The other 736 MetaDAO rows from the same backfill keep their reach." ;
  eidos:provenancePattern "^metadao-external-api:dexscreener-events:last-swap-hour$" ;
  eidos:scopedToSeries "price-usd" ;
  eidos:scopedToMarket "metadao" ;
  eidos:disprovenBefore "2026-08-23T06:00:00.000Z"^^xsd:dateTime ;
  eidos:disprovenFrom "2026-08-21T06:00:00.000Z"^^xsd:dateTime .

eidos:disproven-last-swap-dust-print a eidos:DisprovenDerivation ;
  rdfs:label "last-swap-dust-print" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "The method is sound except where the hour's last swap was dust. Measured on 6 Oct 2026 against GeckoTerminal's hourly OHLCV for the same MetaDAO pools, the backfill's 7,709 price rows on 20 members land within 2% of the surrounding hours' high–low range in all but 56 cases, and every one of MetaDAO's 24 misses is an exact small ratio (101/17, 101/18, 101/19); Umbra's 496 and Solomon's 474 rows hold. Exact small ratios are the dust signature: 51 rows carry one with a denominator of 100 or less (46 MetaDAO, 2 Futardio Cult, 2 Umbra, 1 Avici), each too coarse to place the price within 1%, and they are refused wherever they fall. The same dust bot's prints against larger amounts (101/358 on Umbra, 101/770 on Loyal) resolve the price within about 1% and stay. The other 32 misses are not this defect: Paystream's 31 are measured against a different, $14-deep pool, and one Flash Trade print sits 3% below a thin hour's range." ;
  eidos:provenancePattern "^metadao-external-api:dexscreener-events:last-swap-hour$" ;
  eidos:scopedToSeries "price-usd" ;
  eidos:disprovenSignature "An exact ratio of small integers, denominator at most 100: a dust swap's print, whose one-unit step moves the price by 1% or more." .

eidos:disproven-ore-implausible-pool-volume a eidos:DisprovenDerivation ;
  rdfs:label "ore-implausible-pool-volume" ;
  skos:inScheme eidos:DisprovenDerivationScheme ;
  eidos:note "From 5 Oct 2026 ORE's 24h volume summed two thin pools whose stated volume their trades could not have moved: ORE/STONK, averaging 146% of its $7,123 of liquidity a trade, and ORE/GLDx, 45% of its $93,001, while both pools' prices sat at the consensus. On 14 Oct they stated $8.3M of the $9.3M published, against GeckoTerminal's $1.18M for the token. Replaying the archived DexScreener receipts behind every ORE volume reading since receipts began (11 Sep, 3,100 readings; 3,071 reproduce exactly under the rule they were written with, and the other 29, on 6–8 Oct, by 0.2% under an earlier volume rule) finds 566 inflated, the first at 22:45 on 5 Oct and the last at 18:30 on 14 Oct, interleaved with 267 that hold and whose values overlap theirs ($0.84M–$4.4M either way), so neither a value test nor anything finer than the stretch separates them. The stretch is refused whole, 833 readings, so the chart breaks there rather than drawing islands through hours the inflated readings held; the cutoff is the first reading the collector took with the fixed rule (`isImplausibleVolume`), which read $983,844. The 11–12 Sep spike to $7.2M is not this defect: the replay leaves it unchanged, and it rises and falls over 24 hours as a real day's trading does." ;
  eidos:provenancePattern "^api:organization-quotes" ;
  eidos:scopedToSeries "volume-24h-usd" ;
  eidos:scopedToMarket "ore" ;
  eidos:disprovenBefore "2026-10-14T18:45:10.498Z"^^xsd:dateTime ;
  eidos:disprovenFrom "2026-10-05T22:45:16.869Z"^^xsd:dateTime .

eidos:lane-price a eidos:CoverageLane ;
  rdfs:label "price lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "organizations table 24h/7d/30d change columns; the organization page's recorded-history chart, read end to end from the warehouse-history index" ;
  eidos:episodic false .

eidos:lane-caps a eidos:CoverageLane ;
  rdfs:label "caps lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "launched composition stack and the recorded market-cap aggregates" ;
  eidos:episodic false .

eidos:lane-fdv a eidos:CoverageLane ;
  rdfs:label "fdv lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "the Overview's cohort FDV chart, merged with the published as-of index" ;
  eidos:episodic false .

eidos:lane-treasury a eidos:CoverageLane ;
  rdfs:label "treasury lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "cited-treasury KPI chart" ;
  eidos:episodic false .

eidos:lane-counts a eidos:CoverageLane ;
  rdfs:label "counts lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "tracked/live/launched count cards' 30-day indicators" ;
  eidos:episodic false .

eidos:lane-vaults a eidos:CoverageLane ;
  rdfs:label "vaults lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "DAO-vaults KPI card" ;
  eidos:episodic false .

eidos:lane-proposals a eidos:CoverageLane ;
  rdfs:label "proposals lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "proposals KPI charts" ;
  eidos:episodic false .

eidos:lane-windows a eidos:CoverageLane ;
  rdfs:label "windows lane" ;
  skos:inScheme eidos:CoverageLaneScheme ;
  eidos:consumers "proposal window charts and the cohort cards, which also draw replayed windows" ;
  eidos:episodic true .

eidos:series-price-usd a eidos:PublishedSeries ;
  rdfs:label "Spot price" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "price-usd" ;
  eidos:unit "price" ;
  eidos:note "Per-organization token price. Backing series for the organizations table's 24h/7d/30d change columns, measured against the tape's own baselines. Also the Combinator, Umia and futarchy.fi organizations' token prices, and MetaDAO tokens the quote feed does not price (each hour's last precise swap in the DAO's own spot pool, read at the hours its decisions are measured at), keyed by mint or token address under the token-spot market kind on the engine's chain, which the decision outcomes measure from the close." .

eidos:series-market-cap-usd a eidos:PublishedSeries ;
  rdfs:label "Quoted market cap" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "market-cap-usd" ;
  eidos:unit "usd" ;
  eidos:note "Per-organization market cap as the quote states it: the published price times the quote's circulating supply (on-chain total minus registered lock balances where the chain read covers the mint, a feed's figure otherwise; the quote's marketCapBasis names which), never above the FDV. Where the source cannot tell cap from FDV the quote carries marketCapIsFdv and the reading is recorded all the same — the flag rides on the quote, not on this series, because dropping the member would withhold the whole-universe sum on every read. No observation when the quote has no cap, including a cap a quote gate withheld (marketCapWithheld or priceWithheld). The composition stack sums it per registry class at the instants the whole-universe sum was recorded." .

eidos:series-fdv-usd a eidos:PublishedSeries ;
  rdfs:label "Fully diluted valuation" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "fdv-usd" ;
  eidos:unit "usd" ;
  eidos:note "Per-organization FDV as the quote feed states it; a current-value table cell, not a chart series." .

eidos:series-volume-24h-usd a eidos:PublishedSeries ;
  rdfs:label "24h volume" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "volume-24h-usd" ;
  eidos:unit "usd" ;
  eidos:note "Per-organization trailing-24h volume as the quote feed states it: every pool DexScreener lists for the mint, summed, else Jupiter's token-wide buy plus sell volume; never the futarchy pool's alone. No observation when no feed states one, never a zero: a quote whose price stands after both feeds answered without a volume carries volumeWithheld (volume-unstated), and a feed that did not answer leaves the member missing from its series lane." .

eidos:series-provider-change-24h-pct a eidos:CrossCheckSeries ;
  rdfs:label "Provider 24h change" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "provider-change-24h-pct" ;
  eidos:unit "percent" ;
  eidos:note "The provider's own 24h change figure, kept to cross-check the change we measure. Never rendered: measured by someone else, against a baseline we cannot name." .

eidos:series-circulating-supply a eidos:CrossCheckSeries ;
  rdfs:label "Circulating supply" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "circulating-supply" ;
  eidos:unit "token" ;
  eidos:note "The circulating supply a quote's market cap rests on: the mint's on-chain total supply minus the balances registered lock programs hold (src/supply-locks.ts) where the chain read covers the mint, otherwise a feed's stated float. Each feed's own claim is recorded beside it under the feed's provenance, so a cap is checkable against its inputs and the feeds against the chain." .

eidos:series-total-supply a eidos:CrossCheckSeries ;
  rdfs:label "Total supply" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "total-supply" ;
  eidos:unit "token" ;
  eidos:note "The mint's total supply: on-chain getTokenSupply where the chain answered, a feed's claim otherwise, recorded beside circulating supply for the same cross-check. Not collected under the token-spot market kind: the Combinator, Umia and futarchy.fi organizations' tokens carry only price-usd on the tape, because the collector does not ask the engine-token reader for supply or holders (src/engine-token-holders.ts). The reader would take a supply from chain state only (the mint account, or totalSupply() through Multicall3; a bridged futarchy.fi token's is its Ethereum home token's)." .

eidos:series-largest-holder-pct a eidos:PublishedSeries ;
  rdfs:label "Largest holder share" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "largest-holder-pct" ;
  eidos:unit "percent" ;
  eidos:note "Per-organization share of the mint's on-chain total supply held by its largest holder: the twenty largest token accounts (getTokenLargestAccounts), each attributed to its owner, with balances owned by a registered lock program (src/supply-locks.ts) or a known pool vault (src/pool-vaults.ts) reported on the quote apart and never counted as a holder. Published beside the market cap because a chain float counts every token no registered lock holds, whoever holds it. No observation when the quote withholds the reading (holderConcentrationWithheld). Not collected under the token-spot market kind: the Combinator, Umia and futarchy.fi organizations' tokens carry only price-usd on the tape, because the collector does not ask the engine-token reader for supply or holders (src/engine-token-holders.ts). The reader would take Combinator's mints the same way; GNO's and PNK's from Blockscout's holder lists on Ethereum and Gnosis, every listed balance read on chain, summed by address across the two chains with the bridge's custody set apart, and no observation when a holder the indexer did not list could be larger; Umia's tokens have none, since no holder list can be read on Base." .

eidos:series-top-10-holders-pct a eidos:PublishedSeries ;
  rdfs:label "Top-10 holder share" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "top-10-holders-pct" ;
  eidos:unit "percent" ;
  eidos:note "Per-organization share of the mint's on-chain total supply held by its ten largest holders, read and attributed as largest-holder-pct is. No observation when fewer than ten holders appear among the twenty largest accounts of a mint that has more, since the rest are out of sight, or when the quote withholds the reading. Not collected under the token-spot market kind: the Combinator, Umia and futarchy.fi organizations' tokens carry only price-usd on the tape, because the collector does not ask the engine-token reader for supply or holders (src/engine-token-holders.ts)." .

eidos:series-tracked-organization-count a eidos:PublishedSeries ;
  rdfs:label "Tracked organizations" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "tracked-organization-count" ;
  eidos:unit "count" ;
  eidos:note "Registry row count. Reconstructable as an exact step over MetaDAO ticker start dates, which is how its history reaches past the collector's birth." .

eidos:series-live-organization-count a eidos:PublishedSeries ;
  rdfs:label "Live organizations" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "live-organization-count" ;
  eidos:unit "count" ;
  eidos:note "Tracked orgs currently in live status. The registry records today's status, not when it changed, so this lane's honest history starts at collection." .

eidos:series-cited-treasury-usd a eidos:PublishedSeries ;
  rdfs:label "Reported treasury" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "cited-treasury-usd" ;
  eidos:unit "usd" ;
  eidos:note "Sum of 01Resolved's cited treasury figures. A step over editions: the value between editions is exactly what the app cited, so edition-dated history is honest." .

eidos:series-quoted-market-cap-usd a eidos:PublishedSeries ;
  rdfs:label "Quoted market cap (universe)" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "quoted-market-cap-usd" ;
  eidos:unit "usd" ;
  eidos:note "The whole quoted universe summed at complete instants only. Derivable exactly wherever the tape holds a complete instant, and no further: pre-tape history needs supplies nobody can verify and instants no source aligns." .

eidos:series-launched-organization-count a eidos:PublishedSeries ;
  rdfs:label "Launched organizations" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "launched-organization-count" ;
  eidos:unit "count" ;
  eidos:note "Registry count of the launched cohort the app root lists; a step over the same dated listings as the tracked count." .

eidos:series-launched-organization-market-cap-usd a eidos:PublishedSeries ;
  rdfs:label "Cohort market cap" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "launched-organization-market-cap-usd" ;
  eidos:unit "usd" ;
  eidos:note "The launched cohort summed at instants where the whole cohort reported — the cohort's own completeness gate, so an established organization's feed blinking cannot withhold it. Recorded and served on the API; the Overview draws the FDV series instead, because the feed's cap mixes circulating cap and FDV across members." .

eidos:series-launched-organization-fdv-usd a eidos:PublishedSeries ;
  rdfs:label "Cohort FDV" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "launched-organization-fdv-usd" ;
  eidos:unit "usd" ;
  eidos:note "The cohort's fully diluted valuation summed at instants where the whole cohort reported — the one uniformly defined member quantity, and the aggregate the Overview draws. Its 30-day history is the published as-of index at /data/cohort-fdv-index.json until this lane earns the window itself." .

eidos:series-dao-vault-usd a eidos:PublishedSeries ;
  rdfs:label "Cohort treasury cash" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "dao-vault-usd" ;
  eidos:unit "usd" ;
  eidos:note "USD-settled balances across tracked organization vaults. History is exact by transaction replay — a token account's balance cannot change outside a transaction that touches it." .

eidos:series-pending-market-count a eidos:PublishedSeries ;
  rdfs:label "Pending markets" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "pending-market-count" ;
  eidos:unit "count" ;
  eidos:note "Live-proposal lifecycle count; history replayed exactly from confirmed program events." .

eidos:series-funded-draft-count a eidos:PublishedSeries ;
  rdfs:label "Funded drafts" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "funded-draft-count" ;
  eidos:unit "count" ;
  eidos:note "Live-proposal lifecycle count; history replayed exactly from confirmed program events." .

eidos:series-program-proposal-count a eidos:PublishedSeries ;
  rdfs:label "Program proposals" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "program-proposal-count" ;
  eidos:unit "count" ;
  eidos:note "Live-proposal lifecycle count; history replayed exactly from confirmed program events." .

eidos:series-dao-vault-balance-usd a eidos:PublishedSeries ;
  rdfs:label "Treasury cash" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "dao-vault-balance-usd" ;
  eidos:unit "usd" ;
  eidos:note "One DAO account's USD-settled vault balance, exact by transaction replay of the vault's own token account." .

eidos:series-final-pass-twap a eidos:PublishedSeries ;
  rdfs:label "Final pass TWAP" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "final-pass-twap" ;
  eidos:unit "normalized-price" ;
  eidos:note "The pass conditional market's TWAP the program finalized on, recorded once at the finalization instant from the indexed finalization event and its chain signature. The outcome's own number, not a reading during the window." .

eidos:series-final-fail-twap a eidos:PublishedSeries ;
  rdfs:label "Final fail TWAP" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "final-fail-twap" ;
  eidos:unit "normalized-price" ;
  eidos:note "The fail conditional market's TWAP the program finalized on, recorded once at the finalization instant from the indexed finalization event and its chain signature." .

eidos:series-threshold-pct a eidos:PublishedSeries ;
  rdfs:label "Pass threshold" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "threshold-pct" ;
  eidos:unit "percent" ;
  eidos:note "The pass threshold a recording window's finalization must reach — the edge the pass TWAP needs over the fail TWAP — from the proposal's own threshold. A constant per window, recorded once at the window's TWAP start so a cutoff query finds it without a per-read row." .

eidos:series-pass-twap a eidos:PublishedSeries ;
  rdfs:label "Pass TWAP" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "pass-twap" ;
  eidos:unit "normalized-price" ;
  eidos:note "The pass conditional market's TWAP while a recording window is open. Windows are episodic: the series exists only while a market does." .

eidos:series-fail-twap a eidos:PublishedSeries ;
  rdfs:label "Fail TWAP" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "fail-twap" ;
  eidos:unit "normalized-price" ;
  eidos:note "The fail conditional market's TWAP while a recording window is open." .

eidos:series-pass-spot a eidos:PublishedSeries ;
  rdfs:label "Pass spot" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "pass-spot" ;
  eidos:unit "normalized-price" ;
  eidos:note "The pass conditional market's spot print." .

eidos:series-fail-spot a eidos:PublishedSeries ;
  rdfs:label "Fail spot" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "fail-spot" ;
  eidos:unit "normalized-price" ;
  eidos:note "The fail conditional market's spot print." .

eidos:series-pass-base-reserve a eidos:PublishedSeries ;
  rdfs:label "Pass base reserve" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "pass-base-reserve" ;
  eidos:unit "token" ;
  eidos:note "The pass pool's base reserve; the flip-cost scenario's input." .

eidos:series-pass-quote-reserve a eidos:PublishedSeries ;
  rdfs:label "Pass quote reserve" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "pass-quote-reserve" ;
  eidos:unit "token" ;
  eidos:note "The pass pool's quote reserve; the flip-cost scenario's input." .

eidos:series-fail-base-reserve a eidos:PublishedSeries ;
  rdfs:label "Fail base reserve" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "fail-base-reserve" ;
  eidos:unit "token" ;
  eidos:note "The fail pool's base reserve; the flip-cost scenario's input." .

eidos:series-fail-quote-reserve a eidos:PublishedSeries ;
  rdfs:label "Fail quote reserve" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "fail-quote-reserve" ;
  eidos:unit "token" ;
  eidos:note "The fail pool's quote reserve; the flip-cost scenario's input." .

eidos:series-option-twap a eidos:PublishedSeries ;
  rdfs:label "Option TWAP" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "option-twap" ;
  eidos:unit "price" ;
  eidos:note "One option's time-weighted conditional price on an engine beyond MetaDAO, keyed <decision>#<option>, while its window is open: Combinator's pool oracle in its raw observation units, Umia's money per venture token. Engines price in their own units, so options compare within a decision, never across engines." .

eidos:series-option-spot a eidos:PublishedSeries ;
  rdfs:label "Option spot" ;
  skos:inScheme eidos:ObservationSeriesScheme ;
  eidos:seriesId "option-spot" ;
  eidos:unit "price" ;
  eidos:note "One option's current conditional price on an engine beyond MetaDAO, keyed <decision>#<option>, while its window is open: Combinator's last pool price (raw units), Umia's money per venture token, Butter's long-token price as the market's expected share of the metric's range." .

# ── observation: statements ───────────────────────────────────────────

eidos:disproven-live-count-status-history eidos:refusesSeries eidos:series-live-organization-count .
eidos:disproven-zklsol-contract-lookup eidos:refusesSeries eidos:series-price-usd .
eidos:disproven-feed-cap-fdv-flip eidos:refusesSeries eidos:series-market-cap-usd .
eidos:disproven-feed-cap-fdv-flip eidos:refusesSeries eidos:series-quoted-market-cap-usd .
eidos:disproven-feed-cap-fdv-flip eidos:refusesSeries eidos:series-launched-organization-market-cap-usd .
eidos:disproven-ranger-quote-source-flips eidos:refusesSeries eidos:series-price-usd .
eidos:disproven-ranger-quote-source-flips eidos:refusesSeries eidos:series-market-cap-usd .
eidos:disproven-ranger-quote-source-flips eidos:refusesSeries eidos:series-fdv-usd .
eidos:disproven-metadao-dust-swap-stretch eidos:refusesSeries eidos:series-price-usd .
eidos:disproven-last-swap-dust-print eidos:refusesSeries eidos:series-price-usd .
eidos:disproven-ore-implausible-pool-volume eidos:refusesSeries eidos:series-volume-24h-usd .
eidos:series-price-usd eidos:inCoverageLane eidos:lane-price .
eidos:series-market-cap-usd eidos:inCoverageLane eidos:lane-caps .
eidos:series-provider-change-24h-pct eidos:crossChecks eidos:series-price-usd .
eidos:series-circulating-supply eidos:crossChecks eidos:series-market-cap-usd .
eidos:series-total-supply eidos:crossChecks eidos:series-fdv-usd .
eidos:series-tracked-organization-count eidos:inCoverageLane eidos:lane-counts .
eidos:series-live-organization-count eidos:inCoverageLane eidos:lane-counts .
eidos:series-cited-treasury-usd eidos:inCoverageLane eidos:lane-treasury .
eidos:series-quoted-market-cap-usd eidos:inCoverageLane eidos:lane-caps .
eidos:series-launched-organization-count eidos:inCoverageLane eidos:lane-counts .
eidos:series-launched-organization-market-cap-usd eidos:inCoverageLane eidos:lane-caps .
eidos:series-launched-organization-fdv-usd eidos:inCoverageLane eidos:lane-fdv .
eidos:series-dao-vault-usd eidos:inCoverageLane eidos:lane-vaults .
eidos:series-pending-market-count eidos:inCoverageLane eidos:lane-proposals .
eidos:series-funded-draft-count eidos:inCoverageLane eidos:lane-proposals .
eidos:series-program-proposal-count eidos:inCoverageLane eidos:lane-proposals .
eidos:series-pass-twap eidos:inCoverageLane eidos:lane-windows .
eidos:series-fail-twap eidos:inCoverageLane eidos:lane-windows .

# ════ evidence module (https://eidos.software/ontology/evidence) ════════════════════════════════

# ── evidence: classes ─────────────────────────────────────────────────

eidos:DiligenceAnswer a owl:Class ;
  rdfs:label "Diligence answer" ;
  rdfs:comment "One organization's answer to one fixed diligence question (src/diligence-questions.ts): its state (answered, not checked, not disclosed, not applicable), how many sourced facts it carries and when they were observed, and whether every fact is inside the question's re-check window at the run's cutoff. Never a grade: the facts are values, and an answer's state says what Eidos holds, not what the organization is worth." .

eidos:Review a owl:Class ;
  rdfs:label "Review" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:review-evidence eidos:review-attack eidos:review-market eidos:review-playbooks eidos:review-learning eidos:review-claims ) ] ;
  rdfs:comment "One of the historical reviews — Evidence, Attack, Market, Playbooks, Learning, Claims — that filed decision records, each with a versioned contract and the boundaries it refuses to cross. Closed and pairwise distinct: exactly the enumerated reviews, so a seventh asserted distinct from these six is a contradiction rather than merely an unlisted name. The individuals are named by role (review-evidence … review-claims) since 10.0.0; the colour ids the roster was first recorded under were migrated out of every stored finding on 4 October 2026." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:review-evidence eidos:review-attack eidos:review-market eidos:review-playbooks eidos:review-learning eidos:review-claims ) .

eidos:ReviewScheme a skos:ConceptScheme ;
  rdfs:label "Review scheme" ;
  rdfs:comment "The closed members of Review, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ReviewRoster a owl:Class ;
  rdfs:label "Review roster" ;
  rdfs:subClassOf skos:Collection ;
  rdfs:comment "One released set of review contracts, versioned as a whole and pinned by a digest. It exists because a per-review contract version cannot describe the roster: adding, retiring, or renaming a review moves no surviving review's version, so a finding stamped only with its own review's version cannot say which roster it belonged to. A stored finding names its roster through filedUnderRoster and stays re-readable after the contracts have moved on." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:roster-1-0-0 eidos:roster-1-0-1 eidos:roster-1-0-2 eidos:roster-1-0-3 eidos:roster-1-0-4 eidos:roster-1-1-0 eidos:roster-1-2-0 eidos:roster-1-3-0 eidos:roster-1-4-0 eidos:roster-1-4-1 eidos:roster-1-4-2 eidos:roster-2-0-0 eidos:roster-3-0-0 ) .

eidos:RosterStatus a owl:Class ;
  rdfs:label "Roster status" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:roster-status-filed eidos:roster-status-withheld eidos:roster-status-standing ) ] ;
  rdfs:comment "A review's roster answer for one decision at one time: filed, withheld or standing — the status every stored finding carries, spelled as every page prints it (filed was stored as complete until 10.0.0). Not a Classification: that is one monitored vector's state, and a finding may carry both." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:roster-status-filed eidos:roster-status-withheld eidos:roster-status-standing ) .

eidos:RosterStatusScheme a skos:ConceptScheme ;
  rdfs:label "Roster status scheme" ;
  rdfs:comment "The closed members of RosterStatus, as a SKOS scheme: each individual states skos:inScheme." .

eidos:AnalyticalInstrument a owl:Class ;
  rdfs:label "Analytical instrument" ;
  rdfs:subClassOf prov:Plan ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:analytical-instrument-disclosures eidos:analytical-instrument-participation eidos:analytical-instrument-market-selection eidos:analytical-instrument-selection-rule eidos:analytical-instrument-closing-window eidos:analytical-instrument-prior-decisions eidos:analytical-instrument-measured-outcome eidos:analytical-instrument-recycled-stake-treasury-extraction eidos:analytical-instrument-late-window-outcome-steering eidos:analytical-instrument-wash-volume-alignment-inflation eidos:analytical-instrument-coordinated-multiwallet-stake-assembly ) ] ;
  rdfs:comment "A registered versioned calculation or detector with its own input requirements. Methods answer distinct questions; a missing input withholds that result without suppressing other applicable instruments." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:analytical-instrument-disclosures eidos:analytical-instrument-participation eidos:analytical-instrument-market-selection eidos:analytical-instrument-selection-rule eidos:analytical-instrument-closing-window eidos:analytical-instrument-prior-decisions eidos:analytical-instrument-measured-outcome eidos:analytical-instrument-recycled-stake-treasury-extraction eidos:analytical-instrument-late-window-outcome-steering eidos:analytical-instrument-wash-volume-alignment-inflation eidos:analytical-instrument-coordinated-multiwallet-stake-assembly ) .

eidos:AnalyticalInstrumentScheme a skos:ConceptScheme ;
  rdfs:label "Analytical instrument scheme" ;
  rdfs:comment "The closed members of AnalyticalInstrument, as a SKOS scheme: each individual states skos:inScheme." .

eidos:AnalyticalRun a owl:Class ;
  rdfs:label "Analytical run" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "An immutable calculation over retained decision inputs, with versioned instruments, evidence coverage, results and interpretations. Corrections append and supersede; historical runs remain available." .

eidos:AnalyticalResult a owl:Class ;
  rdfs:label "Analytical result" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "An instrument-specific measurement or finding with evidence references, version, applicability, availability, completeness and freshness. Each result stands on its own evidence requirements." .

eidos:Interpretation a owl:Class ;
  rdfs:label "Interpretation" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A sourced statement over identified analytical results, distinguishing observations, derivations and hypotheses and naming limitations and revision conditions." .

eidos:EvidenceContribution a owl:Class ;
  rdfs:label "Evidence contribution" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A source-linked proposed correction with author, review history and sharing scope. Acceptance recomputes affected results and preserves the original record." .

eidos:Finding a owl:Class ;
  rdfs:label "Finding" ;
  rdfs:subClassOf schema:Review ;
  owl:disjointWith eidos:AttackVector ;
  rdfs:comment "One review's answer for one decision, filed by the review that made it. Findings stay in their review; the roster never folds them into a composite score." .

eidos:VectorFinding a owl:Class ;
  rdfs:label "Vector finding" ;
  rdfs:subClassOf eidos:Finding ;
  rdfs:comment "A review finding that classifies exactly one monitored vector. Other review findings need not classify." .

eidos:AttackVector a owl:Class ;
  rdfs:label "Attack vector" ;
  rdfs:subClassOf [ a owl:Restriction ; owl:onProperty eidos:exploitsComponent ; owl:cardinality "1"^^xsd:nonNegativeInteger ] ;
  rdfs:comment "A versioned economic attack mechanism. A vector describes a reusable mechanism, never an incident." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:recycled-stake-treasury-extraction eidos:late-window-outcome-steering eidos:wash-volume-alignment-inflation eidos:coordinated-multiwallet-stake-assembly eidos:terminal-window-twap-capture eidos:advisory-signal-inflation eidos:resistance-contingent-delivery eidos:conditional-holder-exit-supply-failure eidos:proposal-convexity-selection eidos:countertrade-adverse-selection-deterrence eidos:fail-branch-sabotage ) .

eidos:MonitoredVector a owl:Class ;
  rdfs:label "Monitored vector" ;
  rdfs:subClassOf eidos:AttackVector ;
  rdfs:subClassOf [ a owl:Restriction ; owl:onProperty eidos:hasDetector ; owl:cardinality "1"^^xsd:nonNegativeInteger ] ;
  owl:disjointWith eidos:DocumentedVector ;
  rdfs:comment "Detector shipped: the vector runs in the scorer." .

eidos:DocumentedVector a owl:Class ;
  rdfs:label "Documented vector" ;
  rdfs:subClassOf eidos:AttackVector ;
  rdfs:subClassOf [ a owl:Restriction ; owl:onProperty eidos:hasDetector ; owl:maxCardinality "0"^^xsd:nonNegativeInteger ] ;
  rdfs:comment "Detector pending: a documented vector is never assessed and never classifies." .

eidos:Indicator a owl:Class ;
  rdfs:label "Indicator" ;
  rdfs:comment "One evidence signal inside one vector. Indicator counts are never added across vectors." .

eidos:Detector a owl:Class ;
  rdfs:label "Detector" ;
  rdfs:comment "The shipped evaluation of one monitored vector's indicators over a qualified evidence packet." .

eidos:MethodologySource a owl:Class ;
  rdfs:label "Methodology source" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "Published research a definition cites." .

eidos:IncidentStudy a owl:Class ;
  rdfs:label "Incident study" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A published incident kept as provenance beneath a vector. The check travels forward; the incident's conclusion does not. Named CaseStudy until 9.0.0; the app's cases are decisions." .

eidos:Classification a owl:Class ;
  rdfs:label "Classification" ;
  owl:disjointUnionOf ( eidos:MatchState eidos:WithheldState ) ;
  rdfs:comment "What the scorer may emit for one vector on one record. The whole state vocabulary, LOW included, is declared pairwise distinct here." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:state-high-risk eidos:state-elevated eidos:state-watch eidos:state-no-match eidos:state-unscored eidos:state-unknown eidos:state-stale eidos:state-under-review eidos:state-low ) .

eidos:MatchState a owl:Class ;
  rdfs:label "Match state" ;
  rdfs:subClassOf eidos:Classification ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:state-high-risk eidos:state-elevated eidos:state-watch eidos:state-no-match ) ] ;
  owl:disjointWith eidos:WithheldState ;
  rdfs:comment "Complete-evidence match states for one monitored vector. LOW is not a member of either partition: it is a named rejected token disjoint from Classification. NO-MATCH means this vector did not match; it is never a claim the proposal is safe." .

eidos:MatchStateScheme a skos:ConceptScheme ;
  rdfs:label "Match state scheme" ;
  rdfs:comment "The closed members of MatchState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:WithheldState a owl:Class ;
  rdfs:label "Withheld state" ;
  rdfs:subClassOf eidos:Classification ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:state-unscored eidos:state-unknown eidos:state-stale eidos:state-under-review ) ] ;
  rdfs:comment "Withheld states for incomplete evidence. Missing inputs land here and never grade." .

eidos:WithheldStateScheme a skos:ConceptScheme ;
  rdfs:label "Withheld state scheme" ;
  rdfs:comment "The closed members of WithheldState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:RejectedClassificationState a owl:Class ;
  rdfs:label "Rejected classification state" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:state-low ) ] ;
  owl:disjointWith eidos:Classification ;
  rdfs:comment "A known token the product explicitly rejects as a classification. LOW cannot be asserted as a finding state without contradiction." .

eidos:RejectedClassificationStateScheme a skos:ConceptScheme ;
  rdfs:label "Rejected classification state scheme" ;
  rdfs:comment "The closed members of RejectedClassificationState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:CovenantCheck a owl:Class ;
  rdfs:label "Covenant check" ;
  rdfs:comment "A versioned check anchored to published launch-covenant terms. A covenant review is never a proposal classification." .

eidos:CovenantTermState a owl:Class ;
  rdfs:label "Covenant term state" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:covenant-term-present eidos:covenant-term-absent eidos:covenant-term-unknown ) ] ;
  rdfs:comment "Tri-state, fail closed: an unknown term stays unknown and never rounds to present; a known violation is absent even when a paired term is unknown." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:covenant-term-present eidos:covenant-term-absent eidos:covenant-term-unknown ) .

eidos:CovenantTermStateScheme a skos:ConceptScheme ;
  rdfs:label "Covenant term state scheme" ;
  rdfs:comment "The closed members of CovenantTermState, as a SKOS scheme: each individual states skos:inScheme." .

eidos:LaunchCovenant a owl:Class ;
  rdfs:label "Launch covenant" ;
  rdfs:comment "A published launch covenant whose terms the checks evaluate." .

eidos:PreWindowReview a owl:Class ;
  rdfs:label "Pre-window review" ;
  rdfs:subClassOf prov:Entity ;
  owl:disjointWith eidos:Finding , eidos:Classification ;
  rdfs:comment "A review filed for one decision before its recording window opens: the ask as published, the covenant and market parameters as configured, which day-one checks can run on the evidence available and which are withheld, and the send that carried it to the organization. The first decision-lineage object: it names the decision by exact identity and is superseded, never edited, once the window opens. Never a classification, never a forecast (WindowForecast is declared disjoint from it)." .

eidos:Instrument a owl:Class ;
  rdfs:label "Instrument" ;
  rdfs:comment "A review's observation instrument. Its output is an observation under stated assumptions, never a classification." .

eidos:UnavailableMeasure a owl:Class ;
  rdfs:label "Unavailable measure" ;
  rdfs:comment "A measure these markets cannot supply the inputs for, recorded rather than omitted. Most are book-dependent: these are constant-product conditional pools with no bid, ask, queue, or maker inventory, so an effective spread or a depth imbalance would be a number with no referent. One is timestamp-dependent: an information-leakage score needs the moment the public learned, and every timestamp a proposal account carries is a moment the market learned. Each member names the input it would need and the honest local substitute, so a consumer can tell a refusal from an oversight." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:unavailable-effective-spread eidos:unavailable-post-fill-markout eidos:unavailable-depth-imbalance eidos:unavailable-trade-based-spread-estimators eidos:unavailable-longshot-spread-premium eidos:unavailable-self-counterparty-wash eidos:unavailable-information-leakage-score ) .

eidos:UnavailableMeasureScheme a skos:ConceptScheme ;
  rdfs:label "Unavailable measure scheme" ;
  rdfs:comment "The registered members of UnavailableMeasure, as a SKOS scheme: each individual states skos:inScheme." .

eidos:Dossier a owl:Class ;
  rdfs:label "Dossier" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "The public dossier on one decision, validated by DossierSchema in src/dossiers.ts, retaining exact identity and separately attributed reviews. Named DecisionDossier until 9.0.0; the decision record is the Decision." .

eidos:AttributedClaim a owl:Class ;
  rdfs:label "Attributed claim" ;
  rdfs:subClassOf schema:Claim ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A source-linked observation or hypothesis in DossierSchema. A hypothesis is not established evidence." .

eidos:EvidenceSource a owl:Class ;
  rdfs:label "Evidence source" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A retained source assertion with identity, URL, observation time and method, validated by SourceSchema; not independent verification." .

eidos:EvidenceRevision a owl:Class ;
  rdfs:label "Evidence revision" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A retained public publication or dossier revision with distinct observation and recording clocks; not a historical knowledge guarantee." .

eidos:DiligenceClaim a owl:Class ;
  rdfs:label "Diligence claim" ;
  rdfs:subClassOf schema:Claim ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A source-linked relationship in the operational evidence graph: subject, predicate, object, source, and its review and publication state. Private until it carries both gates; the public projection, the app's Diligence page, holds only accepted-and-published claims. Named EvidenceGraphClaim until 9.0.0; the app's Diligence page is its public projection." .

eidos:Investigation a owl:Class ;
  rdfs:label "Investigation" ;
  rdfs:subClassOf prov:Activity ;
  rdfs:comment "An owner-scoped run: a question, the decision context it pinned, the instrument it executed, and the events that followed. Lives in the application database; resolves only for its owner's session." .

eidos:Report a owl:Class ;
  rdfs:label "Report" ;
  rdfs:subClassOf schema:Report ;
  rdfs:comment "A dated, permalinked note Eidos published on the state of the open recording windows, addressed by a permanent six-character id (/reports/<id>/) and keyed internally by its file stem. One per notable move, never one per day; prose carries no live figure. The Reports collection in the app." .

eidos:CompositeProposalRiskScore a owl:Class ;
  rdfs:label "Composite proposal risk score" ;
  rdfs:subClassOf eidos:AnalyticalResult ;
  rdfs:comment "An aggregate estimate with a defined target and a validated method. No such model is currently registered; its existence is permitted only with explicit inputs, assumptions, evaluation and limitations." .

eidos:SafetyRating a owl:Class ;
  rdfs:label "Safety rating" ;
  owl:equivalentClass owl:Nothing ;
  rdfs:comment "Deliberately unsatisfiable. A vector no-match is never a safety rating, and nothing here ships green." .

eidos:DiligenceQuestion a owl:Class ;
  rdfs:label "Diligence question" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:diligence-question-engine eidos:diligence-question-identity eidos:diligence-question-treasury-control eidos:diligence-question-spending-limit eidos:diligence-question-treasury-holdings eidos:diligence-question-revenue-destination eidos:diligence-question-mint-authority eidos:diligence-question-team-package eidos:diligence-question-concentration eidos:diligence-question-decision-rules eidos:diligence-question-admin-override eidos:diligence-question-market-depth eidos:diligence-question-legal-entity eidos:diligence-question-liabilities eidos:diligence-question-raise-claims eidos:diligence-question-programs eidos:diligence-question-exit-path ) ] ;
  rdfs:comment "One of the fixed questions Eidos answers for every organization (src/diligence-questions.ts): who controls its treasury, its mint and its decisions, what it promised at its raise, and what is held only in documents. Each asks for a value, never a verdict, and says where its answer lives. The set is versioned (diligenceQuestionSetVersion): a question added later reads as not asked then, never as a gap. A new question is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:diligence-question-engine eidos:diligence-question-identity eidos:diligence-question-treasury-control eidos:diligence-question-spending-limit eidos:diligence-question-treasury-holdings eidos:diligence-question-revenue-destination eidos:diligence-question-mint-authority eidos:diligence-question-team-package eidos:diligence-question-concentration eidos:diligence-question-decision-rules eidos:diligence-question-admin-override eidos:diligence-question-market-depth eidos:diligence-question-legal-entity eidos:diligence-question-liabilities eidos:diligence-question-raise-claims eidos:diligence-question-programs eidos:diligence-question-exit-path ) .

eidos:DiligenceQuestionScheme a skos:ConceptScheme ;
  rdfs:label "Diligence question scheme" ;
  rdfs:comment "The closed members of DiligenceQuestion, as a SKOS scheme: each individual states skos:inScheme." .

eidos:OrganizationStatementField a owl:Class ;
  rdfs:label "Organization statement field" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:statement-field-purpose eidos:statement-field-obligations eidos:statement-field-commitments eidos:statement-field-documents ) ] ;
  rdfs:comment "One of the four things the chain does not hold that an organization is asked to state in its own words (src/organization-statements.ts): its purpose, who is bound and to what, what it committed to deliver and by when, and the documents that state it. Each field says how long a statement stays current (statementFieldRefreshAfterDays). A new field is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:statement-field-purpose eidos:statement-field-obligations eidos:statement-field-commitments eidos:statement-field-documents ) .

eidos:OrganizationStatementFieldScheme a skos:ConceptScheme ;
  rdfs:label "Organization statement field scheme" ;
  rdfs:comment "The closed members of OrganizationStatementField, as a SKOS scheme: each individual states skos:inScheme." .

eidos:OrganizationStatement a owl:Class ;
  rdfs:label "Organization statement" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "One reviewed version of what an organization says about one OrganizationStatementField: its words, quoted and attributed to it, the day it stated them, the document it cites, and the day Eidos checked that the document says it. Published only after that check, from the reviewed fixture (/data/organization-statements.json). Versions are kept and each names the one it supersedes; a version older than its field's window is not current, and the field reads as unanswered rather than carrying the old words forward. A statement is the organization's, never Eidos's reading, and changes no finding." .

# ── evidence: object and annotation properties ────────────────────────

eidos:evaluatedWith a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalResult ;
  rdfs:range eidos:AnalyticalInstrument ;
  rdfs:comment "The registered method whose version the retained result names." .

eidos:analyticalVector a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalInstrument ;
  rdfs:range eidos:AttackVector ;
  rdfs:comment "The economic mechanism an analytical detector assesses; each result remains scoped to its qualified packet." .

eidos:hasAnalyticalResult a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalRun ;
  rdfs:range eidos:AnalyticalResult ;
  rdfs:comment "Independent instrument outputs retained by this exact run." .

eidos:hasInterpretation a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalRun ;
  rdfs:range eidos:Interpretation ;
  rdfs:comment "Sourced interpretations retained by this run, not later model prose." .

eidos:interpretationSupportedBy a owl:ObjectProperty ;
  rdfs:domain eidos:Interpretation ;
  rdfs:range eidos:AnalyticalResult ;
  rdfs:comment "The specific results supporting an interpretation within its retained run." .

eidos:statementByOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:OrganizationStatement ;
  rdfs:range eidos:Organization ;
  rdfs:comment "The organization whose words the statement is: attributed to it, never Eidos's reading." .

eidos:statementAnswersField a owl:ObjectProperty ;
  rdfs:domain eidos:OrganizationStatement ;
  rdfs:range eidos:OrganizationStatementField ;
  rdfs:comment "Which of the four fields the statement answers." .

eidos:statementSupersedes a owl:ObjectProperty ;
  rdfs:domain eidos:OrganizationStatement ;
  rdfs:range eidos:OrganizationStatement ;
  rdfs:comment "The version this one replaces; the replaced version stays in the history." .

eidos:contributionTargetsRun a owl:ObjectProperty ;
  rdfs:domain eidos:EvidenceContribution ;
  rdfs:range eidos:AnalyticalRun ;
  rdfs:comment "The immutable run a source-linked correction proposes to replace, within its sharing scope." .

eidos:hasIndicator a owl:ObjectProperty ;
  rdfs:domain eidos:AttackVector ;
  rdfs:range eidos:Indicator ;
  rdfs:comment "A vector's indicators. Their explicit position preserves registry order; counts stay scoped to one vector." .

eidos:hasDetector a owl:ObjectProperty ;
  rdfs:domain eidos:MonitoredVector ;
  rdfs:range eidos:Detector ;
  rdfs:comment "Only monitored vectors carry a shipped detector; DocumentedVector is restricted to zero." .

eidos:hasIncidentStudy a owl:ObjectProperty ;
  rdfs:domain eidos:AttackVector ;
  rdfs:range eidos:IncidentStudy ;
  rdfs:comment "Published incidents are provenance beneath a vector; the incident never becomes the detector's name." .

eidos:hasMethodologySource a owl:ObjectProperty ;
  rdfs:domain eidos:AttackVector ;
  rdfs:range eidos:MethodologySource ;
  rdfs:subPropertyOf prov:wasDerivedFrom ;
  rdfs:comment "The published research a definition is codified from." .

eidos:exploitsComponent a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:AttackVector ;
  rdfs:range eidos:MechanismComponent ;
  rdfs:comment "Definitional: the one mechanism component a vector abuses. This edge describes mechanisms and never attaches to a finding, so mechanism-level judgments cannot leak into per-proposal results." .

eidos:presupposesExecution a owl:ObjectProperty ;
  rdfs:domain eidos:AttackVector ;
  rdfs:range eidos:ExecutionMode ;
  rdfs:comment "The execution binding a vector's payoff presupposes; absent when the mechanism works under either." .

eidos:codifiedBy a owl:ObjectProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:AttackVector eidos:CovenantCheck ) ] ;
  rdfs:range eidos:Review ;
  rdfs:comment "The Playbooks review codifies playbooks and covenant checks from published research: its subjects are attack vectors and covenant checks, and nothing else." .

eidos:runBy a owl:ObjectProperty ;
  rdfs:domain eidos:MonitoredVector ;
  rdfs:range eidos:Review ;
  rdfs:comment "The Attack review runs monitored playbooks; documented vectors are never run." .

eidos:filedBy a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:Review ;
  rdfs:comment "The review that filed the finding. Functional over the closed, pairwise-distinct roster, so a finding filed by two reviews is a contradiction — the composite the roster refuses. Until 9.0.0 this was six subclasses of Finding, one per review, none of which a stored finding was ever typed with." .

eidos:scopedToVector a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:MonitoredVector ;
  rdfs:comment "Functional with monitored range: every classification is scoped to exactly one monitored vector. This is the axiom form of the no-composite rule. The vector individuals are declared pairwise distinct, so scoping one finding to two vectors is a contradiction rather than a silent identification of the two." .

eidos:hasClassification a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:Classification ;
  rdfs:comment "The one state a finding carries. Range Classification, which is the disjoint union of the match and withheld partitions — so LOW, a RejectedClassificationState disjoint from Classification, cannot be a finding's state without contradiction. Functional: a finding has one state, never a spread." .

eidos:hasRosterStatus a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:RosterStatus ;
  rdfs:comment "The roster answer a stored finding carries: filed, withheld or standing (the status column of every lane_findings row). A different axis from hasClassification, which is one vector's state; a finding has one roster status. Functional over a closed, pairwise-distinct enumeration, so a second status is a contradiction." .

eidos:checksCovenant a owl:ObjectProperty ;
  rdfs:domain eidos:CovenantCheck ;
  rdfs:range eidos:LaunchCovenant ;
  rdfs:comment "The published launch covenant a versioned check is anchored to." .

eidos:rosterMember a owl:ObjectProperty ;
  rdfs:domain eidos:ReviewRoster ;
  rdfs:range eidos:Review ;
  rdfs:subPropertyOf skos:member ;
  rdfs:comment "The reviews a roster release contains. Membership is what a per-review contract version cannot express: adding or retiring a review moves no existing review's version, so without this edge two different rosters are indistinguishable from their reviews alone." .

eidos:filedUnderRoster a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:ReviewRoster ;
  rdfs:comment "The roster release a finding was filed under. Functional: a finding is the answer of one roster at one moment, never a reading blended across releases. This is what makes a stored finding re-readable after the contracts it ran under have moved on." .

eidos:instrumentOf a owl:ObjectProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range eidos:Review ;
  rdfs:comment "The review an observation instrument belongs to; its output is never a classification." .

eidos:unavailableTo a owl:ObjectProperty ;
  rdfs:domain eidos:UnavailableMeasure ;
  rdfs:range eidos:Review ;
  rdfs:comment "A measure the review refuses because constant-product conditional pools cannot supply what it presupposes — a quoted book, a maker's inventory, a public-announcement time. Recorded rather than omitted, so a consumer can tell a refusal from an oversight, and each entry names both the missing input and the honest local substitute." .

eidos:reviewsDecision a owl:ObjectProperty ;
  rdfs:domain eidos:PreWindowReview ;
  rdfs:range eidos:Decision ;
  rdfs:comment "The decision a pre-window review was filed for — a MetaDAO proposal by exact chain, program and account identity today, any engine's decision by its identity. A review is written about one decision and superseded, never re-pointed; that stays a registry rule, not a functional axiom, because decisions are an open population no release can declare pairwise distinct — a second value would be identified with the first instead of contradicting it." .

eidos:dossierOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:Dossier ;
  rdfs:range eidos:Decision ;
  rdfs:comment "The decision a dossier describes, by the exact identity DossierSchema requires." .

eidos:hasAttributedClaim a owl:ObjectProperty ;
  rdfs:domain eidos:Dossier ;
  rdfs:range eidos:AttributedClaim ;
  rdfs:comment "An observation or hypothesis the dossier states (DossierSchema claims)." .

eidos:claimCitesSource a owl:ObjectProperty ;
  rdfs:domain eidos:AttributedClaim ;
  rdfs:range eidos:EvidenceSource ;
  rdfs:subPropertyOf prov:wasDerivedFrom ;
  rdfs:comment "A source an attributed claim is linked to; every claim cites at least one." .

eidos:dossierCitesSource a owl:ObjectProperty ;
  rdfs:domain eidos:Dossier ;
  rdfs:range eidos:EvidenceSource ;
  rdfs:subPropertyOf prov:wasDerivedFrom ;
  rdfs:comment "A source the dossier as a whole retains (DossierSchema sources)." .

eidos:revisesDossier a owl:ObjectProperty ;
  rdfs:domain eidos:EvidenceRevision ;
  rdfs:range eidos:Dossier ;
  rdfs:subPropertyOf prov:specializationOf ;
  rdfs:comment "The dossier a retained revision is a version of (RevisionSchema)." .

eidos:reportAbout a owl:ObjectProperty ;
  rdfs:domain eidos:Report ;
  rdfs:range eidos:Organization ;
  rdfs:subPropertyOf schema:about ;
  rdfs:comment "An organization a report names: the related-organizations rail on its page." .

eidos:decisionHasFindings a owl:ObjectProperty ;
  rdfs:domain eidos:Decision ;
  rdfs:range eidos:Finding ;
  owl:inverseOf eidos:findingOfDecision ;
  rdfs:comment "has findings (many; asserted by tape, append-and-supersede, as-of-known-time). Six-review findings recorded for the decision on any engine (6 Oct 2026), stamped with the roster release and each review's contract version, keyed by the decision's engine, chain and id." .

eidos:proposalHasFindings a owl:ObjectProperty ;
  rdfs:domain eidos:GovernanceProposal ;
  rdfs:range eidos:Finding ;
  rdfs:subPropertyOf eidos:decisionHasFindings ;
  rdfs:comment "has findings (many; asserted by tape, append-and-supersede, as-of-known-time). Six-review findings recorded for this proposal, stamped with the roster release and each review's contract version. MetaDAO's form of decision-has-findings: a MetaDAO finding's decision is the proposal account." .

eidos:analysisOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalRun ;
  rdfs:range eidos:Decision ;
  rdfs:comment "analyzes (one; asserted by tape, immutable, at-read). The decision whose retained inputs this run evaluates." .

eidos:analysisSupersedes a owl:ObjectProperty ;
  rdfs:domain eidos:AnalyticalRun ;
  rdfs:range eidos:AnalyticalRun ;
  rdfs:comment "supersedes (one-or-none; asserted by tape, append-and-supersede, as-of-known-time). An accepted correction retains and replaces an earlier analytical run." .

eidos:findingOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:Finding ;
  rdfs:range eidos:Decision ;
  rdfs:comment "finding of (one; asserted by tape, immutable, at-read). The decision the finding was recorded for, on any engine, joined by its engine, chain and id." .

eidos:claimSupersedes a owl:ObjectProperty ;
  rdfs:domain eidos:DiligenceClaim ;
  rdfs:range eidos:DiligenceClaim ;
  rdfs:subPropertyOf prov:wasRevisionOf ;
  rdfs:comment "supersedes (one-or-none; asserted by private-ledger, append-and-supersede, as-of-known-time). A correction names the accepted claim it replaces; the earlier claim stays in the ledger as superseded." .

eidos:investigationOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:Investigation ;
  rdfs:range eidos:Decision ;
  rdfs:comment "investigates (one; asserted by application-database, immutable, at-read). The exact identity the run's context manifest names." .

eidos:diligenceAnswerForOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range eidos:Organization ;
  rdfs:comment "answer about (one; asserted by warehouse, re-derived-per-seal, at-read). The organization the answer is about, by its slug." .

# ── evidence: datatype properties ─────────────────────────────────────

eidos:accent a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:assumption a owl:DatatypeProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range xsd:string .

eidos:boundaryRule a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:bucketCount a owl:DatatypeProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range xsd:integer .

eidos:category a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:DocumentedVector eidos:MonitoredVector ) ] ;
  rdfs:range xsd:string .

eidos:contractHandoff a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:contractInputs a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:contractOutputs a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:description a owl:DatatypeProperty ;
  rdfs:range xsd:string .

eidos:detail a owl:DatatypeProperty ;
  rdfs:domain eidos:CovenantCheck ;
  rdfs:range xsd:string .

eidos:diligenceAnswerFactCount a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:integer ;
  rdfs:comment "The sourced facts the answer carries. Bound to main.diligence_answers.fact_count." .

eidos:diligenceAnswerIsAnswered a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether the answer carries at least one sourced, dated fact. Bound to main.diligence_answers.is_answered." .

eidos:diligenceAnswerIsCurrent a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:boolean ;
  rdfs:comment "Whether every fact was observed within the question's re-check window at the run's cutoff, by the day of the oldest. An unanswered question is never current. Bound to main.diligence_answers.is_current." .

eidos:diligenceAnswerNewestObservedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:dateTime ;
  rdfs:comment "Noon UTC on the day the answer's newest fact was observed. Bound to main.diligence_answers.newest_observed_at." .

eidos:diligenceAnswerOrganization a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:string ;
  rdfs:comment "The slug of the organization the answer is about. Bound to main.diligence_answers.slug." .

eidos:diligenceAnswerQuestion a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:string ;
  rdfs:comment "The question's id in the fixed set (src/diligence-questions.ts). Bound to main.diligence_answers.question." .

eidos:diligenceAnswerState a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceAnswer ;
  rdfs:range xsd:string ;
  rdfs:comment "answered, not-checked (Eidos has not looked), not-disclosed (a reviewed source held none) or not-applicable. Bound to main.diligence_answers.state." .

eidos:diligenceQuestionBasis a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceQuestion ;
  rdfs:range xsd:string .

eidos:diligenceQuestionId a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceQuestion ;
  rdfs:range xsd:string .

eidos:diligenceQuestionSetVersion a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceQuestion ;
  rdfs:range xsd:string .

eidos:diligenceQuestionText a owl:DatatypeProperty ;
  rdfs:domain eidos:DiligenceQuestion ;
  rdfs:range xsd:string .

eidos:discipline a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:heading a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:incidentOrganizationSlug a owl:DatatypeProperty ;
  rdfs:domain eidos:IncidentStudy ;
  rdfs:range xsd:string .

eidos:incidentProposalAccount a owl:DatatypeProperty ;
  rdfs:domain eidos:IncidentStudy ;
  rdfs:range xsd:string .

eidos:investorReserveCapPct a owl:DatatypeProperty ;
  rdfs:domain eidos:LaunchCovenant ;
  rdfs:range xsd:integer .

eidos:localSubstitute a owl:DatatypeProperty ;
  rdfs:domain eidos:UnavailableMeasure ;
  rdfs:range xsd:string .

eidos:member a owl:DatatypeProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range xsd:string .

eidos:methodSource a owl:DatatypeProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range xsd:string .

eidos:minimumTrades a owl:DatatypeProperty ;
  rdfs:domain eidos:Instrument ;
  rdfs:range xsd:integer .

eidos:mission a owl:DatatypeProperty ;
  rdfs:domain eidos:Review ;
  rdfs:range xsd:string .

eidos:note rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:CrossCheckSeries eidos:DisprovenDerivation eidos:Instrument eidos:MechanismFamily eidos:ProvenanceMethod eidos:PublishedSeries eidos:RejectedClassificationState eidos:UnavailableMeasure ) ] .

eidos:position a owl:DatatypeProperty ;
  rdfs:domain eidos:Indicator ;
  rdfs:range xsd:integer .

eidos:publishedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:IncidentStudy ;
  rdfs:range xsd:date ;
  rdfs:subPropertyOf dcterms:issued .

eidos:publisher a owl:DatatypeProperty ;
  rdfs:domain eidos:IncidentStudy ;
  rdfs:range xsd:string .

eidos:releaseNote a owl:DatatypeProperty ;
  rdfs:domain eidos:ReviewRoster ;
  rdfs:range xsd:string .

eidos:requires a owl:DatatypeProperty ;
  rdfs:domain eidos:UnavailableMeasure ;
  rdfs:range xsd:string .

eidos:reviewCount a owl:DatatypeProperty ;
  rdfs:domain eidos:ReviewRoster ;
  rdfs:range xsd:integer .

eidos:role a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:Indicator eidos:Review ) ] ;
  rdfs:range xsd:string .

eidos:rosterDigest a owl:DatatypeProperty ;
  rdfs:domain eidos:ReviewRoster ;
  rdfs:range xsd:string .

eidos:rosterVersion a owl:DatatypeProperty ;
  rdfs:domain eidos:ReviewRoster ;
  rdfs:range xsd:string .

eidos:scopeNote a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:DocumentedVector eidos:MonitoredVector ) ] ;
  rdfs:range xsd:string .

eidos:sourceUrl rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:CovenantCheck eidos:DecisionMarketEngine eidos:GovernanceProgramDeployment eidos:IncidentStudy eidos:LaunchCovenant eidos:MethodologySource eidos:PublishedRule eidos:Venue ) ] .

eidos:statementFieldId a owl:DatatypeProperty ;
  rdfs:domain eidos:OrganizationStatementField ;
  rdfs:range xsd:string .

eidos:statementFieldQuestion a owl:DatatypeProperty ;
  rdfs:domain eidos:OrganizationStatementField ;
  rdfs:range xsd:string .

eidos:statementFieldRefreshAfterDays a owl:DatatypeProperty ;
  rdfs:domain eidos:OrganizationStatementField ;
  rdfs:range xsd:integer .

eidos:status a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:DocumentedVector eidos:MonitoredVector ) ] ;
  rdfs:range xsd:string .

eidos:statusId a owl:DatatypeProperty ;
  rdfs:domain eidos:RosterStatus ;
  rdfs:range xsd:string .

eidos:summary a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:AnalyticalInstrument eidos:Review ) ] ;
  rdfs:range xsd:string .

eidos:teamAllocationMaxPct a owl:DatatypeProperty ;
  rdfs:domain eidos:LaunchCovenant ;
  rdfs:range xsd:integer .

eidos:teamAllocationMinPct a owl:DatatypeProperty ;
  rdfs:domain eidos:LaunchCovenant ;
  rdfs:range xsd:integer .

eidos:vestingMonths a owl:DatatypeProperty ;
  rdfs:domain eidos:LaunchCovenant ;
  rdfs:range xsd:integer .

# ── evidence: individuals (generated from the registries) ─────────────

eidos:roster-status-filed a eidos:RosterStatus ;
  rdfs:label "Filed" ;
  skos:inScheme eidos:RosterStatusScheme ;
  eidos:statusId "filed" .

eidos:roster-status-withheld a eidos:RosterStatus ;
  rdfs:label "Withheld" ;
  skos:inScheme eidos:RosterStatusScheme ;
  eidos:statusId "withheld" .

eidos:roster-status-standing a eidos:RosterStatus ;
  rdfs:label "Standing" ;
  skos:inScheme eidos:RosterStatusScheme ;
  eidos:statusId "standing" .

eidos:state-high-risk a eidos:MatchState ;
  rdfs:label "HIGH-RISK" ;
  skos:inScheme eidos:MatchStateScheme .

eidos:state-elevated a eidos:MatchState ;
  rdfs:label "ELEVATED" ;
  skos:inScheme eidos:MatchStateScheme .

eidos:state-watch a eidos:MatchState ;
  rdfs:label "WATCH" ;
  skos:inScheme eidos:MatchStateScheme .

eidos:state-no-match a eidos:MatchState ;
  rdfs:label "NO-MATCH" ;
  skos:inScheme eidos:MatchStateScheme .

eidos:state-unscored a eidos:WithheldState ;
  rdfs:label "UNSCORED" ;
  skos:inScheme eidos:WithheldStateScheme .

eidos:state-unknown a eidos:WithheldState ;
  rdfs:label "UNKNOWN" ;
  skos:inScheme eidos:WithheldStateScheme .

eidos:state-stale a eidos:WithheldState ;
  rdfs:label "STALE" ;
  skos:inScheme eidos:WithheldStateScheme .

eidos:state-under-review a eidos:WithheldState ;
  rdfs:label "UNDER_REVIEW" ;
  skos:inScheme eidos:WithheldStateScheme .

eidos:state-low a eidos:RejectedClassificationState ;
  rdfs:label "LOW" ;
  skos:inScheme eidos:RejectedClassificationStateScheme ;
  eidos:note "A known rejected token, disjoint from Classification. It is never a scorer output." .

eidos:covenant-term-present a eidos:CovenantTermState ;
  rdfs:label "present" ;
  skos:inScheme eidos:CovenantTermStateScheme .

eidos:covenant-term-absent a eidos:CovenantTermState ;
  rdfs:label "absent" ;
  skos:inScheme eidos:CovenantTermStateScheme .

eidos:covenant-term-unknown a eidos:CovenantTermState ;
  rdfs:label "unknown" ;
  skos:inScheme eidos:CovenantTermStateScheme .

eidos:roster-1-0-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.0.0" ;
  eidos:rosterVersion "1.0.0" ;
  eidos:rosterDigest "5ee5f23e" ;
  eidos:releaseNote "The closed six-team roster as first recorded against proposals: Pink 1.2.0, Red 1.1.0, Blue 1.4.0, Yellow 1.2.0, Purple 1.1.0, White 1.2.0." .

eidos:roster-1-0-1 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.0.1" ;
  eidos:rosterVersion "1.0.1" ;
  eidos:rosterDigest "08b5d31f" ;
  eidos:releaseNote "Condenses the Blue Team Threshold read contract copy: Pink 1.2.0, Red 1.1.0, Blue 1.4.1, Yellow 1.2.0, Purple 1.1.0, White 1.2.0." .

eidos:roster-1-0-2 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.0.2" ;
  eidos:rosterVersion "1.0.2" ;
  eidos:rosterDigest "2b75173f" ;
  eidos:releaseNote "Adds the Blue Team's microstructure stack over the indexed swap record — order-flow toxicity, signed imbalance, cumulative delta, per-pool price impact, participation — with three boundaries: a one-sided decision market is not a finding, the readings are never folded into an index, and a metric that presupposes a limit order book is refused rather than approximated: Pink 1.2.0, Red 1.1.0, Blue 1.5.0, Yellow 1.2.0, Purple 1.1.0, White 1.2.0." .

eidos:roster-1-0-3 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.0.3" ;
  eidos:rosterVersion "1.0.3" ;
  eidos:rosterDigest "5f885ff3" ;
  eidos:releaseNote "Recolours the roster to the Signal palette (the Six Names study): every lane now measures nearer to a plain reading of its own name than to any other lane's, clears both polarity poles, and holds the categorical separation floors. Accents are the same hues dropped to carry text on paper. Contracts are untouched: Pink 1.2.0, Red 1.1.0, Blue 1.5.0, Yellow 1.2.0, Purple 1.1.0, White 1.2.0." .

eidos:roster-1-0-4 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.0.4" ;
  eidos:rosterVersion "1.0.4" ;
  eidos:rosterDigest "14dca88f" ;
  eidos:releaseNote "Completes the Brass & rose palette with paper accents derived from the selected dark tints at the prior OKLab lightness, lowered only to clear 4.5:1 text contrast on white. Blue shades and all team contracts remain unchanged." .

eidos:roster-1-1-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.1.0" ;
  eidos:rosterVersion "1.1.0" ;
  eidos:rosterDigest "7fb34ee0" ;
  eidos:releaseNote "Names the six reviews by their discipline in every label and in the contract prose — Evidence, Attack, Market, Playbooks, Learning, Claims — instead of by colour. Ids, contract structure, boundaries, accents, and the finding classes are unchanged; each contract takes a patch bump for its copy: Pink 1.2.1, Red 1.1.1, Blue 1.5.1, Yellow 1.2.1, Purple 1.1.1, White 1.2.1. Colour stays a visual key on the mark and the palette." .

eidos:roster-1-2-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.2.0" ;
  eidos:rosterVersion "1.2.0" ;
  eidos:rosterDigest "1b585a66" ;
  eidos:releaseNote "Retires pink and purple from the palette (decided 21 September 2026): colour is an accent, not a review's name. Four accents remain — red, blue, yellow and a true neutral white — and the six arms of the mark are painted from them: the pink arm takes red, the purple arm takes blue, the white arm is #ffffff on dark and a neutral grey on paper. Labels, contracts, ids and finding classes are unchanged; only the accent fields move." .

eidos:roster-1-3-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.3.0" ;
  eidos:rosterVersion "1.3.0" ;
  eidos:rosterDigest "e89fce1f" ;
  eidos:releaseNote "Paints the roster as six shades of one blue (decided 21 September 2026): a scale, lightest at the mark's apex and darkening clockwise — Claims, Playbooks, Evidence, Attack, Learning, Market. OKLab hue of the former Market blue; dark-ground tints at lightness 0.90 → 0.60, paper accents at 0.56 → 0.36, every step clearing 4.6:1 on its ground. Colour is a position on the scale, never a review's name; labels, contracts, ids and finding classes are unchanged." .

eidos:roster-1-4-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.4.0" ;
  eidos:rosterVersion "1.4.0" ;
  eidos:rosterDigest "f3eb7176" ;
  eidos:releaseNote "Files a proposal-specific reading in every review (decided 2 October 2026): Evidence qualifies an indexed conditional-swap record against each monitored playbook's own gate, Attack runs the playbooks whose gates it fills and withholds the rest with their missing evidence named, Playbooks says which ran and what the others wait on, Learning reads the organization's decisions that closed before the window opened, and Claims bounds exactly what was measured. No gate is relaxed. Evidence 1.3.0, Attack 1.3.0 (with wash-volume-alignment-inflation 3.0.0: routine conditional arbitrage is netted before any wash indicator counts, and presence in both pools, machine cadence, frequency and tilt shift count only beside wash evidence: same-pool round trips or a near-neutral ending), Market 1.6.0 (a settled window without retained reads files its completed print from the indexed finalization event), Playbooks 1.3.0, Learning 1.2.0, Claims 1.3.0." .

eidos:roster-1-4-1 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.4.1" ;
  eidos:rosterVersion "1.4.1" ;
  eidos:rosterDigest "d8f36e4a" ;
  eidos:releaseNote "Copy only (2 October 2026): the Claims contract and the roster note call the other findings reviews, never lanes, as every public surface does, and the Playbooks input is published research, not intelligence. Playbooks 1.3.1, Claims 1.3.1; no gate, input, output or boundary changes meaning." .

eidos:roster-1-4-2 a eidos:ReviewRoster ;
  rdfs:label "Review roster 1.4.2" ;
  eidos:rosterVersion "1.4.2" ;
  eidos:rosterDigest "4821a21f" ;
  eidos:releaseNote "Copy only (2 October 2026, ontology 8.0.0): the Market contract reads the DAO account's configured threshold and the Learning contract the same DAO account's earlier windows, the word the ontology now gives the futarchy account a proposal names; the readings themselves were already per DAO account. Market 1.6.1, Learning 1.2.1; no gate, input, output or boundary changes meaning." .

eidos:roster-2-0-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 2.0.0" ;
  eidos:rosterVersion "2.0.0" ;
  eidos:rosterDigest "5b2167ad" ;
  eidos:releaseNote "The review ids are the role words (operator decision, 4 October 2026: migrate stored identifiers rather than keep them): evidence, attack, market, playbooks, learning and claims replace the colour words the roster was first recorded under, in every finding, ledger record, feed state, ontology individual (eidos:review-evidence …) and CSS token; and a reading that assessed the proposal is stored as filed, the word every page prints, where it was stored as complete. Contracts, boundaries, accents and display order are unchanged — Evidence 1.3.0, Attack 1.3.0, Market 1.6.1, Playbooks 1.3.1, Learning 1.2.1, Claims 1.3.1 — so no finding changes meaning; every stored row was re-stamped under the new ids by the identifier migration and nothing reads the old ones." .

eidos:roster-3-0-0 a eidos:ReviewRoster ;
  rdfs:label "Review roster 3.0.0" ;
  eidos:rosterVersion "3.0.0" ;
  eidos:rosterDigest "e6def3fe" ;
  eidos:releaseNote "The six reviews read every engine's decisions (operator request, 6 October 2026: \"all six reviews on all the engines … cleanly abstracted for all engines and DRY\"). A decision on any engine is reviewed by one set of readings over its engine's adapter: Evidence qualifies the disclosures its engine's record carries and its swap record from the trade ledger; Attack runs the wash-volume playbook over any number of options (4.0.0) beside a stress test of the engine's disclosed selection rule; Market reads the engine's selection rule — the best challenger against the default by the threshold, or a measured outcome — with the closing stretch and an outlook from retained reads; Playbooks names what each waiting playbook's packet lacks; Learning reads the same decider's earlier decisions on its engine; Claims bounds the result per decision. Findings are keyed by engine, chain and decision. Every team is 2.0.0; a MetaDAO proposal's readings keep their gates and classifications, and its wording names a decision." ;
  eidos:reviewCount 6 .

eidos:review-evidence a eidos:Review ;
  rdfs:label "Evidence" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Evidence" ;
  eidos:discipline "evidence qualification" ;
  eidos:heading "Qualify the evidence." ;
  eidos:summary "Qualifies market, wallet, and decision disclosures before another team treats the packet as priceable." ;
  eidos:mission "Before a decision gets a vector classification or priceability review, the Evidence review records what is present, what is missing, and how current it is. It qualifies disclosed specification, delivery terms, corrective access, and causal assumptions without filling gaps or deciding what those terms are worth." ;
  eidos:accent "#215fa1" ;
  eidos:contractInputs "Evidence packet: Wallet history, funding path, stake accumulation and recovery, trade execution, market data, a source-dated treasury snapshot, and the time-stamped disclosures of the decision's record — its options, selection rule, window, decider and terms — covering material facts, the disclosure cutoff, specification, delivery enforcement, participation access, branch dependencies, and causal assumptions. Where the decision's trades are recorded, the wallet-attributed swap record is qualified too, across every option's pool. For a launch-covenant record, the packet is the disclosed terms at issuance." ;
  eidos:contractOutputs "Coverage state: Availability, confidence, source freshness, field-level forensic coverage, disclosure qualification, a wallet-level census of an indexed swap record with the playbook gates it fills and the ones it cannot, and an explicit withheld state when required evidence is incomplete; a vector classification never runs without its own complete evidence gate." ;
  eidos:contractHandoff "Qualified record: Complete forensic evidence can move to monitored-vector matching; qualified proposal terms can move to priceability stress testing. Partial and unavailable packets keep their uncertainty attached for every downstream team." ;
  eidos:boundaryRule "Missing wallet-forensics or market inputs never classify LOW. Work can be withheld as UNSCORED, UNKNOWN, STALE, or UNDER_REVIEW." ;
  eidos:boundaryRule "The Evidence review qualifies evidence; it never scores a proposal and never fills a gap with a fixture value." ;
  eidos:boundaryRule "A disclosed term is not proof that delivery is enforceable, a branch is independent, or a conditional price is causal." .

eidos:review-attack a eidos:Review ;
  rdfs:label "Attack" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Attack" ;
  eidos:discipline "attack testing" ;
  eidos:heading "Try to break it." ;
  eidos:summary "Stress-tests a decision's disclosed rules and runs only monitored economic attack playbooks against evidence." ;
  eidos:mission "The Attack review stress-tests the decision's disclosed selection rule, specification, delivery options, participation constraints, and branch dependencies, then runs versioned monitored playbooks against qualified evidence. Every classified result belongs to one mechanism, and no match is not a claim of safety. Documented threats remain sourced hypotheses with detector requirements: the Attack review may challenge them but never assess or classify them." ;
  eidos:accent "#135394" ;
  eidos:contractInputs "Qualified packet: An Evidence-qualified packet: wallet history, funding path, accumulation, stake recovery, execution series, and the complete time-stamped semantics the market is asked to price. A qualified swap record feeds only the playbooks whose gates it fills; the rest stay withheld with their missing evidence named." ;
  eidos:contractOutputs "Vector finding: A semantic stress-test record plus, only for a monitored detector with complete evidence, a count of matched indicators and a classification scoped to that one vector; otherwise the state is explicitly withheld or documented-only." ;
  eidos:contractHandoff "Scoped result: A monitored finding travels with its vector id, version, and scope note. A documented threat travels as an unclassified candidate and evidence request. The Claims review checks both claim boundaries before publication." ;
  eidos:boundaryRule "Indicators are never added across vectors into a composite proposal-risk score." ;
  eidos:boundaryRule "A documented vector never produces a classification; only monitored vectors run." ;
  eidos:boundaryRule "A vector no-match is never presented as a safety rating." ;
  eidos:boundaryRule "Routine arbitrage and directional bots are never counted as wash: paired conditional legs are netted out first, and presence in more than one option's pool, machine cadence, frequency and tilt shift count only beside round trips or a near-neutral ending." ;
  eidos:boundaryRule "A semantic weakness in a decision's disclosed rules may be stress-tested without being asserted as an attack finding." .

eidos:review-market a eidos:Review ;
  rdfs:label "Market" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Market" ;
  eidos:discipline "market watch" ;
  eidos:heading "Watch the market." ;
  eidos:summary "Observes live decision fragility and corrective participation access without turning either into a rating." ;
  eidos:mission "The Market review reads the decision's state, each option's time-weighted price, the engine's selection rule — a default option that stands unless a challenger beats it by a threshold, or a measured outcome read after the window — and observable access to corrective exposure. It describes decision fragility and participation constraints as market structure; its observations stay separate from the Attack review’s forensic result." ;
  eidos:accent "#003d75" ;
  eidos:contractInputs "Decision record: The engine's own accounts and decision record provide current state, the selection rule and threshold, each option's time-weighted price, and, for a measured-outcome market, the outcome measured; retained reads place prices in the window, and venue rules and live depth describe who can supply corrective exposure. Where a decision's swaps are indexed, that public event record supplies the signed order flow, and it states how much of the window it reaches." ;
  eidos:contractOutputs "Threshold read: Under a price rule the best challenger's time-weighted price must strictly beat the default's by the threshold; a pass/fail market is the two-option case. Retained reads report the margin, crossings, closing-stretch pressure, an outlook while the window is open, corrective access, and disclosed-depth flip cost; a closed decision reports its completed print, and a measured-outcome market the outcome it was decided on; an indexed swap record additionally reports order-flow toxicity, signed imbalance, cumulative delta, per-pool price impact, and participation structure, each separately. Live math stays provisional; after settlement, the tape sits beneath the engine’s authoritative outcome." ;
  eidos:contractHandoff "Defense watch: Market state, corrective access, and decision fragility travel beside forensic context without standing in for missing wallet history, volume, execution evidence, or causal attribution." ;
  eidos:boundaryRule "The Market review may not invent forensics: attack indicators stay dark unless an indexed swap record fills a playbook's own gate, and that reading belongs to the Attack review." ;
  eidos:boundaryRule "Provisional live math is never presented as a final outcome." ;
  eidos:boundaryRule "A pressure watch is a market observation over retained reads; it never becomes an attack-vector indicator or classification." ;
  eidos:boundaryRule "A flip-cost figure is a lower bound under stated assumptions; it is never a safety rating." ;
  eidos:boundaryRule "An order-flow toxicity reading is a measurement of imbalance in volume time. A decision market concludes by trading one-sided, so a high reading is never an attack finding and a low one is never safety." ;
  eidos:boundaryRule "Microstructure readings ship separately and are never folded into a signal-credibility or market-quality index; a composite hides which input moved." ;
  eidos:boundaryRule "A metric that presupposes a limit order book is refused rather than approximated. These markets trade in automated pools with no bid, ask, queue, or maker inventory." ;
  eidos:boundaryRule "Corrective-access and decision-fragility observations are not approval, a causal claim, an attack finding, or a rating." .

eidos:review-playbooks a eidos:Review ;
  rdfs:label "Playbooks" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Playbooks" ;
  eidos:discipline "playbook building" ;
  eidos:heading "Codify the research." ;
  eidos:summary "Versions sourced attack candidates, evidence gates, and runnable checks without promoting theory into findings." ;
  eidos:mission "The Playbooks review turns published investigations into reusable definitions. A decision-priceability candidate gets a stable name, semver version, source, explicit assumptions, evidence requirements, indicators, and detector-pending status before any implementation exists; the incident or theory never becomes a classification." ;
  eidos:accent "#2e6bad" ;
  eidos:contractInputs "Published research: Cited decision records, market math, wallet forensics, explicit observations, theoretical mechanisms, counterarguments, and falsifiers from published source research." ;
  eidos:contractOutputs "Runnable definition: A versioned monitored mechanism with ordered indicators and an independent scope boundary, or a documented candidate with its detector evidence gate left visibly pending; covenant checks remain versioned against published launch terms. Against one decision, which monitored playbooks its evidence could run and what each other playbook still waits on." ;
  eidos:contractHandoff "Standing check: The Attack review receives runnable monitored playbooks and unclassified documented candidates. Published cases and theory remain provenance beneath them rather than hard-coded conclusions." ;
  eidos:boundaryRule "The incident never becomes the detector’s name." ;
  eidos:boundaryRule "A playbook ships only with a stable id, a semver version, ordered indicators, methodology sources, and a scope note." ;
  eidos:boundaryRule "A sourced candidate stays documented until its named evidence gate and detector both ship." .

eidos:review-learning a eidos:Review ;
  rdfs:label "Learning" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Learning" ;
  eidos:discipline "learning loop" ;
  eidos:heading "Close the loop." ;
  eidos:summary "Retains observed outcomes and falsifiers so later reviews can learn without inventing counterfactuals." ;
  eidos:mission "The Learning review links what the Attack review learned in published cases with what the Market review should watch next. For decision-priceability candidates it retains disclosed assumptions, observed outcomes, sanctions, delivery, and falsifiers while keeping unobserved branches explicitly unobserved." ;
  eidos:accent "#014787" ;
  eidos:contractInputs "Closed cases: Published incidents and experiments with their evidence, market outcome, delivery record, falsifiers, and vector result preserved together as cited replays." ;
  eidos:contractOutputs "Standing checks: Reusable, versioned checks and documented-candidate evidence updates extracted from observed outcomes, with unresolved and counterfactual outcomes kept out. Against one decision, what the same decider's earlier decisions on its engine selected, counting only those that closed before it opened, cited to the engine's record." ;
  eidos:contractHandoff "Refreshed watch: The Market and Attack reviews receive the updated check and its falsifiers; the old case keeps its citation, observed branches, and uncertainty as a replay." ;
  eidos:boundaryRule "The check moves forward; the old case’s conclusion does not." ;
  eidos:boundaryRule "An uncited lesson does not enter the loop — every replay keeps its source." ;
  eidos:boundaryRule "An unobserved branch is never invented to declare what would have happened under a different decision." .

eidos:review-claims a eidos:Review ;
  rdfs:label "Claims" ;
  skos:inScheme eidos:ReviewScheme ;
  eidos:version "2.0.0" ;
  eidos:role "Claims" ;
  eidos:discipline "claim control" ;
  eidos:heading "Keep claims honest." ;
  eidos:summary "Refuses approval, causal-proof, composite, and safety claims; a vector no-match is never a safety rating." ;
  eidos:mission "The Claims review checks the boundary around every published conclusion: what was measured, which vector it belongs to, whether evidence was complete, which causal assumptions remain unsettled, and what the result cannot establish. It refuses to turn six review findings into approval, causal proof, a composite score, or a safety rating." ;
  eidos:accent "#3a77ba" ;
  eidos:contractInputs "Draft findings: Every team’s finding with its evidence state, vector scope, data vintage, decision terms, causal assumptions, and documented-versus-monitored status attached." ;
  eidos:contractOutputs "Publishable claims: Claims trimmed to what the evidence establishes, with withheld states and detector-pending threats explicit rather than rounded into approval, causal proof, or safety; against one decision, the vectors measured, their scope, and how many said nothing." ;
  eidos:contractHandoff "Published record: Only scoped, cited, per-review claims reach the page; approval, causal-proof, composite, and safety language goes back to the team that made it." ;
  eidos:boundaryRule "Complete evidence with 0–1 matched indicators is NO-MATCH, never LOW. NO-MATCH means this vector did not match; it does not mean the decision is safe." ;
  eidos:boundaryRule "A classification never leaves its vector’s scope; market outcome and forensic match stay separate." ;
  eidos:boundaryRule "A covenant review is never a decision classification: unknown covenant terms stay unknown, and a disclosed covenant is not a safety rating." ;
  eidos:boundaryRule "No roster output approves a decision, proves causation, combines reviews into a composite score, or supplies a safety rating." .

eidos:analytical-instrument-disclosures a eidos:AnalyticalInstrument ;
  rdfs:label "Disclosed terms" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "Which decision terms are present?" .

eidos:analytical-instrument-participation a eidos:AnalyticalInstrument ;
  rdfs:label "Trading participation" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "2.0.0" ;
  eidos:summary "Who traded, and how concentrated was the observed volume?" .

eidos:analytical-instrument-market-selection a eidos:AnalyticalInstrument ;
  rdfs:label "Market reading" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "What do the observed prices imply under the selection rule?" .

eidos:analytical-instrument-selection-rule a eidos:AnalyticalInstrument ;
  rdfs:label "Selection rule" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "Which disclosed terms affect how an option wins?" .

eidos:analytical-instrument-closing-window a eidos:AnalyticalInstrument ;
  rdfs:label "Closing stretch" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "Did the leader or implied outcome change near the close?" .

eidos:analytical-instrument-prior-decisions a eidos:AnalyticalInstrument ;
  rdfs:label "Earlier decisions" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "What had this decider selected before this window opened?" .

eidos:analytical-instrument-measured-outcome a eidos:AnalyticalInstrument ;
  rdfs:label "Measured outcome" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.0" ;
  eidos:summary "What outcome did the resolver record?" .

eidos:analytical-instrument-recycled-stake-treasury-extraction a eidos:AnalyticalInstrument ;
  rdfs:label "Recycled-stake treasury extraction" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "1.0.2" ;
  eidos:summary "A proposer acquires the required stake, rapidly recovers and reuses it in the decision market, with wallet-funding and execution behavior providing supporting evidence." .

eidos:analytical-instrument-late-window-outcome-steering a eidos:AnalyticalInstrument ;
  rdfs:label "Late-window TWAP outcome steering" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "3.0.0" ;
  eidos:summary "A trader waits out most of the TWAP window, then pushes a marginal print across its threshold in the closing stretch — when the required move is fully known and defenders have the least accrual time left to trade the price back. Late trades carry the least time-weight, so the target is a market already near its threshold, not the TWAP itself. Late activity also has benign forms — organic close-out and activist pressure — so a detector must separate steering from ordinary end-of-window trading." .

eidos:analytical-instrument-wash-volume-alignment-inflation a eidos:AnalyticalInstrument ;
  rdfs:label "Wash-volume alignment inflation" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "4.0.0" ;
  eidos:summary "Automated near-neutral flow inflates a market's apparent volume and economic alignment, dressing thin conviction up as broad support while contributing no real position either way. The same fingerprint matches benign arbitrage flow, which published analysis strips as routine; a detector must separate deliberate wash from ordinary arb before it can say anything. So routine conditional arbitrage — one wallet's same-side legs on two options inside the cadence window — is netted out before any indicator is counted, and a wallet's presence on several options' markets counts only with same-pool round trips of at least the minimum turnover beside it. A market may have any number of options; pass and fail are the two of a pass/fail market. Machine cadence, frequency and tilt shift count only for wallets that show wash evidence — such round trips or a near-neutral ending — so a directional bot on a timer is not wash." .

eidos:analytical-instrument-coordinated-multiwallet-stake-assembly a eidos:AnalyticalInstrument ;
  rdfs:label "Coordinated multi-wallet stake assembly" ;
  skos:inScheme eidos:AnalyticalInstrumentScheme ;
  eidos:version "3.0.0" ;
  eidos:summary "An operator splits stake acquisition or market activity across coordinated wallets so no single address crosses the eligibility thresholds the organization enforces or the attribution thresholds a reviewer watches. Coordination alone is not an attack — multi-wallet holders and coordinated defenders share parts of this shape — so the mechanism is the threshold evasion, not the wallet count." .

eidos:recycled-stake-treasury-extraction a eidos:MonitoredVector ;
  rdfs:label "Recycled-stake treasury extraction" ;
  eidos:version "1.0.2" ;
  eidos:status "monitored" ;
  eidos:category "Economic governance attack" ;
  eidos:description "A proposer acquires the required stake, rapidly recovers and reuses it in the decision market, with wallet-funding and execution behavior providing supporting evidence." ;
  eidos:scopeNote "This classification is scoped to one monitored attack vector, not a validated composite proposal-risk score or a complete claim of safety." .

eidos:recycled-stake-treasury-extraction-fresh-wallet a eidos:Indicator ;
  rdfs:label "Fresh wallet with no prior history" ;
  eidos:role "Identity context" ;
  eidos:position 1 .

eidos:recycled-stake-treasury-extraction-bridge-funding a eidos:Indicator ;
  rdfs:label "Cross-chain / bridge funding" ;
  eidos:role "Funding context" ;
  eidos:position 2 .

eidos:recycled-stake-treasury-extraction-exact-stake-trim a eidos:Indicator ;
  rdfs:label "Accumulation trimmed to exact proposal-stake threshold" ;
  eidos:role "Eligibility acquisition" ;
  eidos:position 3 .

eidos:recycled-stake-treasury-extraction-stake-recover-reuse a eidos:Indicator ;
  rdfs:label "Stake recovered and reused in the decision market" ;
  eidos:role "Capital reuse" ;
  eidos:position 4 .

eidos:recycled-stake-treasury-extraction-clustered-cadence a eidos:Indicator ;
  rdfs:label "Clustered fixed-size cadence trades" ;
  eidos:role "Market execution" ;
  eidos:position 5 .

eidos:detector-recycled-stake-treasury-extraction a eidos:Detector ;
  rdfs:label "Recycled-stake treasury extraction detector" ;
  eidos:version "1.0.2" .

eidos:source-01resolved-com-research-the-umbra-treasury-attack-cost-its-attacker-4-623 a eidos:MethodologySource ;
  rdfs:label "01Resolved — The Umbra treasury attack cost its attacker $4,623" ;
  eidos:sourceUrl "https://01resolved.com/research/the-umbra-treasury-attack-cost-its-attacker-4-623/" .

eidos:incident-umbra-treasury-attack-2026-08 a eidos:IncidentStudy ;
  rdfs:label "Umbra's Decision Market Rejected a $1.5M Treasury Attack" ;
  eidos:incidentOrganizationSlug "umbra" ;
  eidos:incidentProposalAccount "8sysa3XPrvKPmUA4qoZCn9h4vp7Mb45Ynezg542nui8Q" ;
  eidos:publisher "01Resolved" ;
  eidos:publishedAt "2026-08-05"^^xsd:date ;
  eidos:sourceUrl "https://01resolved.com/research/the-umbra-treasury-attack-cost-its-attacker-4-623/" .

eidos:late-window-outcome-steering a eidos:MonitoredVector ;
  rdfs:label "Late-window TWAP outcome steering" ;
  eidos:version "3.0.0" ;
  eidos:status "monitored" ;
  eidos:category "Decision market manipulation" ;
  eidos:description "A trader waits out most of the TWAP window, then pushes a marginal print across its threshold in the closing stretch — when the required move is fully known and defenders have the least accrual time left to trade the price back. Late trades carry the least time-weight, so the target is a market already near its threshold, not the TWAP itself. Late activity also has benign forms — organic close-out and activist pressure — so a detector must separate steering from ordinary end-of-window trading." ;
  eidos:scopeNote "This classification is scoped to one monitored attack vector, not a validated composite proposal-risk score or a complete claim of safety." .

eidos:late-window-outcome-steering-late-weight-concentration a eidos:Indicator ;
  rdfs:label "Aligned volume concentrated in the closing hours of the TWAP window" ;
  eidos:role "Timing" ;
  eidos:position 1 .

eidos:late-window-outcome-steering-single-trade-fragility a eidos:Indicator ;
  rdfs:label "Printed outcome crosses the threshold on one marginal trade" ;
  eidos:role "Fragility" ;
  eidos:position 2 .

eidos:late-window-outcome-steering-thin-closing-move a eidos:Indicator ;
  rdfs:label "Closing move toward pass made with little money" ;
  eidos:role "Liquidity" ;
  eidos:position 3 .

eidos:late-window-outcome-steering-after-close-reversal a eidos:Indicator ;
  rdfs:label "The token's own price undoes the closing edge after the window" ;
  eidos:role "Reversal" ;
  eidos:position 4 .

eidos:late-window-outcome-steering-spike-clears-configured-threshold a eidos:Indicator ;
  rdfs:label "Intra-window spike alone would clear the configured threshold" ;
  eidos:role "Threshold pressure" ;
  eidos:position 5 .

eidos:detector-late-window-outcome-steering a eidos:Detector ;
  rdfs:label "Late-window TWAP outcome steering detector" ;
  eidos:version "3.0.0" .

eidos:source-01resolved-com-research a eidos:MethodologySource ;
  rdfs:label "01Resolved — research index (late-activity taxonomy and signal quality)" ;
  eidos:sourceUrl "https://01resolved.com/research/" .

eidos:source-docs-metadao-fi a eidos:MethodologySource ;
  rdfs:label "MetaDAO documentation (TWAP window mechanics)" ;
  eidos:sourceUrl "https://docs.metadao.fi" .

eidos:wash-volume-alignment-inflation a eidos:MonitoredVector ;
  rdfs:label "Wash-volume alignment inflation" ;
  eidos:version "4.0.0" ;
  eidos:status "monitored" ;
  eidos:category "Decision market manipulation" ;
  eidos:description "Automated near-neutral flow inflates a market's apparent volume and economic alignment, dressing thin conviction up as broad support while contributing no real position either way. The same fingerprint matches benign arbitrage flow, which published analysis strips as routine; a detector must separate deliberate wash from ordinary arb before it can say anything. So routine conditional arbitrage — one wallet's same-side legs on two options inside the cadence window — is netted out before any indicator is counted, and a wallet's presence on several options' markets counts only with same-pool round trips of at least the minimum turnover beside it. A market may have any number of options; pass and fail are the two of a pass/fail market. Machine cadence, frequency and tilt shift count only for wallets that show wash evidence — such round trips or a near-neutral ending — so a directional bot on a timer is not wash." ;
  eidos:scopeNote "This classification is scoped to one monitored attack vector, not a validated composite proposal-risk score or a complete claim of safety." .

eidos:wash-volume-alignment-inflation-paired-branch-executions a eidos:Indicator ;
  rdfs:label "Executions on more than one option's market from one wallet" ;
  eidos:role "Execution symmetry" ;
  eidos:position 1 .

eidos:wash-volume-alignment-inflation-fixed-size-cluster a eidos:Indicator ;
  rdfs:label "Fixed-size trade clusters at machine cadence" ;
  eidos:role "Cadence" ;
  eidos:position 2 .

eidos:wash-volume-alignment-inflation-near-neutral-net a eidos:Indicator ;
  rdfs:label "Near-neutral ending exposure despite high turnover" ;
  eidos:role "Exposure" ;
  eidos:position 3 .

eidos:wash-volume-alignment-inflation-arb-frequency-band a eidos:Indicator ;
  rdfs:label "Per-wallet trade frequency in the arbitrage band" ;
  eidos:role "Frequency" ;
  eidos:position 4 .

eidos:wash-volume-alignment-inflation-stripped-tilt-shift a eidos:Indicator ;
  rdfs:label "Net volume tilt moves materially once the flow is stripped" ;
  eidos:role "Alignment distortion" ;
  eidos:position 5 .

eidos:detector-wash-volume-alignment-inflation a eidos:Detector ;
  rdfs:label "Wash-volume alignment inflation detector" ;
  eidos:version "4.0.0" .

eidos:source-01resolved-com a eidos:MethodologySource ;
  rdfs:label "01Resolved — platform (Decision Market Analysis Model)" ;
  eidos:sourceUrl "https://www.01resolved.com/" .

eidos:coordinated-multiwallet-stake-assembly a eidos:MonitoredVector ;
  rdfs:label "Coordinated multi-wallet stake assembly" ;
  eidos:version "3.0.0" ;
  eidos:status "monitored" ;
  eidos:category "Economic governance attack" ;
  eidos:description "An operator splits stake acquisition or market activity across coordinated wallets so no single address crosses the eligibility thresholds the organization enforces or the attribution thresholds a reviewer watches. Coordination alone is not an attack — multi-wallet holders and coordinated defenders share parts of this shape — so the mechanism is the threshold evasion, not the wallet count." ;
  eidos:scopeNote "This classification is scoped to one monitored attack vector, not a validated composite proposal-risk score or a complete claim of safety." .

eidos:coordinated-multiwallet-stake-assembly-common-funding-source a eidos:Indicator ;
  rdfs:label "Participating wallets linked by funding: one upstream source, or one funded by another" ;
  eidos:role "Funding context" ;
  eidos:position 1 .

eidos:coordinated-multiwallet-stake-assembly-synchronized-first-activity a eidos:Indicator ;
  rdfs:label "Wallets first active inside a tight shared window" ;
  eidos:role "Identity context" ;
  eidos:position 2 .

eidos:coordinated-multiwallet-stake-assembly-split-threshold-assembly a eidos:Indicator ;
  rdfs:label "Combined position crosses a stake threshold no single wallet crosses" ;
  eidos:role "Eligibility acquisition" ;
  eidos:position 3 .

eidos:coordinated-multiwallet-stake-assembly-shared-execution-fingerprint a eidos:Indicator ;
  rdfs:label "Matching trade-size and cadence fingerprint across wallets" ;
  eidos:role "Market execution" ;
  eidos:position 4 .

eidos:coordinated-multiwallet-stake-assembly-synchronized-exit a eidos:Indicator ;
  rdfs:label "Coordinated exit across the wallet set after resolution" ;
  eidos:role "Exit behavior" ;
  eidos:position 5 .

eidos:detector-coordinated-multiwallet-stake-assembly a eidos:Detector ;
  rdfs:label "Coordinated multi-wallet stake assembly detector" ;
  eidos:version "3.0.0" .

eidos:source-01resolved-com-research-ownership-score-what-the-first-experiment-reveals a eidos:MethodologySource ;
  rdfs:label "01Resolved — Ownership Score, what the first experiment reveals" ;
  eidos:sourceUrl "https://01resolved.com/research/ownership-score-what-the-first-experiment-reveals/" .

eidos:terminal-window-twap-capture a eidos:DocumentedVector ;
  rdfs:label "Terminal-window TWAP capture" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Decision market manipulation" ;
  eidos:description "A governance rule resolves on a TWAP measured over only a short terminal slice of a much longer decision period, on pools that need only clear a published minimum-liquidity floor. The entire resolving window is the closing stretch: the capital needed to own the print is calculable in advance from the floor and the window length, and defenders have no earlier accrual to lean on. Distinct from late-window outcome steering, which targets the tail of a full-length TWAP window — here the rule itself confines every unit of resolving weight to the terminal window. Genuine late information arrival produces the same late repricing, so a detector must separate engineered capture from honest end-of-period discovery." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:terminal-window-twap-capture-terminal-only-weight a eidos:Indicator ;
  rdfs:label "All resolving TWAP weight accrues in a terminal window that is a small fraction of the decision period" ;
  eidos:role "Window structure" ;
  eidos:position 1 .

eidos:terminal-window-twap-capture-floor-hugging-liquidity a eidos:Indicator ;
  rdfs:label "Full-range depth sits at or barely above the published liquidity floor" ;
  eidos:role "Liquidity" ;
  eidos:position 2 .

eidos:terminal-window-twap-capture-quiet-then-capture a eidos:Indicator ;
  rdfs:label "Markets stay quiet until the resolving window opens, then absorb concentrated aligned flow" ;
  eidos:role "Timing" ;
  eidos:position 3 .

eidos:terminal-window-twap-capture-in-window-inversion a eidos:Indicator ;
  rdfs:label "Pass/fail ordering flips inside the resolving window after holding steady before it" ;
  eidos:role "Fragility" ;
  eidos:position 4 .

eidos:terminal-window-twap-capture-post-window-reversion a eidos:Indicator ;
  rdfs:label "Prices revert once the terminal window closes and weight stops accruing" ;
  eidos:role "Reversal" ;
  eidos:position 5 .

eidos:source-snapshot-org-kleros-eth-proposal-0xa213179debfca1cb5b8f65ac9d641e6e4e8fb5df48019 a eidos:MethodologySource ;
  rdfs:label "Kleros KIP-76 — Futarchy-Based Governance Rule for PNK Minting (Snapshot, kleros.eth)" ;
  eidos:sourceUrl "https://snapshot.org/#/kleros.eth/proposal/0xa213179debfca1cb5b8f65ac9d641e6e4e8fb5df480196c909e9ae1ab548daa7" .

eidos:source-ethresear-ch-t-futarchy-is-insecure-without-a-trusted-gatekeeper-25235 a eidos:MethodologySource ;
  rdfs:label "ethresear.ch — Futarchy is insecure without a trusted gatekeeper" ;
  eidos:sourceUrl "https://ethresear.ch/t/futarchy-is-insecure-without-a-trusted-gatekeeper/25235" .

eidos:advisory-signal-inflation a eidos:DocumentedVector ;
  rdfs:label "Advisory-signal inflation" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Governance-signal manipulation" ;
  eidos:description "Where a decision market is advisory — its price signal informs a vote or a bound delegate but executes nothing — moving the signal is cheap: no treasury settlement forces the manipulator to hold losing risk, and thin honest flow is the norm. An inflated print then travels as social proof through forums, delegates, and dashboards that cite the market as an endorsement. Honest participants also trade advisory markets at low volume, so a detector must separate manufactured endorsement from a thin but genuine signal." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:advisory-signal-inflation-stakeless-directional-print a eidos:Indicator ;
  rdfs:label "Directional prints arrive without exposure held through the signal read" ;
  eidos:role "Exposure" ;
  eidos:position 1 .

eidos:advisory-signal-inflation-signal-scale-mismatch a eidos:Indicator ;
  rdfs:label "Signal-moving flow is trivial against the decision's stated stakes" ;
  eidos:role "Capital sizing" ;
  eidos:position 2 .

eidos:advisory-signal-inflation-read-timed-concentration a eidos:Indicator ;
  rdfs:label "Aligned flow concentrates just before the signal is read or a bound delegate executes" ;
  eidos:role "Timing" ;
  eidos:position 3 .

eidos:advisory-signal-inflation-venue-alignment-divergence a eidos:Indicator ;
  rdfs:label "Market signal diverges from the venue's own vote and forum alignment" ;
  eidos:role "Cross-check" ;
  eidos:position 4 .

eidos:advisory-signal-inflation-post-read-unwind a eidos:Indicator ;
  rdfs:label "Positions unwind once the advisory signal has been consumed" ;
  eidos:role "Reversal" ;
  eidos:position 5 .

eidos:source-forum-gnosis-io-t-11816 a eidos:MethodologySource ;
  rdfs:label "Gnosis forum — GIP-145 futarchy pilot discussion" ;
  eidos:sourceUrl "https://forum.gnosis.io/t/11816" .

eidos:source-forum-gnosis-io-t-12197 a eidos:MethodologySource ;
  rdfs:label "Gnosis forum — futarchist.eth, a delegate bound to the futarchy signal" ;
  eidos:sourceUrl "https://forum.gnosis.io/t/12197" .

eidos:source-gov-optimism-io-t-futarchy-v1-preliminary-findings-10062 a eidos:MethodologySource ;
  rdfs:label "Optimism governance — Futarchy v1 preliminary findings" ;
  eidos:sourceUrl "https://gov.optimism.io/t/futarchy-v1-preliminary-findings/10062" .

eidos:resistance-contingent-delivery a eidos:DocumentedVector ;
  rdfs:label "Resistance-contingent delivery" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Proposal-priceability failure" ;
  eidos:description "A proposer leaves delivery discretionary, defends the pass/fail spread, and performs the promised work only when corrective trading makes continued price defense more expensive than delivery. The market can price the value of the promised work without pricing an enforceable obligation to perform it. This is a candidate mechanism from published threat-model research, not an observed attack finding." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:resistance-contingent-delivery-discretionary-delivery-terms a eidos:Indicator ;
  rdfs:label "Proposal terms leave value-creating delivery at the proposer's discretion" ;
  eidos:role "Delivery terms" ;
  eidos:position 1 .

eidos:resistance-contingent-delivery-pass-defense-before-delivery a eidos:Indicator ;
  rdfs:label "Proposer-controlled pass-price defense appears before evidence of delivery" ;
  eidos:role "Market execution" ;
  eidos:position 2 .

eidos:resistance-contingent-delivery-resistance-linked-performance a eidos:Indicator ;
  rdfs:label "Delivery begins or improves only after corrective sell pressure rises" ;
  eidos:role "Contingency" ;
  eidos:position 3 .

eidos:resistance-contingent-delivery-unenforceable-nonperformance a eidos:Indicator ;
  rdfs:label "Non-delivery carries no enforceable loss comparable with the proposal benefit" ;
  eidos:role "Enforcement" ;
  eidos:position 4 .

eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat a eidos:MethodologySource ;
  rdfs:label "LessWrong — Futarchy is insecure without a trusted gatekeeper" ;
  eidos:sourceUrl "https://www.lesswrong.com/posts/oAKsuX5XpPxFSEoHM/futarchy-is-insecure-without-a-trusted-gatekeeper" .

eidos:conditional-holder-exit-supply-failure a eidos:DocumentedVector ;
  rdfs:label "Conditional holder-exit supply failure" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Proposal-priceability failure" ;
  eidos:description "Corrective pass-branch selling is constrained because a spot holder who sells is conditionally exiting the underlying asset, not merely opposing the proposal, while non-holders may lack short access and synthetic sellers bear adverse-selection risk. Mild proposal harm can therefore face less corrective supply than its holder base suggests. This is a candidate market-access mechanism, not evidence that a thin book was manipulated." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:conditional-holder-exit-supply-failure-holder-only-pass-supply a eidos:Indicator ;
  rdfs:label "Pass-branch sell flow is limited to existing holders willing to exit after passage" ;
  eidos:role "Participation access" ;
  eidos:position 1 .

eidos:conditional-holder-exit-supply-failure-no-synthetic-short-access a eidos:Indicator ;
  rdfs:label "Non-holders cannot create pass-branch short exposure" ;
  eidos:role "Market access" ;
  eidos:position 2 .

eidos:conditional-holder-exit-supply-failure-corrective-flow-below-private-benefit a eidos:Indicator ;
  rdfs:label "Corrective flow below the passage threshold is small against the proposer's private benefit" ;
  eidos:role "Capital sizing" ;
  eidos:position 3 .

eidos:conditional-holder-exit-supply-failure-short-side-adverse-selection a eidos:Indicator ;
  rdfs:label "Withheld proposal information creates material adverse-selection risk for corrective sellers" ;
  eidos:role "Risk bearing" ;
  eidos:position 4 .

eidos:proposal-convexity-selection a eidos:DocumentedVector ;
  rdfs:label "Proposal-convexity selection" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Proposal-priceability failure" ;
  eidos:description "A proposer submits before material proposal-specific uncertainty resolves, so passage selects for favorable-information worlds and the pass price can exceed the fail price even when unconditional approval has negative expected value. The mechanism depends on an unsettled conditional-versus-causal argument and records that causal assumption rather than claiming proof." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:proposal-convexity-selection-material-unresolved-detail a eidos:Indicator ;
  rdfs:label "A material proposal-specific fact remains unresolved when the decision window opens" ;
  eidos:role "Causal assumption" ;
  eidos:position 1 .

eidos:proposal-convexity-selection-information-resolves-in-window a eidos:Indicator ;
  rdfs:label "The unresolved fact can become known before the market-guided decision executes" ;
  eidos:role "Selection timing" ;
  eidos:position 2 .

eidos:proposal-convexity-selection-favorable-state-passage-coupling a eidos:Indicator ;
  rdfs:label "Favorable realizations are mechanically more likely to produce passage" ;
  eidos:role "Conditional selection" ;
  eidos:position 3 .

eidos:proposal-convexity-selection-conditional-unconditional-value-gap a eidos:Indicator ;
  rdfs:label "Conditional pass value and ex ante approval value diverge under disclosed assumptions" ;
  eidos:role "Value model" ;
  eidos:position 4 .

eidos:source-lesswrong-com-posts-mw4ypzr6ctwkqncvp-futarchy-is-parasitic-on-what-it-tries-to a eidos:MethodologySource ;
  rdfs:label "LessWrong — Futarchy is Parasitic on What It Tries to Govern" ;
  eidos:sourceUrl "https://www.lesswrong.com/posts/mW4ypzR6cTwKqncvp/futarchy-is-parasitic-on-what-it-tries-to-govern" .

eidos:source-lesswrong-com-posts-deoyawznnktm5gmnm-no-futarchy-doesn-t-have-this-edt-flaw a eidos:MethodologySource ;
  rdfs:label "LessWrong — No, Futarchy Doesn't Have This EDT Flaw" ;
  eidos:sourceUrl "https://www.lesswrong.com/posts/dEoyaWznnKtM5GMnM/no-futarchy-doesn-t-have-this-edt-flaw" .

eidos:countertrade-adverse-selection-deterrence a eidos:DocumentedVector ;
  rdfs:label "Countertrade adverse-selection deterrence" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Proposal-priceability failure" ;
  eidos:description "A proposer withholds value-relevant specification and buys pass exposure, while corrective traders hesitate because the missing terms might conceal either a harmful deal or favorable private information that makes selling costly. The resulting participation gap is a candidate proposal-specification threat, not a classification of every confidential proposal." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:countertrade-adverse-selection-deterrence-withheld-value-terms a eidos:Indicator ;
  rdfs:label "Counterparty, scope, fees, milestones, or performance commitments are withheld" ;
  eidos:role "Proposal specification" ;
  eidos:position 1 .

eidos:countertrade-adverse-selection-deterrence-proposer-pass-accumulation a eidos:Indicator ;
  rdfs:label "Proposer-linked wallets accumulate pass exposure while material terms remain hidden" ;
  eidos:role "Market execution" ;
  eidos:position 2 .

eidos:countertrade-adverse-selection-deterrence-hidden-good-loss-dominates a eidos:Indicator ;
  rdfs:label "Corrective sellers face larger losses in a plausible hidden-good state than gains in the visible bad state" ;
  eidos:role "Adverse selection" ;
  eidos:position 3 .

eidos:countertrade-adverse-selection-deterrence-late-specification-release a eidos:Indicator ;
  rdfs:label "Value-relevant terms arrive only after corrective participation has been deterred" ;
  eidos:role "Disclosure timing" ;
  eidos:position 4 .

eidos:fail-branch-sabotage a eidos:DocumentedVector ;
  rdfs:label "Fail-branch sabotage" ;
  eidos:version "1.0.0" ;
  eidos:status "documented" ;
  eidos:category "Proposal-priceability failure" ;
  eidos:description "A proposer credibly commits to withdrawing support, liquidity, or another dependency if rejected, making the fail branch worse until accepting an otherwise harmful proposal becomes the locally higher-priced outcome. The candidate mechanism concerns branch independence and commitment, not proof that an observed fail discount was retaliation." ;
  eidos:scopeNote "This vector is documented, not monitored: its detector has not shipped, so it never produces a classification. The definition records the mechanism and the evidence a detector would need first." .

eidos:fail-branch-sabotage-rejection-contingent-threat a eidos:Indicator ;
  rdfs:label "A proposer-controlled harm is explicitly or implicitly contingent on rejection" ;
  eidos:role "Branch independence" ;
  eidos:position 1 .

eidos:fail-branch-sabotage-credible-sabotage-capability a eidos:Indicator ;
  rdfs:label "The proposer controls a dependency capable of imposing the threatened harm" ;
  eidos:role "Capability" ;
  eidos:position 2 .

eidos:fail-branch-sabotage-fail-discount-tracks-threat a eidos:Indicator ;
  rdfs:label "The fail-branch discount appears with or strengthens after the threat" ;
  eidos:role "Market response" ;
  eidos:position 3 .

eidos:fail-branch-sabotage-off-path-private-cost-gap a eidos:Indicator ;
  rdfs:label "The proposer's off-path cost of carrying out the threat is smaller than the organization's loss" ;
  eidos:role "Incentive" ;
  eidos:position 4 .

eidos:covenant-stamp a eidos:LaunchCovenant ;
  rdfs:label "STAMP launch covenant" ;
  eidos:investorReserveCapPct 20 ;
  eidos:teamAllocationMinPct 10 ;
  eidos:teamAllocationMaxPct 40 ;
  eidos:vestingMonths 24 ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-use-of-proceeds-restricted a eidos:CovenantCheck ;
  rdfs:label "Use of proceeds restricted" ;
  eidos:version "1.0.0" ;
  eidos:detail "Funds can only be used for product development and operating expenses." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-investor-reserve-capped a eidos:CovenantCheck ;
  rdfs:label "Investor reserve capped and non-dilutable" ;
  eidos:version "1.0.0" ;
  eidos:detail "Investor reserve at most 20% of total organization tokens and not dilutable post-agreement." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-team-allocation-band a eidos:CovenantCheck ;
  rdfs:label "Team allocation in band with milestone vesting" ;
  eidos:version "1.0.0" ;
  eidos:detail "Team allocation between 10% and 40% of total supply on milestone-based vesting." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-vesting-schedule a eidos:CovenantCheck ;
  rdfs:label "Linear unlock schedule" ;
  eidos:version "1.0.0" ;
  eidos:detail "Tokens enter a 24-month linear unlock once the Delivery Notice is received." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-legal-entity a eidos:CovenantCheck ;
  rdfs:label "Cayman SPC/SP entity created" ;
  eidos:version "1.0.0" ;
  eidos:detail "Founders create a Cayman SPC/SP entity through the venue interface." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:covenant-check-third-party-review a eidos:CovenantCheck ;
  rdfs:label "Third-party review commissioned" ;
  eidos:version "1.0.0" ;
  eidos:detail "A third-party review of the covenant or programs exists. STAMP itself requires none, so absence is the venue default, not a violation." ;
  eidos:sourceUrl "https://docs.metadao.fi/how-launches-work/stamp.md" .

eidos:instrument-flip-cost-scenario a eidos:Instrument ;
  rdfs:label "Flip-cost scenario" ;
  eidos:version "1.0.0" ;
  eidos:assumption "Constant-product pools: spending q against quote-side depth Q moves spot by the factor (1 + q/Q)^2." ;
  eidos:assumption "Single-sided: only buying the pass market up from parity is costed; selling the fail market down is not." ;
  eidos:assumption "No defensive or arbitrage flow: every dollar of opposing depth raises the real cost above this floor." ;
  eidos:assumption "No swap fees, and move cost only: holding the print across the TWAP window against sellers is not costed." ;
  eidos:note "A stated-assumptions lower bound on moving one conditional pool's print; never an indicator, a classification, or a safety rating." .

eidos:instrument-order-flow-toxicity a eidos:Instrument ;
  rdfs:label "Order-flow toxicity (VPIN)" ;
  eidos:version "1.0.0" ;
  eidos:assumption "Volume clock: trades are bucketed into equal-volume buckets in the chain's own order, and a trade that straddles a boundary is split across both buckets. Time is not the axis." ;
  eidos:assumption "Exact side, not bulk classification: the published metric estimates the buy/sell split from price changes because a tape carries no initiator side. A ConditionalSwap event carries it, so the split here is read from the chain — these readings are not numerically comparable to BVC-estimated VPIN." ;
  eidos:assumption "Direction is economic: buying pass and selling fail count as one side, buying fail and selling pass as the other. A decision market has no single asset to sign against." ;
  eidos:assumption "The window is the sample: the mean runs over the whole indexed window rather than the paper's rolling last-n buckets, so this is one reading per proposal, not a rolling series." ;
  eidos:assumption "A decision market concludes by trading one-sided, so a high reading is the expected shape of a market that reached a decision — never evidence of informed or manipulative flow, and a low reading is never safety." ;
  eidos:assumption "Coverage rides along: where the signature scan did not reach the proposal's opening, the earliest trades are not indexed and the reading covers only the stretch that was." ;
  eidos:assumption "Concentration is disclosed, not smoothed: a single order wider than a bucket fixes that bucket's imbalance at 1 on its own, so the reading reports the largest trade as a multiple of a bucket beside the mean." ;
  eidos:methodSource "Easley, López de Prado & O'Hara, Flow Toxicity and Liquidity in a High Frequency World, Review of Financial Studies 25(5), 2012" ;
  eidos:bucketCount 50 ;
  eidos:minimumTrades 40 ;
  eidos:note "Mean absolute order-flow imbalance across equal-volume buckets of a proposal's indexed conditional swaps. A measurement, never an indicator, a classification, or a safety rating: a decision market concludes by trading one-sided, so a high reading is the expected shape of a market that decided." .

eidos:instrument-microstructure-stack a eidos:Instrument ;
  rdfs:label "Microstructure stack" ;
  eidos:version "1.0.0" ;
  eidos:member "order-flow-imbalance" ;
  eidos:member "cumulative-volume-delta" ;
  eidos:member "kyle-lambda" ;
  eidos:member "amihud-illiquidity" ;
  eidos:member "variance-ratio" ;
  eidos:member "participation" ;
  eidos:member "pre-recording-volume" ;
  eidos:note "Seven separate readings over a proposal's indexed conditional swaps, each with its own withheld reasons. They are never folded into a signal-credibility or market-quality index — these instruments have no validated aggregate model." .

eidos:unavailable-effective-spread a eidos:UnavailableMeasure ;
  rdfs:label "Effective and realized spread" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "A quoted mid at fill time, and a maker whose inventory the realized half is measured against." ;
  eidos:localSubstitute "An AMM's spread is its fee plus its curve, and both are known exactly rather than estimated. The comparable quantity is a fill's slippage against the pool's pre-trade spot, which needs the reserves the ConditionalSwap event carries and the indexer currently discards." .

eidos:unavailable-post-fill-markout a eidos:UnavailableMeasure ;
  rdfs:label "Post-fill markout" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "The mid a few seconds or minutes after a fill, from a quote series independent of the fills themselves." ;
  eidos:localSubstitute "The pool's own post-trade spot is a function of the same trade, so a markout taken against it measures the curve rather than adverse selection. An independent mid would have to come from the retained account reads, whose cadence is minutes, not seconds." .

eidos:unavailable-depth-imbalance a eidos:UnavailableMeasure ;
  rdfs:label "Depth and near-touch imbalance" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "Resting size at the touch and the levels behind it." ;
  eidos:localSubstitute "The pool's quote-side reserves are the whole book, and the flip-cost scenario already costs a move against them on both legs." .

eidos:unavailable-trade-based-spread-estimators a eidos:UnavailableMeasure ;
  rdfs:label "Roll, Gibbs, Corwin-Schultz and Abdi-Ranaldo" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "A bid-ask spread that exists but is unobserved, which is what these estimate from prints." ;
  eidos:localSubstitute "There is no unobserved spread here to estimate. Publishing one of these would put a confident number on a quantity the venue does not have." .

eidos:unavailable-longshot-spread-premium a eidos:UnavailableMeasure ;
  rdfs:label "Longshot spread premium" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "A bounded contract priced as a probability, where a 2c quote carries payoff leverage a 50c quote does not." ;
  eidos:localSubstitute "A futarchy conditional market prices a token under a branch, not a bounded probability, so there is no zero-or-one boundary for a premium to widen against." .

eidos:unavailable-self-counterparty-wash a eidos:UnavailableMeasure ;
  rdfs:label "Self-counterparty wash share" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "Two sides of a fill that can belong to the same beneficial owner." ;
  eidos:localSubstitute "The pool is always the counterparty, so a wallet cannot trade with itself. The comparable pattern is a wallet round-tripping both conditional branches, which is an Attack-review wash-volume indicator rather than a Market-review observation." .

eidos:unavailable-information-leakage-score a eidos:UnavailableMeasure ;
  rdfs:label "Information leakage score" ;
  skos:inScheme eidos:UnavailableMeasureScheme ;
  eidos:requires "A public-announcement timestamp for the decision the proposal encodes, sourced independently of the market's own lifecycle." ;
  eidos:note "Every timestamp the proposal account carries is a moment the market learned, not a moment the public did. A leakage score anchored to one of them measures the anchor, and its sign flips with the choice." ;
  eidos:localSubstitute "The pre-recording volume share is published in its place: it measures against the TWAP start, which is exactly known, and it claims only that flow arrived before the stretch that counts." .

eidos:diligence-question-engine a eidos:DiligenceQuestion ;
  rdfs:label "Engine" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "engine" ;
  eidos:diligenceQuestionText "Which engine governs the organization, and is its market binding, advisory, or binding only for some actions?" ;
  eidos:diligenceQuestionBasis "Documents" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-identity a eidos:DiligenceQuestion ;
  rdfs:label "Mint and DAO account" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "identity" ;
  eidos:diligenceQuestionText "Which token mint and DAO account belong to it?" ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-treasury-control a eidos:DiligenceQuestion ;
  rdfs:label "Treasury vault" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "treasury-control" ;
  eidos:diligenceQuestionText "Which vault holds the treasury, who are its signers, and what is the signing threshold?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-spending-limit a eidos:DiligenceQuestion ;
  rdfs:label "Spending without a market" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "spending-limit" ;
  eidos:diligenceQuestionText "What can be spent without a market: the monthly spending limit, who may spend it, and whether optimistic governance is on?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-treasury-holdings a eidos:DiligenceQuestion ;
  rdfs:label "Holdings" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "treasury-holdings" ;
  eidos:diligenceQuestionText "What does the vault hold now, and what treasury figure has a third party cited? Shown side by side, never merged." ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-revenue-destination a eidos:DiligenceQuestion ;
  rdfs:label "Revenue lands in" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "revenue-destination" ;
  eidos:diligenceQuestionText "Where does revenue land: the treasury, or an operating company?" ;
  eidos:diligenceQuestionBasis "Documents" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-mint-authority a eidos:DiligenceQuestion ;
  rdfs:label "Mint authority" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "mint-authority" ;
  eidos:diligenceQuestionText "Who holds mint authority and freeze authority over the token, and can the authority be reclaimed?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-team-package a eidos:DiligenceQuestion ;
  rdfs:label "Team package" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "team-package" ;
  eidos:diligenceQuestionText "What are the team's performance-package terms, and has a proposal changed them?" ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-concentration a eidos:DiligenceQuestion ;
  rdfs:label "Concentration" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "concentration" ;
  eidos:diligenceQuestionText "How concentrated were raise commitments, and how concentrated are holdings now?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-decision-rules a eidos:DiligenceQuestion ;
  rdfs:label "Decision rules" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "decision-rules" ;
  eidos:diligenceQuestionText "What pass threshold applies to team and other proposals, how large is the proposal stake, and how long does a proposal run?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-admin-override a eidos:DiligenceQuestion ;
  rdfs:label "Admin override" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "admin-override" ;
  eidos:diligenceQuestionText "What admin override exists over its decisions, and has it been used?" ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-market-depth a eidos:DiligenceQuestion ;
  rdfs:label "Market depth" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "market-depth" ;
  eidos:diligenceQuestionText "How deep were its past decision markets: traders, volume and days open?" ;
  eidos:diligenceQuestionBasis "On chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-legal-entity a eidos:DiligenceQuestion ;
  rdfs:label "Legal entity and IP" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "legal-entity" ;
  eidos:diligenceQuestionText "Which legal entity holds the intellectual property, in which jurisdiction, and was the assignment completed?" ;
  eidos:diligenceQuestionBasis "Documents" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-liabilities a eidos:DiligenceQuestion ;
  rdfs:label "Off-chain liabilities" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "liabilities" ;
  eidos:diligenceQuestionText "What off-chain liabilities and service agreements exist?" ;
  eidos:diligenceQuestionBasis "Documents" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-raise-claims a eidos:DiligenceQuestion ;
  rdfs:label "Claims at the raise" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "raise-claims" ;
  eidos:diligenceQuestionText "What did the team claim before the raise, and who has confirmed or disputed it?" ;
  eidos:diligenceQuestionBasis "Documents" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-programs a eidos:DiligenceQuestion ;
  rdfs:label "Programs and audits" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "programs" ;
  eidos:diligenceQuestionText "Which programs does it run on, are they audited and verified builds, and who holds upgrade authority?" ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:diligence-question-exit-path a eidos:DiligenceQuestion ;
  rdfs:label "Exit path" ;
  skos:inScheme eidos:DiligenceQuestionScheme ;
  eidos:diligenceQuestionId "exit-path" ;
  eidos:diligenceQuestionText "How would holders exit: the liquidation path, who builds the refund list, and any past redemption?" ;
  eidos:diligenceQuestionBasis "Documents, checked on chain" ;
  eidos:diligenceQuestionSetVersion "1.0.0" .

eidos:statement-field-purpose a eidos:OrganizationStatementField ;
  rdfs:label "Purpose" ;
  skos:inScheme eidos:OrganizationStatementFieldScheme ;
  eidos:statementFieldId "purpose" ;
  eidos:statementFieldQuestion "What is the decision or organization for?" ;
  eidos:statementFieldRefreshAfterDays 180 .

eidos:statement-field-obligations a eidos:OrganizationStatementField ;
  rdfs:label "Obligations" ;
  skos:inScheme eidos:OrganizationStatementFieldScheme ;
  eidos:statementFieldId "obligations" ;
  eidos:statementFieldQuestion "Who is bound if it passes, and to what?" ;
  eidos:statementFieldRefreshAfterDays 90 .

eidos:statement-field-commitments a eidos:OrganizationStatementField ;
  rdfs:label "Commitments" ;
  skos:inScheme eidos:OrganizationStatementFieldScheme ;
  eidos:statementFieldId "commitments" ;
  eidos:statementFieldQuestion "What did the organization commit to deliver, and by when?" ;
  eidos:statementFieldRefreshAfterDays 90 .

eidos:statement-field-documents a eidos:OrganizationStatementField ;
  rdfs:label "Documents" ;
  skos:inScheme eidos:OrganizationStatementFieldScheme ;
  eidos:statementFieldId "documents" ;
  eidos:statementFieldQuestion "Which documents state it, in the organization's words?" ;
  eidos:statementFieldRefreshAfterDays 180 .

# ── evidence: statements ──────────────────────────────────────────────

eidos:roster-3-0-0 eidos:rosterMember eidos:review-evidence .
eidos:roster-3-0-0 eidos:rosterMember eidos:review-attack .
eidos:roster-3-0-0 eidos:rosterMember eidos:review-market .
eidos:roster-3-0-0 eidos:rosterMember eidos:review-playbooks .
eidos:roster-3-0-0 eidos:rosterMember eidos:review-learning .
eidos:roster-3-0-0 eidos:rosterMember eidos:review-claims .
eidos:analytical-instrument-recycled-stake-treasury-extraction eidos:analyticalVector eidos:recycled-stake-treasury-extraction .
eidos:analytical-instrument-late-window-outcome-steering eidos:analyticalVector eidos:late-window-outcome-steering .
eidos:analytical-instrument-wash-volume-alignment-inflation eidos:analyticalVector eidos:wash-volume-alignment-inflation .
eidos:analytical-instrument-coordinated-multiwallet-stake-assembly eidos:analyticalVector eidos:coordinated-multiwallet-stake-assembly .
eidos:recycled-stake-treasury-extraction eidos:hasIndicator eidos:recycled-stake-treasury-extraction-fresh-wallet .
eidos:recycled-stake-treasury-extraction eidos:hasIndicator eidos:recycled-stake-treasury-extraction-bridge-funding .
eidos:recycled-stake-treasury-extraction eidos:hasIndicator eidos:recycled-stake-treasury-extraction-exact-stake-trim .
eidos:recycled-stake-treasury-extraction eidos:hasIndicator eidos:recycled-stake-treasury-extraction-stake-recover-reuse .
eidos:recycled-stake-treasury-extraction eidos:hasIndicator eidos:recycled-stake-treasury-extraction-clustered-cadence .
eidos:recycled-stake-treasury-extraction eidos:hasDetector eidos:detector-recycled-stake-treasury-extraction .
eidos:recycled-stake-treasury-extraction eidos:runBy eidos:review-attack .
eidos:recycled-stake-treasury-extraction eidos:codifiedBy eidos:review-playbooks .
eidos:recycled-stake-treasury-extraction eidos:hasMethodologySource eidos:source-01resolved-com-research-the-umbra-treasury-attack-cost-its-attacker-4-623 .
eidos:recycled-stake-treasury-extraction eidos:hasIncidentStudy eidos:incident-umbra-treasury-attack-2026-08 .
eidos:recycled-stake-treasury-extraction eidos:exploitsComponent eidos:component-stake-requirement .
eidos:recycled-stake-treasury-extraction eidos:presupposesExecution eidos:execution-binding .
eidos:late-window-outcome-steering eidos:hasIndicator eidos:late-window-outcome-steering-late-weight-concentration .
eidos:late-window-outcome-steering eidos:hasIndicator eidos:late-window-outcome-steering-single-trade-fragility .
eidos:late-window-outcome-steering eidos:hasIndicator eidos:late-window-outcome-steering-thin-closing-move .
eidos:late-window-outcome-steering eidos:hasIndicator eidos:late-window-outcome-steering-after-close-reversal .
eidos:late-window-outcome-steering eidos:hasIndicator eidos:late-window-outcome-steering-spike-clears-configured-threshold .
eidos:late-window-outcome-steering eidos:hasDetector eidos:detector-late-window-outcome-steering .
eidos:late-window-outcome-steering eidos:runBy eidos:review-attack .
eidos:late-window-outcome-steering eidos:codifiedBy eidos:review-playbooks .
eidos:late-window-outcome-steering eidos:hasMethodologySource eidos:source-01resolved-com-research .
eidos:late-window-outcome-steering eidos:hasMethodologySource eidos:source-docs-metadao-fi .
eidos:late-window-outcome-steering eidos:exploitsComponent eidos:component-full-window-twap-rule .
eidos:late-window-outcome-steering eidos:presupposesExecution eidos:execution-binding .
eidos:wash-volume-alignment-inflation eidos:hasIndicator eidos:wash-volume-alignment-inflation-paired-branch-executions .
eidos:wash-volume-alignment-inflation eidos:hasIndicator eidos:wash-volume-alignment-inflation-fixed-size-cluster .
eidos:wash-volume-alignment-inflation eidos:hasIndicator eidos:wash-volume-alignment-inflation-near-neutral-net .
eidos:wash-volume-alignment-inflation eidos:hasIndicator eidos:wash-volume-alignment-inflation-arb-frequency-band .
eidos:wash-volume-alignment-inflation eidos:hasIndicator eidos:wash-volume-alignment-inflation-stripped-tilt-shift .
eidos:wash-volume-alignment-inflation eidos:hasDetector eidos:detector-wash-volume-alignment-inflation .
eidos:wash-volume-alignment-inflation eidos:runBy eidos:review-attack .
eidos:wash-volume-alignment-inflation eidos:codifiedBy eidos:review-playbooks .
eidos:wash-volume-alignment-inflation eidos:hasMethodologySource eidos:source-01resolved-com-research .
eidos:wash-volume-alignment-inflation eidos:hasMethodologySource eidos:source-01resolved-com .
eidos:wash-volume-alignment-inflation eidos:exploitsComponent eidos:component-alignment-signal .
eidos:coordinated-multiwallet-stake-assembly eidos:hasIndicator eidos:coordinated-multiwallet-stake-assembly-common-funding-source .
eidos:coordinated-multiwallet-stake-assembly eidos:hasIndicator eidos:coordinated-multiwallet-stake-assembly-synchronized-first-activity .
eidos:coordinated-multiwallet-stake-assembly eidos:hasIndicator eidos:coordinated-multiwallet-stake-assembly-split-threshold-assembly .
eidos:coordinated-multiwallet-stake-assembly eidos:hasIndicator eidos:coordinated-multiwallet-stake-assembly-shared-execution-fingerprint .
eidos:coordinated-multiwallet-stake-assembly eidos:hasIndicator eidos:coordinated-multiwallet-stake-assembly-synchronized-exit .
eidos:coordinated-multiwallet-stake-assembly eidos:hasDetector eidos:detector-coordinated-multiwallet-stake-assembly .
eidos:coordinated-multiwallet-stake-assembly eidos:runBy eidos:review-attack .
eidos:coordinated-multiwallet-stake-assembly eidos:codifiedBy eidos:review-playbooks .
eidos:coordinated-multiwallet-stake-assembly eidos:hasMethodologySource eidos:source-01resolved-com-research-ownership-score-what-the-first-experiment-reveals .
eidos:coordinated-multiwallet-stake-assembly eidos:hasMethodologySource eidos:source-01resolved-com-research-the-umbra-treasury-attack-cost-its-attacker-4-623 .
eidos:coordinated-multiwallet-stake-assembly eidos:exploitsComponent eidos:component-stake-requirement .
eidos:terminal-window-twap-capture eidos:hasIndicator eidos:terminal-window-twap-capture-terminal-only-weight .
eidos:terminal-window-twap-capture eidos:hasIndicator eidos:terminal-window-twap-capture-floor-hugging-liquidity .
eidos:terminal-window-twap-capture eidos:hasIndicator eidos:terminal-window-twap-capture-quiet-then-capture .
eidos:terminal-window-twap-capture eidos:hasIndicator eidos:terminal-window-twap-capture-in-window-inversion .
eidos:terminal-window-twap-capture eidos:hasIndicator eidos:terminal-window-twap-capture-post-window-reversion .
eidos:terminal-window-twap-capture eidos:codifiedBy eidos:review-playbooks .
eidos:terminal-window-twap-capture eidos:hasMethodologySource eidos:source-snapshot-org-kleros-eth-proposal-0xa213179debfca1cb5b8f65ac9d641e6e4e8fb5df48019 .
eidos:terminal-window-twap-capture eidos:hasMethodologySource eidos:source-ethresear-ch-t-futarchy-is-insecure-without-a-trusted-gatekeeper-25235 .
eidos:terminal-window-twap-capture eidos:exploitsComponent eidos:component-terminal-window-twap-rule .
eidos:terminal-window-twap-capture eidos:presupposesExecution eidos:execution-binding .
eidos:advisory-signal-inflation eidos:hasIndicator eidos:advisory-signal-inflation-stakeless-directional-print .
eidos:advisory-signal-inflation eidos:hasIndicator eidos:advisory-signal-inflation-signal-scale-mismatch .
eidos:advisory-signal-inflation eidos:hasIndicator eidos:advisory-signal-inflation-read-timed-concentration .
eidos:advisory-signal-inflation eidos:hasIndicator eidos:advisory-signal-inflation-venue-alignment-divergence .
eidos:advisory-signal-inflation eidos:hasIndicator eidos:advisory-signal-inflation-post-read-unwind .
eidos:advisory-signal-inflation eidos:codifiedBy eidos:review-playbooks .
eidos:advisory-signal-inflation eidos:hasMethodologySource eidos:source-forum-gnosis-io-t-11816 .
eidos:advisory-signal-inflation eidos:hasMethodologySource eidos:source-forum-gnosis-io-t-12197 .
eidos:advisory-signal-inflation eidos:hasMethodologySource eidos:source-gov-optimism-io-t-futarchy-v1-preliminary-findings-10062 .
eidos:advisory-signal-inflation eidos:exploitsComponent eidos:component-execution-binding .
eidos:advisory-signal-inflation eidos:presupposesExecution eidos:execution-advisory .
eidos:resistance-contingent-delivery eidos:hasIndicator eidos:resistance-contingent-delivery-discretionary-delivery-terms .
eidos:resistance-contingent-delivery eidos:hasIndicator eidos:resistance-contingent-delivery-pass-defense-before-delivery .
eidos:resistance-contingent-delivery eidos:hasIndicator eidos:resistance-contingent-delivery-resistance-linked-performance .
eidos:resistance-contingent-delivery eidos:hasIndicator eidos:resistance-contingent-delivery-unenforceable-nonperformance .
eidos:resistance-contingent-delivery eidos:codifiedBy eidos:review-playbooks .
eidos:resistance-contingent-delivery eidos:hasMethodologySource eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat .
eidos:resistance-contingent-delivery eidos:exploitsComponent eidos:component-delivery-enforcement .
eidos:resistance-contingent-delivery eidos:presupposesExecution eidos:execution-binding .
eidos:conditional-holder-exit-supply-failure eidos:hasIndicator eidos:conditional-holder-exit-supply-failure-holder-only-pass-supply .
eidos:conditional-holder-exit-supply-failure eidos:hasIndicator eidos:conditional-holder-exit-supply-failure-no-synthetic-short-access .
eidos:conditional-holder-exit-supply-failure eidos:hasIndicator eidos:conditional-holder-exit-supply-failure-corrective-flow-below-private-benefit .
eidos:conditional-holder-exit-supply-failure eidos:hasIndicator eidos:conditional-holder-exit-supply-failure-short-side-adverse-selection .
eidos:conditional-holder-exit-supply-failure eidos:codifiedBy eidos:review-playbooks .
eidos:conditional-holder-exit-supply-failure eidos:hasMethodologySource eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat .
eidos:conditional-holder-exit-supply-failure eidos:exploitsComponent eidos:component-corrective-participation-access .
eidos:conditional-holder-exit-supply-failure eidos:presupposesExecution eidos:execution-binding .
eidos:proposal-convexity-selection eidos:hasIndicator eidos:proposal-convexity-selection-material-unresolved-detail .
eidos:proposal-convexity-selection eidos:hasIndicator eidos:proposal-convexity-selection-information-resolves-in-window .
eidos:proposal-convexity-selection eidos:hasIndicator eidos:proposal-convexity-selection-favorable-state-passage-coupling .
eidos:proposal-convexity-selection eidos:hasIndicator eidos:proposal-convexity-selection-conditional-unconditional-value-gap .
eidos:proposal-convexity-selection eidos:codifiedBy eidos:review-playbooks .
eidos:proposal-convexity-selection eidos:hasMethodologySource eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat .
eidos:proposal-convexity-selection eidos:hasMethodologySource eidos:source-lesswrong-com-posts-mw4ypzr6ctwkqncvp-futarchy-is-parasitic-on-what-it-tries-to .
eidos:proposal-convexity-selection eidos:hasMethodologySource eidos:source-lesswrong-com-posts-deoyawznnktm5gmnm-no-futarchy-doesn-t-have-this-edt-flaw .
eidos:proposal-convexity-selection eidos:exploitsComponent eidos:component-causal-assumption-transparency .
eidos:proposal-convexity-selection eidos:presupposesExecution eidos:execution-binding .
eidos:countertrade-adverse-selection-deterrence eidos:hasIndicator eidos:countertrade-adverse-selection-deterrence-withheld-value-terms .
eidos:countertrade-adverse-selection-deterrence eidos:hasIndicator eidos:countertrade-adverse-selection-deterrence-proposer-pass-accumulation .
eidos:countertrade-adverse-selection-deterrence eidos:hasIndicator eidos:countertrade-adverse-selection-deterrence-hidden-good-loss-dominates .
eidos:countertrade-adverse-selection-deterrence eidos:hasIndicator eidos:countertrade-adverse-selection-deterrence-late-specification-release .
eidos:countertrade-adverse-selection-deterrence eidos:codifiedBy eidos:review-playbooks .
eidos:countertrade-adverse-selection-deterrence eidos:hasMethodologySource eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat .
eidos:countertrade-adverse-selection-deterrence eidos:exploitsComponent eidos:component-proposal-specification .
eidos:countertrade-adverse-selection-deterrence eidos:presupposesExecution eidos:execution-binding .
eidos:fail-branch-sabotage eidos:hasIndicator eidos:fail-branch-sabotage-rejection-contingent-threat .
eidos:fail-branch-sabotage eidos:hasIndicator eidos:fail-branch-sabotage-credible-sabotage-capability .
eidos:fail-branch-sabotage eidos:hasIndicator eidos:fail-branch-sabotage-fail-discount-tracks-threat .
eidos:fail-branch-sabotage eidos:hasIndicator eidos:fail-branch-sabotage-off-path-private-cost-gap .
eidos:fail-branch-sabotage eidos:codifiedBy eidos:review-playbooks .
eidos:fail-branch-sabotage eidos:hasMethodologySource eidos:source-lesswrong-com-posts-oaksux5xppxfseohm-futarchy-is-insecure-without-a-trusted-gat .
eidos:fail-branch-sabotage eidos:exploitsComponent eidos:component-branch-independence .
eidos:fail-branch-sabotage eidos:presupposesExecution eidos:execution-binding .
eidos:covenant-check-use-of-proceeds-restricted eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-use-of-proceeds-restricted eidos:codifiedBy eidos:review-playbooks .
eidos:covenant-check-investor-reserve-capped eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-investor-reserve-capped eidos:codifiedBy eidos:review-playbooks .
eidos:covenant-check-team-allocation-band eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-team-allocation-band eidos:codifiedBy eidos:review-playbooks .
eidos:covenant-check-vesting-schedule eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-vesting-schedule eidos:codifiedBy eidos:review-playbooks .
eidos:covenant-check-legal-entity eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-legal-entity eidos:codifiedBy eidos:review-playbooks .
eidos:covenant-check-third-party-review eidos:checksCovenant eidos:covenant-stamp .
eidos:covenant-check-third-party-review eidos:codifiedBy eidos:review-playbooks .
eidos:instrument-flip-cost-scenario eidos:instrumentOf eidos:review-market .
eidos:instrument-order-flow-toxicity eidos:instrumentOf eidos:review-market .
eidos:instrument-microstructure-stack eidos:instrumentOf eidos:review-market .
eidos:unavailable-effective-spread eidos:unavailableTo eidos:review-market .
eidos:unavailable-post-fill-markout eidos:unavailableTo eidos:review-market .
eidos:unavailable-depth-imbalance eidos:unavailableTo eidos:review-market .
eidos:unavailable-trade-based-spread-estimators eidos:unavailableTo eidos:review-market .
eidos:unavailable-longshot-spread-premium eidos:unavailableTo eidos:review-market .
eidos:unavailable-self-counterparty-wash eidos:unavailableTo eidos:review-market .
eidos:unavailable-information-leakage-score eidos:unavailableTo eidos:review-market .

# ════ forecast module (https://eidos.software/ontology/forecast) ════════════════════════════════

# ── forecast: classes ─────────────────────────────────────────────────

eidos:DecisionForecast a owl:Class ;
  rdfs:label "Decision forecast" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A dated issued claim about which option a decision selects, or an explicitly withheld attempt. Its method, issuance and input cutoff are distinct from observations, replay cases and conditional token-value Impact." .

eidos:CategoricalDecisionForecast a owl:Class ;
  rdfs:label "Categorical decision forecast" ;
  rdfs:subClassOf eidos:DecisionForecast ;
  rdfs:comment "An issued complete probability distribution over a decision's declared mutually exclusive options." .

eidos:ForecastMethod a owl:Class ;
  rdfs:label "Forecast method" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A content-addressed procedure used to generate a forecast; an artifact, not the responsible software agent." .

eidos:ForecastGeneration a owl:Class ;
  rdfs:label "Forecast generation" ;
  rdfs:subClassOf prov:Activity ;
  rdfs:comment "The activity that used a method artifact and observations to issue a dated decision forecast." .

eidos:WindowForecast a owl:Class ;
  rdfs:label "Window forecast" ;
  rdfs:subClassOf eidos:DecisionForecast ;
  rdfs:subClassOf prov:Entity ;
  owl:disjointWith eidos:PreWindowReview ;
  rdfs:comment "A binary Pass probability or withheld attempt for a decision window, with separate issuance and input-cutoff times. Resolutions remain separate from the original claim. Baselines are recorded, verified-reconstructed or unavailable; late and void attempts remain auditable but do not enter prospective evaluation." .

eidos:PolicyVersion a owl:Class ;
  rdfs:label "Policy version" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "One content-addressed version of a file the harness loop is allowed to edit: the window outlook policy and, when the task allows it, the improver's own instructions. Identified by the sha256 of the artifact files, never by the repository hash, so an unrelated commit does not make a new version. A kept version is a commit on main carrying a Worker trailer naming its Control run." .

eidos:RefusedPolicyVersion a owl:Class ;
  rdfs:label "Refused policy version" ;
  rdfs:subClassOf eidos:PolicyVersion ;
  rdfs:comment "A policy version the loop may never propose again, named with the measurement that closed it — the same shape as a disproven derivation, for the same reason: the refusal is the record. Empty until an operator closes one; a candidate the guard refused is only a ledger row, not a member." .

eidos:HarnessCandidate a owl:Class ;
  rdfs:label "Harness candidate" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "One proposal the loop scored: a policy version, its parent candidate, the frozen suite it was scored on (digest, data cutoff, tick-corpus cutoff), the evaluator's own hash, paired held-in and held-out Brier scores, the verdict and its reason, the worker's cost, and the Control run that produced it. Kept or refused, every candidate is a row; a refused candidate keeps its patch. Private: the ledger seals in the private-ledgers run and reaches no public surface." .

eidos:ControlRun a owl:Class ;
  rdfs:label "Control run" ;
  rdfs:subClassOf prov:Activity ;
  rdfs:comment "One bounded, headless worker run under Eidos Control: its task, worktree, base commit, worker, exit code, attempts, and the verification gates it passed or failed, with prompt, transcript and logs archived beside the record. A worker result is a claim; the run record is what the controller verified." .

eidos:Calibration a owl:Class ;
  rdfs:label "Calibration" ;
  rdfs:comment "How markets' forecasts compared with what followed, across decisions, by engine and mechanism family. A comparison across many decisions, so a part of the record and not of any one decision; named Learning, and a part of Decision, until 9.0.0. Not the Learning review, which files one finding per decision." .

# ── forecast: object and annotation properties ────────────────────────

eidos:forecastUsesMethod a owl:ObjectProperty ;
  rdfs:domain eidos:ForecastGeneration ;
  rdfs:range eidos:ForecastMethod ;
  rdfs:subPropertyOf prov:used ;
  rdfs:comment "The method artifact used by a forecast generation activity." .

eidos:forecastGeneratedBy a owl:ObjectProperty ;
  rdfs:domain eidos:DecisionForecast ;
  rdfs:range eidos:ForecastGeneration ;
  rdfs:subPropertyOf prov:wasGeneratedBy ;
  rdfs:comment "The activity that issued the claim." .

eidos:forecastsWindow a owl:ObjectProperty ;
  rdfs:domain eidos:WindowForecast ;
  rdfs:range eidos:RecordingWindow ;
  rdfs:comment "The open recording window a forecast was recorded against. One per forecast, a ledger rule rather than a functional axiom: windows are an open population no release can declare pairwise distinct." .

eidos:forecastByPolicy a owl:ObjectProperty ;
  rdfs:domain eidos:WindowForecast ;
  rdfs:range eidos:PolicyVersion ;
  rdfs:comment "The policy version that answered the forecast." .

eidos:candidateOfPolicy a owl:ObjectProperty ;
  rdfs:domain eidos:HarnessCandidate ;
  rdfs:range eidos:PolicyVersion ;
  rdfs:comment "The policy version a candidate proposes (artifact and artifact_sha256 on the candidate row)." .

eidos:candidateProducedBy a owl:ObjectProperty ;
  rdfs:domain eidos:HarnessCandidate ;
  rdfs:range eidos:ControlRun ;
  rdfs:subPropertyOf prov:wasGeneratedBy ;
  rdfs:comment "The Control run whose worker produced the candidate (run_id on the candidate row)." .

eidos:candidateParent a owl:ObjectProperty ;
  rdfs:domain eidos:HarnessCandidate ;
  rdfs:range eidos:HarnessCandidate ;
  rdfs:subPropertyOf prov:wasDerivedFrom ;
  rdfs:comment "The candidate this one was scored against (parent_id); absent for the first." .

eidos:calibratedOn a owl:ObjectProperty ;
  rdfs:domain eidos:Calibration ;
  rdfs:range eidos:Decision ;
  rdfs:comment "A decision a calibration draws on. A calibration spans many decisions — how an engine's markets forecast what followed — and one decision teaches nothing on its own." .

eidos:forecastOfDecision a owl:ObjectProperty ;
  rdfs:domain eidos:DecisionForecast ;
  rdfs:range eidos:Decision ;
  rdfs:comment "forecasts decision (one; asserted by private-ledger, immutable, as-of-known-time). The engine, chain and decision the issuance predicts." .

# ── forecast: datatype properties ─────────────────────────────────────

eidos:forecastInputCutoff a owl:DatatypeProperty ;
  rdfs:domain eidos:DecisionForecast ;
  rdfs:range xsd:string ;
  rdfs:comment "The latest input instant the issuance used. Bound to main.decision_forecasts.cutoff_at." .

eidos:forecastIssuedAt a owl:DatatypeProperty ;
  rdfs:domain eidos:DecisionForecast ;
  rdfs:range xsd:string ;
  rdfs:comment "The source's issuance timestamp; separate from the input cutoff. Bound to main.decision_forecasts.recorded_at." .

eidos:forecastMethodHash a owl:DatatypeProperty ;
  rdfs:domain eidos:DecisionForecast ;
  rdfs:range xsd:string ;
  rdfs:comment "The retained method content hash, unavailable for unidentified legacy methods. Bound to main.decision_forecasts.method_hash." .

# ── forecast: statements ──────────────────────────────────────────────



# ════ record module (https://eidos.software/ontology/record) ══════════════════════════════════

# ── record: classes ───────────────────────────────────────────────────

eidos:ObjectType a owl:Class ;
  rdfs:label "Object type" ;
  rdfs:comment "A noun a decision record points at: one primary key, one title key, one backing store and that store's authority, and its links. The object registry's individuals, pairwise distinct and in one SKOS scheme, so a receipt naming an object type outside it fails its shape. Authority is by data domain: a projection or a warehouse copy is never an authority." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:object-organization eidos:object-dao-account eidos:object-decision eidos:object-proposal eidos:object-forecast eidos:object-window eidos:object-analytical-run eidos:object-finding eidos:object-claim eidos:object-investigation eidos:object-action-receipt eidos:object-receipt-outcome eidos:object-action-lineage eidos:object-policy eidos:object-filing eidos:object-market eidos:object-source eidos:object-date eidos:object-observation eidos:object-trade eidos:object-diligence-answer ) .

eidos:ObjectTypeScheme a skos:ConceptScheme ;
  rdfs:label "Object type scheme" ;
  rdfs:comment "The registered members of ObjectType, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ObjectLinkType a owl:Class ;
  rdfs:label "Object link type" ;
  rdfs:comment "A directed link between two object types, read correctly only with four attributes beside direction and cardinality: the store whose row asserts it, whether that row is immutable, appended and superseded, or re-derived on every seal, and whether it holds at read time or as of the time the row became known. The object registry's individuals, pairwise distinct and in one SKOS scheme." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:link-organization-has-dao-account eidos:link-dao-account-has-organization eidos:link-dao-account-has-proposals eidos:link-decision-is-proposal eidos:link-decision-governed-by eidos:link-decision-for-organization eidos:link-decision-has-window eidos:link-decision-has-findings eidos:link-proposal-is-decision eidos:link-proposal-governed-by eidos:link-proposal-has-window eidos:link-proposal-has-findings eidos:link-forecast-of-decision eidos:link-window-of-decision eidos:link-window-has-receipts eidos:link-analysis-of-decision eidos:link-analysis-supersedes eidos:link-finding-of-decision eidos:link-claim-supersedes eidos:link-claim-has-receipts eidos:link-investigation-of-decision eidos:link-investigation-has-receipts eidos:link-receipt-about-object eidos:link-receipt-has-outcomes eidos:link-outcome-of-receipt eidos:link-lineage-recorded-by eidos:link-lineage-resolved-by eidos:link-policy-has-receipts eidos:link-filing-for-window eidos:link-filing-by-dao-account eidos:link-filing-supersedes eidos:link-filing-has-receipts eidos:link-market-of-organization eidos:link-market-of-decision eidos:link-market-has-observations eidos:link-observation-of-market eidos:link-trade-on-decision eidos:link-diligence-answer-for-organization ) .

eidos:ObjectLinkTypeScheme a skos:ConceptScheme ;
  rdfs:label "Object link type scheme" ;
  rdfs:comment "The registered members of ObjectLinkType, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ActionType a owl:Class ;
  rdfs:label "Action type" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:action-file-window-parameters eidos:action-read-resource ) ] ;
  rdfs:comment "The kinetic half, opened in 2.0.0: a verb an external party may submit, with typed parameters, named preconditions rechecked at write time, an idempotency key, and a receipt for every attempt including refusals. The public verbs, pairwise distinct and in one SKOS scheme; a verb outside them is not an action this product accepts. Release 1.4.0 declared this class empty because every tool was read-only; the public MCP endpoint still is, and the private verbs an operator, an agent or an automation submit live in the workflow vocabulary, disjoint from this class." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:action-file-window-parameters eidos:action-read-resource ) .

eidos:ActionTypeScheme a skos:ConceptScheme ;
  rdfs:label "Action type scheme" ;
  rdfs:comment "The closed members of ActionType, as a SKOS scheme: each individual states skos:inScheme." .

eidos:Metric a owl:Class ;
  rdfs:label "Metric" ;
  rdfs:comment "A number a surface shows, defined once over a bound object type: the aggregate it takes over the type's rows, the filter that selects them, the column its time grain buckets on, and the fields it may be grouped by. Every reader — the app, the API, the lab, an agent — cites a metric's id and never recomputes it. The metric registry's individuals, pairwise distinct and in one SKOS scheme. A ratio of two metrics is a share, never a score: Aggregates require a validated target and method; a no-match remains distinct from a safety rating." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:metric-decision-count eidos:metric-decided-decision-count eidos:metric-decided-share eidos:metric-organizations-with-decisions eidos:metric-organization-linkable-decision-count eidos:metric-counted-decision-count eidos:metric-census-decider-count eidos:metric-passed-decision-count eidos:metric-decided-pass-fail-decision-count eidos:metric-pass-share eidos:metric-executed-passed-decision-count eidos:metric-unexecuted-passed-decision-count eidos:metric-no-onchain-action-count eidos:metric-execution-checked-decision-count eidos:metric-capital-moved-decision-count eidos:metric-execution-read-decision-count eidos:metric-execution-read-passed-decision-count eidos:metric-capital-read-decision-count eidos:metric-usd-sized-decision-count eidos:metric-analyzed-decision-count eidos:metric-participation-analyzed-decision-count eidos:metric-detector-assessed-decision-count eidos:metric-market-analyzed-decision-count eidos:metric-reviewed-decision-count eidos:metric-evidence-reviewed-decision-count eidos:metric-attack-reviewed-decision-count eidos:metric-market-reviewed-decision-count eidos:metric-counted-engine-count eidos:metric-pending-decision-count eidos:metric-funded-draft-count eidos:metric-swap-count eidos:metric-non-economic-swap-count eidos:metric-non-economic-swap-share eidos:metric-trade-count eidos:metric-trading-volume eidos:metric-trades-per-decision eidos:metric-traders-per-decision eidos:metric-median-trades-per-decision eidos:metric-median-traders-per-decision eidos:metric-options-per-decision eidos:metric-dao-account-count eidos:metric-market-count eidos:metric-observation-count eidos:metric-approved-observation-count eidos:metric-approved-observation-share eidos:metric-diligence-answer-count eidos:metric-diligence-cell-count eidos:metric-answered-diligence-answer-count eidos:metric-current-diligence-answer-count eidos:metric-organization-count eidos:metric-live-organization-count eidos:metric-launched-organization-count eidos:metric-active-organization-count eidos:metric-organizations-with-website eidos:metric-organizations-with-x eidos:metric-organizations-with-docs eidos:metric-dao-accounts-per-organization eidos:metric-ledger-swap-count eidos:metric-ledger-trade-count eidos:metric-recorded-usd-trading-volume eidos:metric-usd-sized-trade-count eidos:metric-trader-count eidos:metric-source-count eidos:metric-source-attempt-count ) .

eidos:MetricScheme a skos:ConceptScheme ;
  rdfs:label "Metric scheme" ;
  rdfs:comment "The registered members of Metric, as a SKOS scheme: each individual states skos:inScheme." .

eidos:Job a owl:Class ;
  rdfs:label "Job" ;
  rdfs:comment "What a reader comes to Eidos to get done, in the reader's words — when …, I want …, so I can … — with the outcomes that say whether it is done better: metrics, each with the direction that is better, or a frozen evaluator's score; a metric is held to the surfaces of the job that feed the columns it reads. Every App view, read surface, API route, MCP tool and action serves at least one job, or the route says why it serves none. The job registry's individuals (src/job-registry.ts), pairwise distinct and in one SKOS scheme; the improvement loop optimizes a job's outcomes and nothing else." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:job-know-what-was-decided eidos:job-check-what-followed eidos:job-read-open-markets eidos:job-forecast-open-windows eidos:job-review-a-decision eidos:job-diligence-an-organization eidos:job-track-organizations eidos:job-follow-moves eidos:job-read-reports eidos:job-build-on-the-record eidos:job-research-decision-markets eidos:job-keep-the-record-honest eidos:job-ask-the-record eidos:job-pay-for-pro ) .

eidos:JobScheme a skos:ConceptScheme ;
  rdfs:label "Job scheme" ;
  rdfs:comment "The registered members of Job, as a SKOS scheme: each individual states skos:inScheme." .

eidos:MachineChange a owl:Class ;
  rdfs:label "Machine change" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A recorded change in the machine's own state: between two sealed daily samples of the machine's records, a public fact crossed — a job or feed failed or recovered, a schedule stopped or started, a source crossed its delivery floor or went stale, a tape series stopped or resumed, the published claim or decision counts moved. Cut through a typed allowlist from the private daily report, which never publishes; the instances are entries of the published /api/machine-changes document, each carrying the private bundle's sha256 as a commitment. A growing counter is never a change, and a failure that starts and recovers between two samples is not one either: it was not seen." .

eidos:BrowsingLabel a owl:Class ;
  rdfs:label "Browsing label" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:browsing-label-capital-allocation eidos:browsing-label-token-economics eidos:browsing-label-governance eidos:browsing-label-product-engineering eidos:browsing-label-commercial eidos:browsing-label-operations eidos:browsing-label-wind-down eidos:browsing-label-grant eidos:browsing-label-buyback eidos:browsing-label-token-issuance eidos:browsing-label-liquidity-provision eidos:browsing-label-compensation eidos:browsing-label-upgrade eidos:browsing-label-parameter-change eidos:browsing-label-partnership eidos:browsing-label-acquisition eidos:browsing-label-trading eidos:browsing-label-lending eidos:browsing-label-payments eidos:browsing-label-infrastructure eidos:browsing-label-asset-management eidos:browsing-label-consumer eidos:browsing-label-research ) ] ;
  rdfs:comment "A versioned category, action tag or sector for organizing decisions and organizations. Sourced assignments are interpretations, never risk findings or evidence of execution." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:browsing-label-capital-allocation eidos:browsing-label-token-economics eidos:browsing-label-governance eidos:browsing-label-product-engineering eidos:browsing-label-commercial eidos:browsing-label-operations eidos:browsing-label-wind-down eidos:browsing-label-grant eidos:browsing-label-buyback eidos:browsing-label-token-issuance eidos:browsing-label-liquidity-provision eidos:browsing-label-compensation eidos:browsing-label-upgrade eidos:browsing-label-parameter-change eidos:browsing-label-partnership eidos:browsing-label-acquisition eidos:browsing-label-trading eidos:browsing-label-lending eidos:browsing-label-payments eidos:browsing-label-infrastructure eidos:browsing-label-asset-management eidos:browsing-label-consumer eidos:browsing-label-research ) .

eidos:BrowsingLabelScheme a skos:ConceptScheme ;
  rdfs:label "Browsing label scheme" ;
  rdfs:comment "The closed members of BrowsingLabel, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ReportKind a owl:Class ;
  rdfs:label "Report kind" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:report-kind-window-opened eidos:report-kind-closing-stretch eidos:report-kind-window-closed eidos:report-kind-outcome eidos:report-kind-tape eidos:report-kind-notice ) ] ;
  rdfs:comment "What an Eidos report is about: the closed list in src/report-kinds.ts that a report's kind front matter, the scheduled writer's entries and the App's Reports page read. A new kind is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:report-kind-window-opened eidos:report-kind-closing-stretch eidos:report-kind-window-closed eidos:report-kind-outcome eidos:report-kind-tape eidos:report-kind-notice ) .

eidos:ReportKindScheme a skos:ConceptScheme ;
  rdfs:label "Report kind scheme" ;
  rdfs:comment "The closed members of ReportKind, as a SKOS scheme: each individual states skos:inScheme." .

eidos:NewsCategory a owl:Class ;
  rdfs:label "News category" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:news-category-governance eidos:news-category-capital eidos:news-category-product eidos:news-category-metrics eidos:news-category-risk eidos:news-category-commentary eidos:news-category-chatter ) ] ;
  rdfs:comment "What kind of item a news story is: the closed list in src/news-categories.ts that Jev's category question offers and the App's Kind column shows. newsCategoryIsNews says whether the kind reports something that happened; commentary and conversation never rank. A new category is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:news-category-governance eidos:news-category-capital eidos:news-category-product eidos:news-category-metrics eidos:news-category-risk eidos:news-category-commentary eidos:news-category-chatter ) .

eidos:NewsCategoryScheme a skos:ConceptScheme ;
  rdfs:label "News category scheme" ;
  rdfs:comment "The closed members of NewsCategory, as a SKOS scheme: each individual states skos:inScheme." .

eidos:MachineChangeKind a owl:Class ;
  rdfs:label "Machine change kind" ;
  owl:equivalentClass [ a owl:Class ; owl:oneOf ( eidos:machine-change-job-failed eidos:machine-change-job-recovered eidos:machine-change-feed-failed eidos:machine-change-feed-recovered eidos:machine-change-schedule-stopped eidos:machine-change-schedule-started eidos:machine-change-source-below-floor eidos:machine-change-source-recovered eidos:machine-change-source-stale eidos:machine-change-source-current eidos:machine-change-series-stalled eidos:machine-change-series-resumed eidos:machine-change-claims-published eidos:machine-change-claims-superseded eidos:machine-change-decisions-recorded ) ] ;
  rdfs:comment "What a machine change can be: the closed list in src/machine-change-kinds.ts, each about a job, a feed, a source, a tape series or a ledger, and each a flag crossing or a count that moved. A new kind is a registry edit and a release." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:machine-change-job-failed eidos:machine-change-job-recovered eidos:machine-change-feed-failed eidos:machine-change-feed-recovered eidos:machine-change-schedule-stopped eidos:machine-change-schedule-started eidos:machine-change-source-below-floor eidos:machine-change-source-recovered eidos:machine-change-source-stale eidos:machine-change-source-current eidos:machine-change-series-stalled eidos:machine-change-series-resumed eidos:machine-change-claims-published eidos:machine-change-claims-superseded eidos:machine-change-decisions-recorded ) .

eidos:MachineChangeKindScheme a skos:ConceptScheme ;
  rdfs:label "Machine change kind scheme" ;
  rdfs:comment "The closed members of MachineChangeKind, as a SKOS scheme: each individual states skos:inScheme." .

eidos:JobScore a owl:Class ;
  rdfs:label "Job score" ;
  rdfs:comment "A score a frozen evaluator computes from labels the product cannot produce — a market's realized outcome, the operator's review — with the direction that is better. The evaluator, its labels and its split are outside every worker's write set." .

[] a owl:AllDifferent ;
  owl:distinctMembers ( eidos:job-score-labeled-outcome-brier eidos:job-score-window-outlook-brier eidos:job-score-engine-outlook-brier eidos:job-score-claim-acceptance ) .

eidos:JobScoreScheme a skos:ConceptScheme ;
  rdfs:label "Job score scheme" ;
  rdfs:comment "The registered members of JobScore, as a SKOS scheme: each individual states skos:inScheme." .

eidos:ActionReceipt a owl:Class ;
  rdfs:label "Action receipt" ;
  rdfs:subClassOf prov:Activity ;
  rdfs:comment "The record of one attempt at an action: the actor and its class, the surface, the object and the revision it named, the context digest it stood on, the code version that executed it, the result and its reasons. Every attempt is a receipt; a refusal is a receipt. Instances are private ledger rows sealed nightly; none is published as an individual here." .

eidos:ReceiptOutcome a owl:Class ;
  rdfs:label "Receipt outcome" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "What came of a receipt, as one cited sealed fact: a review, a publication, a superseding claim, a window resolution, an evaluated candidate or a closing decision, with the fact's digest, when it happened and when this ledger learned it. Never a grade. Named ReceiptOutcome until 9.0.0; a decision's outcome is its MeasuredOutcome." .

eidos:ActionLineage a owl:Class ;
  rdfs:label "Action lineage" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "A receipt read together with the context it stood on, the code that executed it and the receipt outcomes that answered it: one row of the sealed action_lineage view. Derived; the receipt and outcome ledgers stay the record. Never a grade of the decider. Named DecisionRecord until 9.0.0; the decision record is the Decision." .

eidos:WindowParameterFiling a owl:Class ;
  rdfs:label "Window-parameter filing" ;
  rdfs:subClassOf prov:Entity ;
  rdfs:comment "What an organization filed before a proposal's recording window opened: the covenant it published and the market parameters it configured. Existence is public at once as a fact of record; content is public only through the evidence review's two gates. The first public verb's object." .

eidos:McpServer a owl:Class ;
  rdfs:label "MCP server" ;
  rdfs:comment "The read-only MCP endpoint over the registries and the shipped scorer. Its free tools serve only already-public objects; a metered tool serves the review packet, priced per pull over x402." .

eidos:McpTool a owl:Class ;
  rdfs:label "MCP tool" ;
  rdfs:comment "One read-only tool — a model-controlled query over the registries. Payloads carry the review, contract version, and withheld status; no field exists for a composite score." .

eidos:McpResource a owl:Class ;
  rdfs:label "MCP resource" ;
  rdfs:subClassOf dcat:Distribution ;
  rdfs:comment "One versioned registry document served as an MCP resource, identified by the URL it actually publishes at. Documents are resources; the queries over them are tools." .

eidos:PublishedCatalogRecord a owl:Class ;
  rdfs:label "Published catalog record" ;
  rdfs:subClassOf dcat:CatalogRecord ;
  rdfs:comment "A row validated by PublishedFixtureSchema in src/database-public-schemas.ts. Catalog-only and treasury-only rows are not proposals or incidents." .

eidos:PhysicalColumn a owl:Class ;
  rdfs:label "Physical column" ;
  rdfs:comment "A physical SQL column and row selector mapped to an observation series." .

eidos:AnalyticalRelation a owl:Class ;
  rdfs:label "Analytical relation" ;
  rdfs:comment "An isolated SQL relation over validated public evidence. Physical columns and joins derive from the semantic catalog; this is not an operational or private database table." .

[] a owl:AllDisjointClasses ;
  owl:members ( eidos:Organization eidos:DaoAccount eidos:Decision eidos:DecisionForecast eidos:RecordingWindow eidos:AnalyticalRun eidos:Finding eidos:DiligenceClaim eidos:Investigation eidos:ActionReceipt eidos:ReceiptOutcome eidos:ActionLineage eidos:PolicyVersion eidos:WindowParameterFiling eidos:Market eidos:CollectorSource eidos:CalendarDate eidos:Observation eidos:Trade eidos:DiligenceAnswer ) .

# ── record: object and annotation properties ──────────────────────────

eidos:hasLink a owl:ObjectProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range eidos:ObjectLinkType ;
  rdfs:comment "A link type declared on this object type; the link's own linksTo names the target." .

eidos:changeKind a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:MachineChange ;
  rdfs:range eidos:MachineChangeKind ;
  rdfs:comment "What crossed in a machine change: one of the closed change kinds. Functional; a change is of one kind, and two crossings in one sample are two changes." .

eidos:editsObjectType a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range eidos:ObjectType ;
  rdfs:comment "The object type a public action appends to or changes. Functional; an action edits one type, and its receipt names the row." .

eidos:linksFrom a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range eidos:ObjectType ;
  rdfs:comment "The object type a link is declared on: its source. Functional; a link has one source." .

eidos:linksTo a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range eidos:ObjectType ;
  rdfs:comment "The object type a link points at. Functional; a link has one target, and cardinality on the link says how many rows." .

eidos:measuresObjectType a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range eidos:ObjectType ;
  rdfs:comment "The object type whose rows a metric aggregates. Functional; a metric measures one type, and a ratio's two parts measure the same one." .

eidos:ratioNumerator a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range eidos:Metric ;
  rdfs:comment "The metric a ratio divides: a plain metric of the same type and time column." .

eidos:ratioDenominator a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range eidos:Metric ;
  rdfs:comment "The metric a ratio divides by; the ratio is null where it is zero, never infinite or zero." .

eidos:metricCoveredBy a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range eidos:Metric ;
  rdfs:comment "The count that says whether a metric measured anything: where it is zero in a slice, the metric has no value there, never a zero. A plain count of the same type, time column and dimensions (12.5.0)." .

eidos:jobRaisesMetric a owl:ObjectProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range eidos:Metric ;
  rdfs:comment "A metric whose rise means the job is better done. A metric is better one way in every job that cites it." .

eidos:jobLowersMetric a owl:ObjectProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range eidos:Metric ;
  rdfs:comment "A metric whose fall means the job is better done." .

eidos:jobImprovesScore a owl:ObjectProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range eidos:JobScore ;
  rdfs:comment "A frozen evaluator's score the job is judged by; the score states which way is better." .

eidos:mapsObservationSeries a owl:ObjectProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range eidos:ObservationSeries ;
  rdfs:comment "Physical SQL column and row selector implementing an existing observation-series meaning." .

eidos:offersTool a owl:ObjectProperty ;
  rdfs:domain eidos:McpServer ;
  rdfs:range eidos:McpTool ;
  rdfs:comment "The read-only tool registry the endpoint serves." .

eidos:servesReview a owl:ObjectProperty, owl:FunctionalProperty ;
  rdfs:domain eidos:McpTool ;
  rdfs:range eidos:Review ;
  rdfs:comment "The review a review tool reads out; inventory tools carry no review." .

eidos:servesResource a owl:ObjectProperty ;
  rdfs:domain eidos:McpServer ;
  rdfs:range eidos:McpResource ;
  rdfs:comment "A versioned registry document the endpoint serves as an MCP resource. Documents are resources; the queries over them are tools." .

eidos:catalogsOrganization a owl:ObjectProperty ;
  rdfs:domain eidos:PublishedCatalogRecord ;
  rdfs:range eidos:Organization ;
  rdfs:comment "The tracked organization a catalog record belongs to (organizationSlug); absent for a row that names none." .

eidos:windowHasReceipts a owl:ObjectProperty ;
  rdfs:domain eidos:RecordingWindow ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "has action receipts (many; asserted by private-ledger, immutable, as-of-known-time). Forecasts recorded, watches proposed and, after 2.0.0, filings made against this window." .

eidos:claimHasReceipts a owl:ObjectProperty ;
  rdfs:domain eidos:DiligenceClaim ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "has action receipts (many; asserted by private-ledger, immutable, as-of-known-time). The staging, review and publication attempts recorded against this claim, including refusals." .

eidos:investigationHasReceipts a owl:ObjectProperty ;
  rdfs:domain eidos:Investigation ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "has action receipts (many; asserted by private-ledger, immutable, as-of-known-time). The investigation verbs synced from the application database into the receipts ledger." .

eidos:receiptAboutObject a owl:ObjectProperty ;
  rdfs:domain eidos:ActionReceipt ;
  rdfs:range [ a owl:Class ; owl:unionOf ( eidos:DiligenceClaim eidos:Investigation eidos:RecordingWindow eidos:PolicyVersion eidos:WindowParameterFiling eidos:ActionReceipt eidos:AnalyticalRun ) ] ;
  rdfs:comment "about (one; asserted by private-ledger, immutable, at-read). The object the action named; the receipt's objectType selects the actual type (a claim, an investigation, a window, a policy, a filing or another receipt) and objectKey the row. Declared against claim here because a link has one target; the other targets are the same relation under their own types, and the property's range is their union." .

eidos:receiptHasOutcomes a owl:ObjectProperty ;
  rdfs:domain eidos:ActionReceipt ;
  rdfs:range eidos:ReceiptOutcome ;
  rdfs:comment "resolved by (many; asserted by private-ledger, immutable, as-of-known-time). The facts derived later that answer this receipt." .

eidos:outcomeOfReceipt a owl:ObjectProperty ;
  rdfs:domain eidos:ReceiptOutcome ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:subPropertyOf prov:wasGeneratedBy ;
  owl:inverseOf eidos:receiptHasOutcomes ;
  rdfs:comment "outcome of (one; asserted by private-ledger, immutable, as-of-known-time). The receipt this fact answers." .

eidos:lineageRecordedBy a owl:ObjectProperty ;
  rdfs:domain eidos:ActionLineage ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "recorded by (one; asserted by warehouse, re-derived-per-seal, as-of-known-time). The receipt at hop zero." .

eidos:lineageResolvedBy a owl:ObjectProperty ;
  rdfs:domain eidos:ActionLineage ;
  rdfs:range eidos:ReceiptOutcome ;
  rdfs:comment "resolved by (many; asserted by warehouse, re-derived-per-seal, as-of-known-time). The outcomes joined at derivation time." .

eidos:policyHasReceipts a owl:ObjectProperty ;
  rdfs:domain eidos:PolicyVersion ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "has action receipts (many; asserted by private-ledger, immutable, as-of-known-time). The candidates the loop proposed against this policy, kept or not. Not joined in the warehouse: propose-policy-candidate receipts key the artifact path every version shares, decide-policy-candidate receipts the version's sha256, so no one column selects one version's receipts." .

eidos:filingForWindow a owl:ObjectProperty ;
  rdfs:domain eidos:WindowParameterFiling ;
  rdfs:range eidos:RecordingWindow ;
  rdfs:comment "filed for (one; asserted by application-database, immutable, at-read). The proposal whose window the filing precedes; the same account address keys both." .

eidos:filingByDaoAccount a owl:ObjectProperty ;
  rdfs:domain eidos:WindowParameterFiling ;
  rdfs:range eidos:DaoAccount ;
  rdfs:comment "filed by (one; asserted by application-database, immutable, at-read). The DAO account the filing key was scoped to." .

eidos:filingSupersedes a owl:ObjectProperty ;
  rdfs:domain eidos:WindowParameterFiling ;
  rdfs:range eidos:WindowParameterFiling ;
  rdfs:subPropertyOf prov:wasRevisionOf ;
  rdfs:comment "supersedes (one-or-none; asserted by application-database, append-and-supersede, as-of-known-time). A replacement names the filing it replaces; the earlier row stays on record." .

eidos:filingHasReceipts a owl:ObjectProperty ;
  rdfs:domain eidos:WindowParameterFiling ;
  rdfs:range eidos:ActionReceipt ;
  rdfs:comment "has action receipts (many; asserted by private-ledger, immutable, as-of-known-time). The attempts recorded against this filing, including refusals, synced from the application database." .

eidos:describesClass a owl:AnnotationProperty ;
  rdfs:comment "From an ObjectType individual to the class its rows are instances of. An annotation, not an object property, so the class is named without being made an individual." .

eidos:realizedAs a owl:AnnotationProperty ;
  rdfs:comment "From an ObjectLinkType individual to the object property that states the link between two rows." .

# ── record: datatype properties ───────────────────────────────────────

eidos:actionAuthority a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:actionVersion a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:actorClasses a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:assertedBy a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:availabilityColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:backingRelation a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:backingStore a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:baselineColumns a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:browsingLabelCriterion a owl:DatatypeProperty ;
  rdfs:domain eidos:BrowsingLabel ;
  rdfs:range xsd:string .

eidos:browsingLabelFacet a owl:DatatypeProperty ;
  rdfs:domain eidos:BrowsingLabel ;
  rdfs:range xsd:string .

eidos:browsingLabelId a owl:DatatypeProperty ;
  rdfs:domain eidos:BrowsingLabel ;
  rdfs:range xsd:string .

eidos:browsingVocabularyVersion a owl:DatatypeProperty ;
  rdfs:domain eidos:BrowsingLabel ;
  rdfs:range xsd:string .

eidos:cardinality a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:column a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:columns a owl:DatatypeProperty ;
  rdfs:domain eidos:AnalyticalRelation ;
  rdfs:range xsd:string .

eidos:comment a owl:DatatypeProperty ;
  rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:Metric eidos:ObjectLinkType eidos:ObjectType ) ] ;
  rdfs:range xsd:string .

eidos:concept a owl:DatatypeProperty ;
  rdfs:domain eidos:AnalyticalRelation ;
  rdfs:range xsd:string .

eidos:construction a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:correction a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:criteria a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:dataAuthority a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:description rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:DocumentedVector eidos:McpResource eidos:MonitoredVector ) ] .

eidos:effect a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:effectState a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:endpoint a owl:DatatypeProperty ;
  rdfs:domain eidos:McpServer ;
  rdfs:range xsd:string .

eidos:evidenceColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:grain a owl:DatatypeProperty ;
  rdfs:domain eidos:AnalyticalRelation ;
  rdfs:range xsd:string .

eidos:identityColumns a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:identityLink a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:boolean .

eidos:inverseLink a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:jobActor a owl:DatatypeProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range xsd:string .

eidos:jobId a owl:DatatypeProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range xsd:string .

eidos:jobIsPublic a owl:DatatypeProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range xsd:boolean .

eidos:jobScoreDirection a owl:DatatypeProperty ;
  rdfs:domain eidos:JobScore ;
  rdfs:range xsd:string .

eidos:jobScoreId a owl:DatatypeProperty ;
  rdfs:domain eidos:JobScore ;
  rdfs:range xsd:string .

eidos:jobScoreLabels a owl:DatatypeProperty ;
  rdfs:domain eidos:JobScore ;
  rdfs:range xsd:string .

eidos:jobStatement a owl:DatatypeProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range xsd:string .

eidos:jobUnmeasured a owl:DatatypeProperty ;
  rdfs:domain eidos:Job ;
  rdfs:range xsd:string .

eidos:joinRule a owl:DatatypeProperty ;
  rdfs:domain eidos:AnalyticalRelation ;
  rdfs:range xsd:string .

eidos:knowledgeTimeColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:ledger a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:machineChangeKindId a owl:DatatypeProperty ;
  rdfs:domain eidos:MachineChangeKind ;
  rdfs:range xsd:string .

eidos:machineChangeSubject a owl:DatatypeProperty ;
  rdfs:domain eidos:MachineChangeKind ;
  rdfs:range xsd:string .

eidos:machineChangeValue a owl:DatatypeProperty ;
  rdfs:domain eidos:MachineChangeKind ;
  rdfs:range xsd:string .

eidos:metricAggregate a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricChangeDays a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:integer .

eidos:metricDimension a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricField a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricFilter a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricId a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricTimeField a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:metricUnit a owl:DatatypeProperty ;
  rdfs:domain eidos:Metric ;
  rdfs:range xsd:string .

eidos:mimeType a owl:DatatypeProperty ;
  rdfs:domain eidos:McpResource ;
  rdfs:range xsd:string .

eidos:newsCategoryCriterion a owl:DatatypeProperty ;
  rdfs:domain eidos:NewsCategory ;
  rdfs:range xsd:string .

eidos:newsCategoryId a owl:DatatypeProperty ;
  rdfs:domain eidos:NewsCategory ;
  rdfs:range xsd:string .

eidos:newsCategoryIsNews a owl:DatatypeProperty ;
  rdfs:domain eidos:NewsCategory ;
  rdfs:range xsd:boolean .

eidos:primaryKey a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:projections a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:provenanceColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:publicResolver a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:boolean .

eidos:readsFrom a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:relation a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:reportKindDescription a owl:DatatypeProperty ;
  rdfs:domain eidos:ReportKind ;
  rdfs:range xsd:string .

eidos:reportKindId a owl:DatatypeProperty ;
  rdfs:domain eidos:ReportKind ;
  rdfs:range xsd:string .

eidos:selector a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:sideEffects a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:specializesLink a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:supertype a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:supertypeWhere a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:surfaces a owl:DatatypeProperty ;
  rdfs:domain eidos:ActionType ;
  rdfs:range xsd:string .

eidos:temporal a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:timeSemantics a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:titleKey a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:unit rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:CrossCheckSeries eidos:PhysicalColumn eidos:PublishedSeries ) ] .

eidos:unitColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

eidos:uri a owl:DatatypeProperty ;
  rdfs:domain eidos:McpResource ;
  rdfs:range xsd:string .

eidos:version rdfs:domain [ a owl:Class ; owl:unionOf ( eidos:AnalyticalInstrument eidos:CovenantCheck eidos:Detector eidos:DocumentedVector eidos:GovernanceProgramDeployment eidos:Instrument eidos:McpServer eidos:MonitoredVector eidos:Review ) ] .

eidos:warehouseDatabase a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseImplies a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseJoin a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:warehouseKey a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseLexical a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseProperty a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseRelation a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseTargetFilter a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectLinkType ;
  rdfs:range xsd:string .

eidos:warehouseTitle a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:warehouseUnbound a owl:DatatypeProperty ;
  rdfs:domain eidos:ObjectType ;
  rdfs:range xsd:string .

eidos:windowColumn a owl:DatatypeProperty ;
  rdfs:domain eidos:PhysicalColumn ;
  rdfs:range xsd:string .

# ── record: individuals (generated from the registries) ───────────────

eidos:mcp-server a eidos:McpServer ;
  rdfs:label "eidos" ;
  eidos:version "19.2.0" ;
  eidos:endpoint "/api/mcp" .

eidos:tool-list-replays a eidos:McpTool ;
  rdfs:label "list_replays" .

eidos:tool-qualify-evidence a eidos:McpTool ;
  rdfs:label "qualify_evidence" .

eidos:tool-scan-attack-vectors a eidos:McpTool ;
  rdfs:label "scan_attack_vectors" .

eidos:tool-read-decision-market a eidos:McpTool ;
  rdfs:label "read_decision_market" .

eidos:tool-inspect-playbook a eidos:McpTool ;
  rdfs:label "inspect_playbook" .

eidos:tool-carry-forward a eidos:McpTool ;
  rdfs:label "carry_forward" .

eidos:tool-enforce-scope a eidos:McpTool ;
  rdfs:label "enforce_scope" .

eidos:tool-get-review-contracts a eidos:McpTool ;
  rdfs:label "get_review_contracts" .

eidos:tool-map-attack-surface a eidos:McpTool ;
  rdfs:label "map_attack_surface" .

eidos:tool-get-live-proposals a eidos:McpTool ;
  rdfs:label "get_live_proposals" .

eidos:tool-map-live-exposure a eidos:McpTool ;
  rdfs:label "map_live_exposure" .

eidos:tool-pull-review-packet a eidos:McpTool ;
  rdfs:label "pull_review_packet" .

eidos:tool-simulate-trade a eidos:McpTool ;
  rdfs:label "simulate_trade" .

eidos:tool-review-proposal-economics a eidos:McpTool ;
  rdfs:label "review_proposal_economics" .

eidos:tool-investigate-market-move a eidos:McpTool ;
  rdfs:label "investigate_market_move" .

eidos:tool-verify-commitments a eidos:McpTool ;
  rdfs:label "verify_commitments" .

eidos:tool-check-economic-thesis a eidos:McpTool ;
  rdfs:label "check_economic_thesis" .

eidos:tool-get-decision-dossiers a eidos:McpTool ;
  rdfs:label "get_decision_dossiers" .

eidos:tool-get-decision-context a eidos:McpTool ;
  rdfs:label "get_decision_context" .

eidos:tool-get-object a eidos:McpTool ;
  rdfs:label "get_object" .

eidos:tool-get-dimensions a eidos:McpTool ;
  rdfs:label "get_dimensions" .

eidos:tool-read-news a eidos:McpTool ;
  rdfs:label "read_news" .

eidos:tool-read-reports a eidos:McpTool ;
  rdfs:label "read_reports" .

eidos:tool-get-classifications a eidos:McpTool ;
  rdfs:label "get_classifications" .

eidos:tool-get-organization-diligence a eidos:McpTool ;
  rdfs:label "get_organization_diligence" .

eidos:tool-get-metrics a eidos:McpTool ;
  rdfs:label "get_metrics" .

eidos:tool-evaluate-decision-context a eidos:McpTool ;
  rdfs:label "evaluate_decision_context" .

eidos:tool-verify-decision-claims a eidos:McpTool ;
  rdfs:label "verify_decision_claims" .

eidos:resource-eidos-ontology a eidos:McpResource ;
  rdfs:label "Eidos product ontology (OWL 2)" ;
  eidos:uri "https://eidos.software/ontology/eidos.ttl" ;
  eidos:mimeType "text/turtle" ;
  eidos:description "The ontology in Turtle, one model in five modules (governance, observation, evidence, forecast, record): the decision and its engine, venue and chain; analytical runs, instruments, results and interpretations; historical review contracts, the disjoint match and withheld state partitions, LOW as a rejected classification, the futarchy component taxonomy, and SafetyRating declared equivalent to owl:Nothing. CompositeProposalRiskScore is an analytical result class with no implemented method. Aligned to PROV-O, SOSA, SKOS, DCAT, OWL-Time and schema.org. Loads into Protégé or pySHACL as it stands." .

eidos:resource-eidos-knowledge-graph a eidos:McpResource ;
  rdfs:label "Eidos ontology as a knowledge graph" ;
  eidos:uri "https://eidos.software/ontology/kg.json" ;
  eidos:mimeType "application/json" ;
  eidos:description "The same individuals as node-link JSON: reviews, vectors with their indicators and incident provenance, covenant checks, mechanism components, engines, venues and chains, and the edges between them. Loads straight into NetworkX." .

eidos:resource-eidos-shapes a eidos:McpResource ;
  rdfs:label "SHACL shapes for the ontology" ;
  eidos:uri "https://eidos.software/ontology/shapes.ttl" ;
  eidos:mimeType "text/turtle" ;
  eidos:description "The validation half of the ontology. OWL's open world cannot say a finding has no other properties, which is what the historical finding contract requires; sh:closed says it directly. FindingShape admits review provenance and rejects unknown properties. VectorFindingShape requires a monitored vector and state pair only for vector classifications — so a payload carrying a composite score fails validation rather than merely being discouraged." .

eidos:resource-review-contracts a eidos:McpResource ;
  rdfs:label "The six bounded review contracts" ;
  eidos:uri "https://eidos.software/vectors/reviews.json" ;
  eidos:mimeType "application/json" ;
  eidos:description "Versioned inputs, outputs, handoffs, and verbatim boundary rules for each review on the roster." .

eidos:resource-attack-vector-library a eidos:McpResource ;
  rdfs:label "The versioned attack-vector library" ;
  eidos:uri "https://eidos.software/vectors/library.json" ;
  eidos:mimeType "application/json" ;
  eidos:description "Monitored and documented vectors with their indicators, the evidence each detector consumes, methodology sources, and published case provenance. Documented vectors never classify." .

eidos:resource-tool-output-schemas a eidos:McpResource ;
  rdfs:label "Every tool's complete output schema" ;
  eidos:uri "https://eidos.software/ontology/tool-output-schemas.json" ;
  eidos:mimeType "application/json" ;
  eidos:description "tools/list advertises each tool's output schema as a closed two-level outline, so connecting costs an agent a fraction of the full contract. This document is the full contract: every tool's closed JSON Schema at every depth, the one the server's outputs are validated against, so a client can validate the fields and scope of each result." .

eidos:object-organization a eidos:ObjectType ;
  rdfs:label "Organization" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "A tracked organization: the slug the app ranks under, its token, its kind and status. Hand-authored in the organization registry, sealed with every warehouse run as the organization dimension. MetaDAO's cohort, and the organizations a decision on another engine names through a decider claim (src/organization-deciders.ts)." ;
  eidos:primaryKey "slug" ;
  eidos:titleKey "name" ;
  eidos:backingStore "registry" ;
  eidos:backingRelation "src/organizations.ts#ORGANIZATIONS" ;
  eidos:dataAuthority "git" ;
  eidos:publicResolver true ;
  eidos:projections "warehouse:raw.organizations" ;
  eidos:projections "warehouse:dim_organization_identifier" ;
  eidos:projections "published-database:/api/dimensions" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_organization" ;
  eidos:warehouseKey "slug" ;
  eidos:warehouseTitle "name" ;
  eidos:warehouseProperty "organizationSlug=slug" ;
  eidos:warehouseProperty "organizationName=name" ;
  eidos:warehouseProperty "organizationTokenSymbol=token_symbol" ;
  eidos:warehouseProperty "organizationKind=kind" ;
  eidos:warehouseProperty "organizationStatus=status" ;
  eidos:warehouseProperty "organizationIsActive=is_active" ;
  eidos:warehouseProperty "organizationWebsite=website_url" ;
  eidos:warehouseProperty "organizationDocs=docs_url" ;
  eidos:warehouseProperty "organizationXProfile=x_url" ;
  eidos:warehouseProperty "organizationDaoAccountCount=dao_account_count" .

eidos:object-dao-account a eidos:ObjectType ;
  rdfs:label "DAO account" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "A futarchy DAO account on the program: the public key its proposals name, decoded from the program's own accounts, never from a page." ;
  eidos:primaryKey "dao" ;
  eidos:titleKey "name" ;
  eidos:backingStore "published-database" ;
  eidos:backingRelation "/api/live-proposals#daoAccounts" ;
  eidos:dataAuthority "edge-copy" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/api/live-proposals" ;
  eidos:projections "warehouse:raw.proposal_daos" ;
  eidos:projections "registry:src/identity-registry.ts#futarchy-dao" ;
  eidos:projections "published-database:/api/dimensions" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_dao_account" ;
  eidos:warehouseKey "dao" ;
  eidos:warehouseTitle "name" ;
  eidos:warehouseProperty "daoAccountKey=dao" .

eidos:object-decision a eidos:ObjectType ;
  rdfs:label "Decision" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One decision a market made or is making, on any engine the record decodes, named by engine, chain and decision id: its form, and what it was for, what was known, what was done and what followed, each recorded with its source or withheld with the reason. Sealed with every warehouse run as the decision dimension (main.dim_decision), one row per decision from the program index and the sealed engine documents." ;
  eidos:primaryKey "engine" ;
  eidos:primaryKey "chain" ;
  eidos:primaryKey "decisionId" ;
  eidos:titleKey "title" ;
  eidos:backingStore "published-database" ;
  eidos:backingRelation "/data/decisions.json#decisions" ;
  eidos:dataAuthority "edge-copy" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/data/decisions.json" ;
  eidos:projections "warehouse:dim_decision" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_decision" ;
  eidos:warehouseKey "engine" ;
  eidos:warehouseKey "chain" ;
  eidos:warehouseKey "decision_id" ;
  eidos:warehouseTitle "title" ;
  eidos:warehouseProperty "decisionEngine=engine" ;
  eidos:warehouseProperty "decisionChain=chain" ;
  eidos:warehouseProperty "decisionIdentifier=decision_id" ;
  eidos:warehouseProperty "decisionRecordId=record_id" ;
  eidos:warehouseProperty "decisionTitle=title" ;
  eidos:warehouseProperty "decisionOpenedAt=opened_at" ;
  eidos:warehouseProperty "decisionClosesAt=closes_at" ;
  eidos:warehouseProperty "decisionOptionCount=option_count" ;
  eidos:warehouseProperty "decisionSelectedOptionId=selected_option" ;
  eidos:warehouseProperty "decisionIsDecided=decided" ;
  eidos:warehouseProperty "decisionState=state" ;
  eidos:warehouseProperty "decisionIsFundedDraft=funded" ;
  eidos:warehouseProperty "decisionNamesPassOption=pass_option" ;
  eidos:warehouseProperty "decisionIsCounted=counted" ;
  eidos:warehouseProperty "decisionDeciderKey=decider_key" ;
  eidos:warehouseProperty "decisionExecutionState=execution_state" ;
  eidos:warehouseProperty "decisionCapitalState=capital_state" ;
  eidos:warehouseProperty "decisionHasAnalysis=analyzed" ;
  eidos:warehouseProperty "decisionHasParticipation=participation_available" ;
  eidos:warehouseProperty "decisionHasDetectorAssessment=detector_assessed" ;
  eidos:warehouseProperty "decisionHasMarketReading=market_reading_available" ;
  eidos:warehouseProperty "decisionIsReviewed=reviewed" ;
  eidos:warehouseProperty "decisionEvidenceReviewFiled=evidence_review_filed" ;
  eidos:warehouseProperty "decisionAttackReviewFiled=attack_review_filed" ;
  eidos:warehouseProperty "decisionMarketReviewFiled=market_review_filed" ;
  eidos:warehouseProperty "decisionSwapCount=swaps" ;
  eidos:warehouseProperty "decisionNonEconomicSwapCount=non_economic_swaps" ;
  eidos:warehouseProperty "decisionTradeCount=trades" ;
  eidos:warehouseProperty "decisionTraderCount=traders" ;
  eidos:warehouseProperty "decisionVolumeUsd=volume_usd" ;
  eidos:warehouseProperty "decisionFinalThresholdPct=final_threshold_pct" ;
  eidos:warehouseImplies "decisionHasParticipation=decisionHasAnalysis" ;
  eidos:warehouseImplies "decisionHasDetectorAssessment=decisionHasAnalysis" ;
  eidos:warehouseImplies "decisionHasMarketReading=decisionHasAnalysis" ;
  eidos:warehouseImplies "decisionAttackReviewFiled=decisionEvidenceReviewFiled" .

eidos:object-proposal a eidos:ObjectType ;
  rdfs:label "Proposal" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One futarchy proposal by exact identity: chain, program, proposal account, DAO account, base and quote mint. Names and tickers are not join keys. The decision context service resolves it into revisioned public evidence." ;
  eidos:primaryKey "chain" ;
  eidos:primaryKey "programId" ;
  eidos:primaryKey "proposal" ;
  eidos:primaryKey "dao" ;
  eidos:primaryKey "baseMint" ;
  eidos:primaryKey "quoteMint" ;
  eidos:titleKey "proposal" ;
  eidos:backingStore "published-database" ;
  eidos:backingRelation "/api/live-proposals#proposals" ;
  eidos:dataAuthority "edge-copy" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/api/live-proposals" ;
  eidos:projections "tape:market_states" ;
  eidos:projections "warehouse:raw.market_states" ;
  eidos:projections "warehouse:window_outlook_windows" ;
  eidos:supertype "decision" ;
  eidos:supertypeWhere "engine=metadao" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_proposal" ;
  eidos:warehouseKey "proposal" ;
  eidos:warehouseTitle "proposal" ;
  eidos:warehouseProperty "proposalDaoAccount=dao" ;
  eidos:warehouseProperty "proposalIsDecided=decided" ;
  eidos:warehouseProperty "proposalIsFundedDraft=funded" ;
  eidos:warehouseProperty "proposalStateCode=state" .

eidos:object-forecast a eidos:ObjectType ;
  rdfs:label "Decision forecast" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "An issued claim about option selection, including withheld attempts, with its recorded method and separately sourced result. Replay cases are not issued forecasts." ;
  eidos:primaryKey "forecastId" ;
  eidos:titleKey "decisionId" ;
  eidos:backingStore "private-ledger" ;
  eidos:backingRelation "harness/ledger.sqlite3#forecast_records" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver false ;
  eidos:projections "ledger:decision_forecasts" ;
  eidos:warehouseDatabase "ledger" ;
  eidos:warehouseRelation "main.decision_forecasts" ;
  eidos:warehouseKey "forecast_id" ;
  eidos:warehouseTitle "decision_id" ;
  eidos:warehouseProperty "forecastIssuedAt=recorded_at" ;
  eidos:warehouseProperty "forecastInputCutoff=cutoff_at" ;
  eidos:warehouseProperty "forecastMethodHash=method_hash" .

eidos:object-window a eidos:ObjectType ;
  rdfs:label "Recording window" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "A proposal's recording window: the threshold, the pass and fail TWAPs, the state the window reached, and its times, which are of two kinds that are not interchangeable. The public object (/api/live-proposals) carries openedAt and closesAt, the proposal's scheduled open and close as its account states them, the same instants as the decision's decisionOpenedAt and decisionClosesAt. The warehouse relation carries what the tape observed instead, windowTwapStartedAt and windowLastTickAt, and never the schedule. The object a forecast is recorded against and a filing will be made before." ;
  eidos:primaryKey "proposal" ;
  eidos:titleKey "proposal" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "market_states" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/api/live-proposals" ;
  eidos:projections "published-database:/api/live-proposals#proposals" ;
  eidos:projections "warehouse:window_outlook_windows" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.window_outlook_windows" ;
  eidos:warehouseKey "proposal" ;
  eidos:warehouseTitle "proposal" ;
  eidos:warehouseProperty "windowTwapStartedAt=twap_started_at" ;
  eidos:warehouseProperty "windowLastTickAt=last_tick_at" ;
  eidos:warehouseLexical "windowTwapStartedAt" ;
  eidos:warehouseLexical "windowLastTickAt" .

eidos:object-analytical-run a eidos:ObjectType ;
  rdfs:label "Analytical run" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "An immutable calculation over retained decision inputs, with versioned instruments, evidence coverage, results and interpretations. Corrections append and supersede; historical runs remain available." ;
  eidos:primaryKey "id" ;
  eidos:titleKey "id" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "analytical_runs" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver false ;
  eidos:projections "published-database:/data/decision-intelligence.json" ;
  eidos:projections "warehouse:raw.analytical_runs" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.analytical_runs" ;
  eidos:warehouseKey "id" ;
  eidos:warehouseTitle "id" .

eidos:object-finding a eidos:ObjectType ;
  rdfs:label "Finding" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One review's readout for one decision, on any engine, at one time, filed or withheld, stamped with the roster release and the team's contract version. Never folded into a composite." ;
  eidos:primaryKey "engine" ;
  eidos:primaryKey "chain" ;
  eidos:primaryKey "decision" ;
  eidos:primaryKey "team" ;
  eidos:primaryKey "rosterVersion" ;
  eidos:primaryKey "ts" ;
  eidos:titleKey "headline" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "lane_findings" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/data/lane-findings.json" ;
  eidos:projections "published-database:/data/lane-findings.json" ;
  eidos:projections "warehouse:raw.lane_findings" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.lane_findings" ;
  eidos:warehouseKey "engine" ;
  eidos:warehouseKey "chain" ;
  eidos:warehouseKey "decision" ;
  eidos:warehouseKey "team" ;
  eidos:warehouseKey "roster_version" ;
  eidos:warehouseKey "ts" ;
  eidos:warehouseTitle "headline" .

eidos:object-claim a eidos:ObjectType ;
  rdfs:label "Claim" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "A source-linked relationship in the operational evidence graph: subject, predicate, object, source, and its review and publication state. Private until it carries both gates; the public projection, the app's Diligence page, holds only accepted-and-published claims." ;
  eidos:primaryKey "claimId" ;
  eidos:titleKey "claimId" ;
  eidos:backingStore "private-ledger" ;
  eidos:backingRelation "operational-evidence.ndjson" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/data/operational-evidence.json" ;
  eidos:projections "published-database:/data/operational-evidence.json" ;
  eidos:projections "ledger-warehouse:operational_evidence" ;
  eidos:warehouseDatabase "ledger" ;
  eidos:warehouseRelation "main.claims" ;
  eidos:warehouseKey "claim_id" ;
  eidos:warehouseTitle "predicate" .

eidos:object-investigation a eidos:ObjectType ;
  rdfs:label "Investigation" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "An owner-scoped run: a question, the decision context it pinned, the instrument it executed, and the events that followed. Lives in the application database; resolves only for its owner's session." ;
  eidos:primaryKey "id" ;
  eidos:titleKey "question" ;
  eidos:backingStore "application-database" ;
  eidos:backingRelation "investigation_runs" ;
  eidos:dataAuthority "application" ;
  eidos:publicResolver false ;
  eidos:projections "ledger-warehouse:workflow_receipts (via actions:sync)" ;
  eidos:warehouseUnbound "Investigations live in the application database, which no warehouse run seals." .

eidos:object-action-receipt a eidos:ObjectType ;
  rdfs:label "Action receipt" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "The record of one attempt at a registered action: who and their class, from which surface, about which object at which revision, atop which context, with which code, and the outcome with its reasons." ;
  eidos:primaryKey "receiptId" ;
  eidos:titleKey "action" ;
  eidos:backingStore "private-ledger" ;
  eidos:backingRelation "workflow-receipts.ndjson" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver false ;
  eidos:projections "ledger-warehouse:workflow_receipts" ;
  eidos:projections "ledger-warehouse:action_receipts" ;
  eidos:projections "ledger-warehouse:action_log" ;
  eidos:warehouseDatabase "ledger" ;
  eidos:warehouseRelation "main.action_receipts" ;
  eidos:warehouseKey "receipt_id" ;
  eidos:warehouseTitle "action" .

eidos:object-receipt-outcome a eidos:ObjectType ;
  rdfs:label "Receipt outcome" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "What came of a receipt, as one cited sealed fact: a review, a publication, a superseding claim, a window resolution, an evaluated candidate or a closing decision, with the fact's digest, when it happened and when this ledger learned it. Never a grade." ;
  eidos:primaryKey "outcomeId" ;
  eidos:titleKey "kind" ;
  eidos:backingStore "private-ledger" ;
  eidos:backingRelation "receipt-outcomes.ndjson" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver false ;
  eidos:projections "ledger-warehouse:receipt_outcomes" ;
  eidos:projections "ledger-warehouse:outcome_log" ;
  eidos:warehouseDatabase "ledger" ;
  eidos:warehouseRelation "main.outcome_log" ;
  eidos:warehouseKey "outcome_id" ;
  eidos:warehouseTitle "kind" .

eidos:object-action-lineage a eidos:ObjectType ;
  rdfs:label "Action lineage" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "A receipt read together with the context it stood on, the code that executed it and the receipt outcomes that answered it: the row of action_lineage. Derived; the receipt and outcome ledgers stay the record." ;
  eidos:primaryKey "receiptId" ;
  eidos:titleKey "action" ;
  eidos:backingStore "warehouse" ;
  eidos:backingRelation "ledger-warehouse:action_lineage" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver false ;
  eidos:projections "ledger-warehouse:action_lineage_count" ;
  eidos:warehouseUnbound "action_lineage holds one row per hop, not per record; read it keyed by (receipt_id, hop)." .

eidos:object-policy a eidos:ObjectType ;
  rdfs:label "Policy version" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One content-addressed version of a file the harness loop may edit, identified by the sha256 of the artifact files; a kept version is a commit on main with a Worker trailer. The object a proposed candidate names." ;
  eidos:primaryKey "artifact" ;
  eidos:primaryKey "artifactSha256" ;
  eidos:titleKey "artifact" ;
  eidos:backingStore "private-ledger" ;
  eidos:backingRelation "harness/ledger.sqlite3#harness_candidates" ;
  eidos:dataAuthority "private-ledgers" ;
  eidos:publicResolver false ;
  eidos:projections "ledger-warehouse:harness_candidates" ;
  eidos:warehouseDatabase "ledger" ;
  eidos:warehouseRelation "main.policy_versions" ;
  eidos:warehouseKey "artifact" ;
  eidos:warehouseKey "artifact_sha256" ;
  eidos:warehouseTitle "artifact" .

eidos:object-filing a eidos:ObjectType ;
  rdfs:label "Window-parameter filing" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "What an organization filed before a proposal's recording window opened: the covenant it published and the market parameters it configured. Existence is public at once as a fact of record; content is public only through the evidence review's two gates. The first public verb's object." ;
  eidos:primaryKey "id" ;
  eidos:titleKey "proposal" ;
  eidos:backingStore "application-database" ;
  eidos:backingRelation "filings" ;
  eidos:dataAuthority "application" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/data/filings.json" ;
  eidos:projections "published-database:/data/filings.json" ;
  eidos:projections "ledger-warehouse:workflow_receipts (via actions:sync)" ;
  eidos:warehouseUnbound "Filings live in the application database, which no warehouse run seals." .

eidos:object-market a eidos:ObjectType ;
  rdfs:label "Market" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One market the tape observes, by chain, market kind and market id: an organization's token on the spot kind, a proposal's conditional pool, an engine's option. The fact rows that observe it name these three columns." ;
  eidos:primaryKey "chain" ;
  eidos:primaryKey "marketKind" ;
  eidos:primaryKey "marketId" ;
  eidos:titleKey "marketId" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "observations" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver false ;
  eidos:projections "warehouse:dim_market" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_market" ;
  eidos:warehouseKey "chain" ;
  eidos:warehouseKey "market_kind" ;
  eidos:warehouseKey "market_id" ;
  eidos:warehouseTitle "market_id" ;
  eidos:warehouseProperty "marketChain=chain" ;
  eidos:warehouseProperty "marketKind=market_kind" ;
  eidos:warehouseProperty "marketIdentifier=market_id" ;
  eidos:warehouseProperty "marketEngine=engine" ;
  eidos:warehouseProperty "marketEntityType=entity_type" ;
  eidos:warehouseProperty "marketObservationCount=observations" ;
  eidos:warehouseProperty "marketApprovedObservationCount=approved_observations" ;
  eidos:warehouseProperty "marketFirstObservedAt=first_observed_at" ;
  eidos:warehouseProperty "marketLastObservedAt=last_observed_at" ;
  eidos:warehouseProperty "marketFirstApprovedAt=first_approved_at" ;
  eidos:warehouseProperty "marketLastApprovedAt=last_approved_at" .

eidos:object-source a eidos:ObjectType ;
  rdfs:label "Source" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One upstream the collector reads, as its attempts record it: the lanes it serves, when it was first and last asked, and whether it was retired and by what." ;
  eidos:primaryKey "source" ;
  eidos:titleKey "source" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "source_outcomes" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver false ;
  eidos:projections "warehouse:dim_source" ;
  eidos:projections "warehouse:source_sla_daily" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_source" ;
  eidos:warehouseKey "source" ;
  eidos:warehouseTitle "source" ;
  eidos:warehouseProperty "sourceName=source" ;
  eidos:warehouseProperty "sourceAttempts=attempts" ;
  eidos:warehouseProperty "sourceFirstAttemptAt=first_attempt_at" ;
  eidos:warehouseProperty "sourceLastAttemptAt=last_attempt_at" ;
  eidos:warehouseProperty "sourceIsRetired=is_retired" .

eidos:object-date a eidos:ObjectType ;
  rdfs:label "Date" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One UTC calendar day in the span the run observed: the conformed day facts are grouped by." ;
  eidos:primaryKey "dateDay" ;
  eidos:titleKey "dateDay" ;
  eidos:backingStore "warehouse" ;
  eidos:backingRelation "dim_date" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver false ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.dim_date" ;
  eidos:warehouseKey "date_day" ;
  eidos:warehouseTitle "date_day" ;
  eidos:warehouseProperty "calendarDay=date_day" ;
  eidos:warehouseProperty "calendarYear=year" ;
  eidos:warehouseProperty "calendarMonth=month" ;
  eidos:warehouseProperty "calendarIsoWeek=iso_week" ;
  eidos:warehouseProperty "calendarIsWeekend=is_weekend" .

eidos:object-observation a eidos:ObjectType ;
  rdfs:label "Observation" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One approved observation the history publishes: a series' value for one market at one instant, with when it became known and the provenance that admitted it." ;
  eidos:primaryKey "id" ;
  eidos:titleKey "series" ;
  eidos:backingStore "tape" ;
  eidos:backingRelation "observations" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver false ;
  eidos:projections "warehouse:approved_history" ;
  eidos:projections "warehouse:observation_readings" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.approved_history" ;
  eidos:warehouseKey "id" ;
  eidos:warehouseTitle "series" ;
  eidos:warehouseProperty "observationSeries=series" ;
  eidos:warehouseProperty "observedValue=value" ;
  eidos:warehouseProperty "observedAt=ts" ;
  eidos:warehouseProperty "observationKnownAt=known_at" ;
  eidos:warehouseProperty "observationProvenance=provenance" ;
  eidos:warehouseLexical "observedAt" ;
  eidos:warehouseLexical "observationKnownAt" .

eidos:object-trade a eidos:ObjectType ;
  rdfs:label "Trade" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One final swap the trade ledger recorded on a decision market, on any engine: finalized on chain and confirmed by two providers, named by engine, chain, market, transaction and the event's position in it. A swap of 0 for 0 is recorded too and is not a trade (tradeIsEconomic false; src/non-economic-swap.ts). Resolved publicly from its market's published trade document: a MetaDAO proposal's evidence, another engine's trade tape." ;
  eidos:primaryKey "engine" ;
  eidos:primaryKey "chain" ;
  eidos:primaryKey "market" ;
  eidos:primaryKey "tx" ;
  eidos:primaryKey "position" ;
  eidos:titleKey "tx" ;
  eidos:backingStore "warehouse" ;
  eidos:backingRelation "fct_trades" ;
  eidos:dataAuthority "tape" ;
  eidos:publicResolver true ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.fct_trades" ;
  eidos:warehouseKey "engine" ;
  eidos:warehouseKey "chain" ;
  eidos:warehouseKey "market" ;
  eidos:warehouseKey "tx" ;
  eidos:warehouseKey "position" ;
  eidos:warehouseTitle "tx" ;
  eidos:warehouseProperty "tradeEngine=engine" ;
  eidos:warehouseProperty "tradeChain=chain" ;
  eidos:warehouseProperty "tradeMarket=market" ;
  eidos:warehouseProperty "tradeTransaction=tx" ;
  eidos:warehouseProperty "tradePosition=position" ;
  eidos:warehouseProperty "tradeTrader=trader" ;
  eidos:warehouseProperty "tradeIsEconomic=economic" ;
  eidos:warehouseProperty "tradeSizeUsd=size_usd" ;
  eidos:warehouseProperty "tradeBlockTime=block_time" .

eidos:object-diligence-answer a eidos:ObjectType ;
  rdfs:label "Diligence answer" ;
  skos:inScheme eidos:ObjectTypeScheme ;
  eidos:comment "One organization's answer to one fixed diligence question (src/diligence-questions.ts): its state (answered, not checked, not disclosed, not applicable), how many sourced facts it carries and when they were observed, and whether every fact is inside the question's re-check window at the run's cutoff. Never a grade: the facts are values, and an answer's state says what Eidos holds, not what the organization is worth." ;
  eidos:primaryKey "slug" ;
  eidos:primaryKey "question" ;
  eidos:titleKey "question" ;
  eidos:backingStore "published-database" ;
  eidos:backingRelation "/data/desk/routes/diligence.json" ;
  eidos:dataAuthority "edge-copy" ;
  eidos:publicResolver true ;
  eidos:readsFrom "/data/desk/routes/diligence.json" ;
  eidos:projections "published-database:/data/desk/routes/diligence.json" ;
  eidos:projections "warehouse:diligence_answers" ;
  eidos:warehouseDatabase "warehouse" ;
  eidos:warehouseRelation "main.diligence_answers" ;
  eidos:warehouseKey "slug" ;
  eidos:warehouseKey "question" ;
  eidos:warehouseTitle "question" ;
  eidos:warehouseProperty "diligenceAnswerOrganization=slug" ;
  eidos:warehouseProperty "diligenceAnswerQuestion=question" ;
  eidos:warehouseProperty "diligenceAnswerState=state" ;
  eidos:warehouseProperty "diligenceAnswerIsAnswered=is_answered" ;
  eidos:warehouseProperty "diligenceAnswerIsCurrent=is_current" ;
  eidos:warehouseProperty "diligenceAnswerFactCount=fact_count" ;
  eidos:warehouseProperty "diligenceAnswerNewestObservedAt=newest_observed_at" ;
  eidos:warehouseImplies "diligenceAnswerIsCurrent=diligenceAnswerIsAnswered" .

eidos:link-organization-has-dao-account a eidos:ObjectLinkType ;
  rdfs:label "governed by DAO account" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The futarchy DAO accounts the organization's proposals run under (an organization that moved DAO accounts holds more than one), from the identity registry's claims or a recorded live snapshot; a contested mapping fails the seal rather than picking." ;
  eidos:warehouseJoin "slug=slug" .

eidos:link-dao-account-has-organization a eidos:ObjectLinkType ;
  rdfs:label "identified as organization" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The inverse of the organization's governing DAO account; absent for the program's test mints and for DAO accounts no registry names." ;
  eidos:inverseLink "organization-has-dao-account" ;
  eidos:warehouseJoin "slug=slug" .

eidos:link-dao-account-has-proposals a eidos:ObjectLinkType ;
  rdfs:label "has proposals" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "published-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "Every proposal account whose dao field names this DAO account." ;
  eidos:warehouseJoin "dao=dao" .

eidos:link-decision-is-proposal a eidos:ObjectLinkType ;
  rdfs:label "is the proposal" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "published-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "For a MetaDAO decision, the proposal it is: the same individual in MetaDAO's form (GovernanceProposal is a subclass of Decision). Absent on the other engines, whose decisions are not proposals." ;
  eidos:identityLink true ;
  eidos:inverseLink "proposal-is-decision" ;
  eidos:warehouseJoin "proposal=proposal" .

eidos:link-decision-governed-by a eidos:ObjectLinkType ;
  rdfs:label "decided for DAO account" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "published-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "For a MetaDAO decision, the DAO account the proposal names. Other engines' DAO accounts are named in the row and are not yet DAO account objects." ;
  eidos:warehouseJoin "dao=dao" .

eidos:link-decision-for-organization a eidos:ObjectLinkType ;
  rdfs:label "decided for organization" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The tracked organization the decision was about: on MetaDAO through its DAO account's identity, on another engine through the registry's claim on its decider (src/organization-deciders.ts: a futarchy.fi market's organization token, an Umia venture, a Butter funder), sealed with the census. Absent for a decision no registry names: a decider no claim names (every Combinator moderator today) is named on the decision (organization) and is not a tracked organization." ;
  eidos:warehouseJoin "slug=slug" .

eidos:link-decision-has-window a eidos:ObjectLinkType ;
  rdfs:label "has recording window" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The recording window of the decision: MetaDAO proposals only today, keyed by the same account; the other engines' windows are series on the tape and not yet window objects. The public resolver (/api/live-proposals) answers for every proposal the published snapshot holds; the warehouse relation holds a row only for a window the tape read, so there it may be absent." ;
  eidos:inverseLink "window-of-decision" ;
  eidos:warehouseJoin "proposal=proposal" .

eidos:link-decision-has-findings a eidos:ObjectLinkType ;
  rdfs:label "has findings" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "Six-review findings recorded for the decision on any engine (6 Oct 2026), stamped with the roster release and each review's contract version, keyed by the decision's engine, chain and id." ;
  eidos:inverseLink "finding-of-decision" ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "decision_id=decision" .

eidos:link-proposal-is-decision a eidos:ObjectLinkType ;
  rdfs:label "is the decision" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "published-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision this proposal is: the same individual, a MetaDAO decision keyed by the proposal account. Every decision column (engine, chain, the census's readings) is read across it." ;
  eidos:identityLink true ;
  eidos:warehouseJoin "proposal=proposal" .

eidos:link-proposal-governed-by a eidos:ObjectLinkType ;
  rdfs:label "governed by" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "published-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The dao field of the proposal account. MetaDAO's form of decision-governed-by, where it is always present." ;
  eidos:inverseLink "dao-account-has-proposals" ;
  eidos:specializesLink "decision-governed-by" ;
  eidos:warehouseJoin "dao=dao" .

eidos:link-proposal-has-window a eidos:ObjectLinkType ;
  rdfs:label "has recording window" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The lifecycle the tape records for this proposal: each state transition is a new row with the time it became known; the latest is the window's current state. MetaDAO's form of decision-has-window, and like it one-or-none: the public resolver (/api/live-proposals) answers for every proposal the published snapshot holds, but the warehouse relation (main.window_outlook_windows) holds a row only for a window the tape read, and a proposal it never read, an open one included, has none there." ;
  eidos:specializesLink "decision-has-window" ;
  eidos:warehouseJoin "proposal=proposal" .

eidos:link-proposal-has-findings a eidos:ObjectLinkType ;
  rdfs:label "has findings" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "Six-review findings recorded for this proposal, stamped with the roster release and each review's contract version. MetaDAO's form of decision-has-findings: a MetaDAO finding's decision is the proposal account." ;
  eidos:specializesLink "decision-has-findings" ;
  eidos:warehouseJoin "proposal=decision" ;
  eidos:warehouseTargetFilter "engine=metadao" .

eidos:link-forecast-of-decision a eidos:ObjectLinkType ;
  rdfs:label "forecasts decision" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The engine, chain and decision the issuance predicts." ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "decision_id=decision_id" .

eidos:link-window-of-decision a eidos:ObjectLinkType ;
  rdfs:label "window of" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "tape" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision this window belongs to: a MetaDAO decision today, joined by its proposal account, the key both rows hold." ;
  eidos:warehouseJoin "proposal=proposal" .

eidos:link-window-has-receipts a eidos:ObjectLinkType ;
  rdfs:label "has action receipts" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "Forecasts recorded, watches proposed and, after 2.0.0, filings made against this window." ;
  eidos:warehouseJoin "proposal=object_key" ;
  eidos:warehouseTargetFilter "object_type=window" .

eidos:link-analysis-of-decision a eidos:ObjectLinkType ;
  rdfs:label "analyzes" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "tape" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision whose retained inputs this run evaluates." ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "decision=decision_id" .

eidos:link-analysis-supersedes a eidos:ObjectLinkType ;
  rdfs:label "supersedes" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "An accepted correction retains and replaces an earlier analytical run." ;
  eidos:warehouseJoin "supersedes=id" .

eidos:link-finding-of-decision a eidos:ObjectLinkType ;
  rdfs:label "finding of" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "tape" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision the finding was recorded for, on any engine, joined by its engine, chain and id." ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "decision=decision_id" .

eidos:link-claim-supersedes a eidos:ObjectLinkType ;
  rdfs:label "supersedes" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "A correction names the accepted claim it replaces; the earlier claim stays in the ledger as superseded." ;
  eidos:warehouseJoin "supersedes_claim_id=claim_id" .

eidos:link-claim-has-receipts a eidos:ObjectLinkType ;
  rdfs:label "has action receipts" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The staging, review and publication attempts recorded against this claim, including refusals." ;
  eidos:warehouseJoin "claim_id=object_key" ;
  eidos:warehouseTargetFilter "object_type=claim" .

eidos:link-investigation-of-decision a eidos:ObjectLinkType ;
  rdfs:label "investigates" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "application-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The exact identity the run's context manifest names." .

eidos:link-investigation-has-receipts a eidos:ObjectLinkType ;
  rdfs:label "has action receipts" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The investigation verbs synced from the application database into the receipts ledger." .

eidos:link-receipt-about-object a eidos:ObjectLinkType ;
  rdfs:label "about" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The object the action named; the receipt's objectType selects the actual type (a claim, an investigation, a window, a policy, a filing or another receipt) and objectKey the row. Declared against claim here because a link has one target; the other targets are the same relation under their own types, and the property's range is their union." .

eidos:link-receipt-has-outcomes a eidos:ObjectLinkType ;
  rdfs:label "resolved by" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The facts derived later that answer this receipt." ;
  eidos:warehouseJoin "receipt_id=receipt_id" .

eidos:link-outcome-of-receipt a eidos:ObjectLinkType ;
  rdfs:label "outcome of" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The receipt this fact answers." ;
  eidos:inverseLink "receipt-has-outcomes" ;
  eidos:warehouseJoin "receipt_id=receipt_id" .

eidos:link-lineage-recorded-by a eidos:ObjectLinkType ;
  rdfs:label "recorded by" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The receipt at hop zero." .

eidos:link-lineage-resolved-by a eidos:ObjectLinkType ;
  rdfs:label "resolved by" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The outcomes joined at derivation time." .

eidos:link-policy-has-receipts a eidos:ObjectLinkType ;
  rdfs:label "has action receipts" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The candidates the loop proposed against this policy, kept or not. Not joined in the warehouse: propose-policy-candidate receipts key the artifact path every version shares, decide-policy-candidate receipts the version's sha256, so no one column selects one version's receipts." .

eidos:link-filing-for-window a eidos:ObjectLinkType ;
  rdfs:label "filed for" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "application-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The proposal whose window the filing precedes; the same account address keys both." .

eidos:link-filing-by-dao-account a eidos:ObjectLinkType ;
  rdfs:label "filed by" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "application-database" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The DAO account the filing key was scoped to." .

eidos:link-filing-supersedes a eidos:ObjectLinkType ;
  rdfs:label "supersedes" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "application-database" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "A replacement names the filing it replaces; the earlier row stays on record." .

eidos:link-filing-has-receipts a eidos:ObjectLinkType ;
  rdfs:label "has action receipts" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "private-ledger" ;
  eidos:correction "immutable" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "The attempts recorded against this filing, including refusals, synced from the application database." .

eidos:link-market-of-organization a eidos:ObjectLinkType ;
  rdfs:label "market of organization" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The tracked organization whose token or decision the market prices; absent for a market no registry names." ;
  eidos:warehouseJoin "slug=slug" .

eidos:link-market-of-decision a eidos:ObjectLinkType ;
  rdfs:label "market of decision" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision this market trades, joined by engine, canonical chain and decision id on every decoded engine. Spot, vault and KPI markets have no decision." ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain_id=chain" ;
  eidos:warehouseJoin "decision_id=decision_id" .

eidos:link-market-has-observations a eidos:ObjectLinkType ;
  rdfs:label "has observations" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "many" ;
  eidos:assertedBy "tape" ;
  eidos:correction "append-and-supersede" ;
  eidos:temporal "as-of-known-time" ;
  eidos:comment "Every approved observation of the market." ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "market_kind=market_kind" ;
  eidos:warehouseJoin "market_id=market_id" .

eidos:link-observation-of-market a eidos:ObjectLinkType ;
  rdfs:label "observes market" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "tape" ;
  eidos:correction "immutable" ;
  eidos:temporal "at-read" ;
  eidos:comment "The market the value was read from." ;
  eidos:inverseLink "market-has-observations" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "market_kind=market_kind" ;
  eidos:warehouseJoin "market_id=market_id" .

eidos:link-trade-on-decision a eidos:ObjectLinkType ;
  rdfs:label "trade on decision" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one-or-none" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The decision whose market the trade was on, joined by engine, chain and the market id the decision carries. None where the record decodes no decision for the market." ;
  eidos:warehouseJoin "engine=engine" ;
  eidos:warehouseJoin "chain=chain" ;
  eidos:warehouseJoin "market=decision_id" .

eidos:link-diligence-answer-for-organization a eidos:ObjectLinkType ;
  rdfs:label "answer about" ;
  skos:inScheme eidos:ObjectLinkTypeScheme ;
  eidos:cardinality "one" ;
  eidos:assertedBy "warehouse" ;
  eidos:correction "re-derived-per-seal" ;
  eidos:temporal "at-read" ;
  eidos:comment "The organization the answer is about, by its slug." ;
  eidos:warehouseJoin "slug=slug" .

eidos:action-file-window-parameters a eidos:ActionType ;
  rdfs:label "File window parameters" ;
  skos:inScheme eidos:ActionTypeScheme ;
  eidos:actionVersion "1.0.0" ;
  eidos:effect "Appends, for one proposal whose recording window has not opened, the covenant the organization published and the market parameters it configured, under a key scoped to its DAO account." ;
  eidos:actionAuthority "A filing executes nothing and changes no market. Its existence is public at once; its content reaches a public surface only through the evidence review's two gates. A refused attempt is recorded and never published." ;
  eidos:actorClasses "external" ;
  eidos:surfaces "api" ;
  eidos:ledger "filings" ;
  eidos:criteria "the key is scoped to the DAO account" ;
  eidos:criteria "the proposal is on the published snapshot and belongs to that DAO account" ;
  eidos:criteria "the recording window has not opened" ;
  eidos:criteria "an earlier filing with a different content digest is named in supersedes" ;
  eidos:effectState "final" ;
  eidos:sideEffects "none" .

eidos:action-read-resource a eidos:ActionType ;
  rdfs:label "Read under a key or a members' session" ;
  skos:inScheme eidos:ActionTypeScheme ;
  eidos:actionVersion "1.0.0" ;
  eidos:effect "Appends one receipt per read the surface verified a reader for: who read (the API key's id, never the secret, or the signed-in account at a members-only or Pro gate), what (the resource served and the object its arguments named), when, from which surface, and whether it was served. A read edits no object, so the receipt's object type is the receipt's own and its object key names the resource served." ;
  eidos:actionAuthority "Changes nothing it names and grants nothing: the access check is the surface's own and runs first. Anonymous keyless reads are never receipted, and a receipt keeps no request body, address or response. A receipt that cannot be written is logged and never fails the read." ;
  eidos:actorClasses "external" ;
  eidos:surfaces "api" ;
  eidos:surfaces "mcp" ;
  eidos:ledger "read-receipts" ;
  eidos:criteria "the surface verified a live API key, or a session past a members-only or Pro gate" ;
  eidos:criteria "the key is unrevoked and unexpired and its account enabled" ;
  eidos:criteria "one receipt per verified request, written after the response is known" ;
  eidos:effectState "final" ;
  eidos:sideEffects "none" .

eidos:metric-decision-count a eidos:Metric ;
  rdfs:label "Decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every decision the record decodes, on every engine: one row of main.dim_decision each. Not the census: a decided market that drew too few traders, or a test organization's, is a decision here and is not counted there." .

eidos:metric-decided-decision-count a eidos:Metric ;
  rdfs:label "Decided decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "decided-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"decided\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose engine has stated a result. A stated result is the market's selection, never an execution: whether the selected option was carried out is read separately." .

eidos:metric-decided-share a eidos:Metric ;
  rdfs:label "Decided share" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "decided-share" ;
  eidos:metricAggregate "ratio" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "ratio" ;
  eidos:comment "Decided decisions over all decoded decisions, from 0 to 1; null where there are none. A share of the record, not a pass rate: a result may be pass or fail." .

eidos:metric-organizations-with-decisions a eidos:Metric ;
  rdfs:label "Organizations with decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organizations-with-decisions" ;
  eidos:metricAggregate "count_distinct" ;
  eidos:metricField "decision-for-organization.slug" ;
  eidos:metricFilter "{\"field\":\"engine\",\"op\":\"in\",\"value\":[\"butter\",\"futarchy-fi\",\"metadao\",\"umia\"]}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricUnit "count" ;
  eidos:comment "Registered organizations (registry slugs) with at least one decoded decision: on MetaDAO through the DAO account the decision names, on another engine through the registry's claim on its decider (a futarchy.fi market's organization token, an Umia venture, a Butter funder). An engine no registered organization decides on has no value here rather than a zero. A decision no registry names reaches no organization and is not counted, so this is never the census's decider count, which counts an unnamed decider once." .

eidos:metric-organization-linkable-decision-count a eidos:Metric ;
  rdfs:label "Decisions that can name a tracked organization" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organization-linkable-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"engine\",\"op\":\"in\",\"value\":[\"butter\",\"futarchy-fi\",\"metadao\",\"umia\"]}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions on an engine at least one registered organization decides on, so the registry can link its deciders to organizations: the coverage organizations-with-decisions stands on. Where it is zero, that count has no value rather than a zero." .

eidos:metric-counted-decision-count a eidos:Metric ;
  rdfs:label "Counted decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "counted-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The decisions the census counts: a decided market that drew enough traders, never a test organization's. The rule is the census's own (src/decision-records.ts); this metric counts its verdicts and never restates it. A decision the census had not yet seen at the cutoff is not counted." .

eidos:metric-census-decider-count a eidos:Metric ;
  rdfs:label "Deciders in the census" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "census-decider-count" ;
  eidos:metricAggregate "count_distinct" ;
  eidos:metricField "decider_key" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "Distinct deciders with at least one counted decision, across every engine. A decider is whoever put the decision to its market: a MetaDAO DAO account, a Combinator moderator, an Umia venture, a Butter deployer; keyed by its engine and account, or its name where the engine records no account, and a decision that names neither is its own decider, counted once and never dropped. Not a tracked organization: most deciders off MetaDAO are not in the organization registry (6 October 2026: the census called them organizations until then)." .

eidos:metric-passed-decision-count a eidos:Metric ;
  rdfs:label "Passed decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "passed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"pass_option\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"decided\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"selected_option\",\"op\":\"=\",\"value\":\"pass\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose market selected the pass option: a result, never an execution. Only a decision whose options are pass and fail has a pass; where an engine's decisions have none this counts none, and the pass rate there is null rather than zero." .

eidos:metric-decided-pass-fail-decision-count a eidos:Metric ;
  rdfs:label "Decided pass-or-fail decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "decided-pass-fail-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"pass_option\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"decided\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decided decisions whose options are pass and fail: the decisions a pass rate is a rate of. A multi-option market selects an option, never a pass, so it is not counted here." .

eidos:metric-pass-share a eidos:Metric ;
  rdfs:label "Pass rate" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "pass-share" ;
  eidos:metricAggregate "ratio" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "ratio" ;
  eidos:comment "Passed over decided pass-or-fail decisions, from 0 to 1; null where none was decided, as on an engine whose decisions have no pass option. Until 6 October 2026 this was proposal-pass-share, over MetaDAO's proposals: the same rows, since every MetaDAO decision is its proposal." .

eidos:metric-executed-passed-decision-count a eidos:Metric ;
  rdfs:label "Passed and executed" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "executed-passed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"selected_option\",\"op\":\"=\",\"value\":\"pass\"}" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"=\",\"value\":\"executed\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions the market passed whose execution the record read as carried out (for MetaDAO, the Squads transaction executed). A passed decision with no execution reading is not counted here or as unexecuted, and where the record read no passed decision's execution as executed, not executed or pending there is no value, not zero." .

eidos:metric-unexecuted-passed-decision-count a eidos:Metric ;
  rdfs:label "Passed, not executed" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "unexecuted-passed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"selected_option\",\"op\":\"=\",\"value\":\"pass\"}" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"=\",\"value\":\"not-executed\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions the market passed whose execution the record read as not carried out. Read from the chain, never inferred from the result; where the record read no passed decision's execution as executed, not executed or pending there is no value, not zero." .

eidos:metric-no-onchain-action-count a eidos:Metric ;
  rdfs:label "Counted, no on-chain action to check" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "no-onchain-action-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"=\",\"value\":\"not-checked\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions whose engine leaves nothing on chain for the record to check: an advisory market's result is carried out, if at all, off the record. MetaDAO's proposals always carry an execution reading, so none is counted here." .

eidos:metric-execution-checked-decision-count a eidos:Metric ;
  rdfs:label "Counted, execution read" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "execution-checked-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"in\",\"value\":[\"executed\",\"not-executed\",\"pending\",\"no-op-selected\",\"not-applicable\"]}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions whose execution the record read: carried out, not carried out, still pending, a no-op selected, or not applicable to the result. Not counted: a decision whose engine leaves nothing on chain to check (no-onchain-action-count) and one with no execution reading at all. A coverage measure of the record, not of the organizations: it rises when the record reads more engines' execution, never when more decisions pass." .

eidos:metric-capital-moved-decision-count a eidos:Metric ;
  rdfs:label "Decisions that moved capital" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "capital-moved-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"capital_state\",\"op\":\"=\",\"value\":\"moved\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose execution the record read as moving capital out of a treasury or vault, with the transaction named in the record. Where the record read no decision's capital there is no value, not zero." .

eidos:metric-execution-read-decision-count a eidos:Metric ;
  rdfs:label "Decisions with an execution reading" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "execution-read-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"is not null\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose execution the record read, whatever it found, a check that found nothing on chain (not-checked) and a no-op selected included. The executed and unexecuted counts stand on execution-read-passed-decision-count, which admits only the readings they can count." .

eidos:metric-execution-read-passed-decision-count a eidos:Metric ;
  rdfs:label "Passed, execution read" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "execution-read-passed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"selected_option\",\"op\":\"=\",\"value\":\"pass\"}" ;
  eidos:metricFilter "{\"field\":\"execution_state\",\"op\":\"in\",\"value\":[\"executed\",\"not-executed\",\"pending\"]}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions the market passed whose execution the record read as carried out, not carried out or still pending: the coverage the executed and unexecuted counts stand on. A pass whose engine leaves nothing on chain to check (not-checked) is not counted, so where every pass is unchecked those counts have no value, not zero." .

eidos:metric-capital-read-decision-count a eidos:Metric ;
  rdfs:label "Decisions with a capital reading" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "capital-read-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"capital_state\",\"op\":\"is not null\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose capital the record read, whether or not any moved: the coverage the capital-moved count stands on. Where it is zero that count has no value." .

eidos:metric-usd-sized-decision-count a eidos:Metric ;
  rdfs:label "Traded decisions with a dollar size" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "usd-sized-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"trades\",\"op\":\">\",\"value\":0}" ;
  eidos:metricFilter "{\"field\":\"volume_usd\",\"op\":\"is not null\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Traded decisions whose market is quoted in a USD stablecoin, so their trades carry a dollar size: the coverage trading volume stands on. Set beside the traded decisions, it says how much of the trading the dollar figure covers." .

eidos:metric-analyzed-decision-count a eidos:Metric ;
  rdfs:label "Counted, with analysis" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "analyzed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"analyzed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions with at least one available analytical result. This is availability, not a completeness score." .

eidos:metric-participation-analyzed-decision-count a eidos:Metric ;
  rdfs:label "Counted, with participation data" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "participation-analyzed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"participation_available\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions with an observed participation reading; partial records remain labelled partial." .

eidos:metric-detector-assessed-decision-count a eidos:Metric ;
  rdfs:label "Counted, with a detector assessment" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "detector-assessed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"detector_assessed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions where a named detector ran on its own qualified evidence." .

eidos:metric-market-analyzed-decision-count a eidos:Metric ;
  rdfs:label "Counted, with a market reading" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "market-analyzed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"market_reading_available\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions with a price-rule reading or recorded measured outcome." .

eidos:metric-reviewed-decision-count a eidos:Metric ;
  rdfs:label "Historical reviews, counted decisions" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "reviewed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"reviewed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Historical roster coverage, retained for archive queries rather than current analytical completeness. Counted decisions the record holds a review reading for: the six reviews on a MetaDAO decision, the engine review on another engine's. Counted on the census on every engine (6 October 2026), because the engine review reads counted decisions only while the six reviews also read MetaDAO's test proposals; a reading may be filed or withheld review by review." .

eidos:metric-evidence-reviewed-decision-count a eidos:Metric ;
  rdfs:label "Historical Evidence findings" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "evidence-reviewed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"evidence_review_filed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions on which the Evidence review filed a finding, one of the three reviews that read the proposal itself. On the census base, like every review count (6 October 2026)." .

eidos:metric-attack-reviewed-decision-count a eidos:Metric ;
  rdfs:label "Historical Attack findings" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "attack-reviewed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"attack_review_filed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions on which the Attack review filed a finding, one of the three reviews that read the proposal itself. Attack files only when a playbook classifies, and a playbook runs only on a complete Evidence packet, so every decision counted here is counted with an Evidence finding too; the two counts are equal while every complete packet classifies." .

eidos:metric-market-reviewed-decision-count a eidos:Metric ;
  rdfs:label "Historical Market findings" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "market-reviewed-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"market_review_filed\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Counted decisions on which the Market review filed a finding, one of the three reviews that read the proposal itself. Only the six reviews file it: an engine review's market reading is a different contract and is not counted here." .

eidos:metric-counted-engine-count a eidos:Metric ;
  rdfs:label "Engines in the census" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "counted-engine-count" ;
  eidos:metricAggregate "count_distinct" ;
  eidos:metricField "engine" ;
  eidos:metricFilter "{\"field\":\"counted\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "Engines with at least one decision the census counts. An engine the record decodes whose decisions are all play-money or thin is decoded but not in the census; an advisory engine is counted where a registered organization decides on it (futarchy.fi, 6 October 2026)." .

eidos:metric-pending-decision-count a eidos:Metric ;
  rdfs:label "Pending markets" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "pending-decision-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"state\",\"op\":\"=\",\"value\":\"pending\"}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions whose markets are trading: MetaDAO's pending state, the only engine state that names one. The App's Pending markets card and the tape series pending-market-count record this metric (pending-proposal-count until 6 October 2026, over the same rows)." .

eidos:metric-funded-draft-count a eidos:Metric ;
  rdfs:label "Funded drafts" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "funded-draft-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"state\",\"op\":\"=\",\"value\":\"draft\"}" ;
  eidos:metricFilter "{\"field\":\"funded\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decision-governed-by.dao" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Decisions in draft whose stake is above zero: created and funded, not yet launched into markets; a draft nobody staked is not counted. Only MetaDAO decisions have drafts. A proposal metric until 6 October 2026, over the same rows: a MetaDAO decision is its proposal, so every number about proposals is a decision metric. The App's Funded drafts card and the tape series funded-draft-count record this metric." .

eidos:metric-swap-count a eidos:Metric ;
  rdfs:label "Swaps" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "swap-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "swaps" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every final swap the trade ledger recorded on the decisions' markets: trades and swaps of 0 for 0 together, summed over decisions. Not a count of trades: a swap of 0 for 0 moved nothing and is not one (src/non-economic-swap.ts). Null where the ledger holds no decision's market; a decision whose market it does not hold adds nothing." .

eidos:metric-non-economic-swap-count a eidos:Metric ;
  rdfs:label "Swaps of 0 for 0" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "non-economic-swap-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "non_economic_swaps" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The final swaps of 0 for 0 on the decisions' markets: both raw legs zero, so they moved nothing. The ledger keeps them as the chain recorded them and no count of trades counts them (operator decision, 6 October 2026). An observation of the record, never an attack indicator or a score." .

eidos:metric-non-economic-swap-share a eidos:Metric ;
  rdfs:label "Share of swaps that were 0 for 0" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "non-economic-swap-share" ;
  eidos:metricAggregate "ratio" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "ratio" ;
  eidos:comment "Swaps of 0 for 0 over every final swap, from 0 to 1; null where the ledger holds no swap. The documents state the same reading per market in percent (nonEconomicSwapSharePct)." .

eidos:metric-trade-count a eidos:Metric ;
  rdfs:label "Trades" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "trade-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "trades" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every final trade the trade ledger recorded on the decisions' markets, summed over decisions: finalized on chain and confirmed by two providers, swaps of 0 for 0 excluded. A decision whose market the ledger does not hold adds nothing." .

eidos:metric-trading-volume a eidos:Metric ;
  rdfs:label "Trading volume" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "trading-volume" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "volume_usd" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "usd" ;
  eidos:comment "The dollar size of those trades, summed over decisions. Only a trade quoted in a USD stablecoin, or in futarchy.fi's sDAI at the WXDAI its vault share redeemed for at the hour boundary at or below the trade's block, carries a dollar size; a trade quoted in anything else adds nothing, never a converted guess, and where no traded decision carries one there is no value, not zero (usd-sized-decision-count says how many do)." .

eidos:metric-trades-per-decision a eidos:Metric ;
  rdfs:label "Trades per decision" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "trades-per-decision" ;
  eidos:metricAggregate "avg" ;
  eidos:metricField "trades" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The average of each decision's final trades, over the decisions whose market the trade ledger holds; a decision it does not hold is left out, not counted as zero." .

eidos:metric-traders-per-decision a eidos:Metric ;
  rdfs:label "Traders per decision" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "traders-per-decision" ;
  eidos:metricAggregate "avg" ;
  eidos:metricField "traders" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The average number of distinct wallets that traded each decision, over the decisions whose market the trade ledger holds. Per decision, not overall: a wallet that traded two decisions counts on each, so this says how crowded a market is, not how many people trade." .

eidos:metric-median-trades-per-decision a eidos:Metric ;
  rdfs:label "Median trades per decision" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "median-trades-per-decision" ;
  eidos:metricAggregate "median" ;
  eidos:metricField "trades" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The middle decision's final trades, over the decisions whose market the trade ledger holds: half traded fewer, half more (with an even number, the mean of the two middle ones). A few busy markets pull the average up; the median is the typical decision." .

eidos:metric-median-traders-per-decision a eidos:Metric ;
  rdfs:label "Median traders per decision" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "median-traders-per-decision" ;
  eidos:metricAggregate "median" ;
  eidos:metricField "traders" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The middle decision's count of distinct wallets that traded it, over the decisions whose market the trade ledger holds." .

eidos:metric-options-per-decision a eidos:Metric ;
  rdfs:label "Options per decision" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "options-per-decision" ;
  eidos:metricAggregate "avg" ;
  eidos:metricField "option_count" ;
  eidos:metricTimeField "opened_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "decided" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "decision-for-organization.kind" ;
  eidos:metricDimension "decision-for-organization.status" ;
  eidos:metricUnit "count" ;
  eidos:comment "The average number of options a decision's market chose among, the no-op included: two for every pass-or-fail decision." .

eidos:metric-dao-account-count a eidos:Metric ;
  rdfs:label "DAO accounts" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "dao-account-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every futarchy DAO account the run knows, tracked by an organization or not: each one that has brought a proposal to the program index, and each one a tracked organization claims, whether or not it has brought a proposal. A DAO account no organization claims and that never brought a proposal is not counted (the program holds more: the live snapshot's DAO count)." .

eidos:metric-market-count a eidos:Metric ;
  rdfs:label "Markets" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "market-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricTimeField "first_observed_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "market_kind" ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "entity_type" ;
  eidos:metricDimension "market-of-organization.kind" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every market the tape has observed at least once, approved or not: one row of main.dim_market each, bucketed by its first observation." .

eidos:metric-observation-count a eidos:Metric ;
  rdfs:label "Observations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "observation-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "observations" ;
  eidos:metricTimeField "first_observed_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "market_kind" ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "entity_type" ;
  eidos:metricDimension "market-of-organization.kind" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every reading the tape recorded, approved or withheld, summed over markets. Bucketed by each market's first observation, so a time grain says when the markets began, not when each reading was taken." .

eidos:metric-approved-observation-count a eidos:Metric ;
  rdfs:label "Approved observations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "approved-observation-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "approved_observations" ;
  eidos:metricTimeField "first_observed_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "market_kind" ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "entity_type" ;
  eidos:metricDimension "market-of-organization.kind" ;
  eidos:metricUnit "count" ;
  eidos:comment "The readings the admission rules approved — the ones approved_history and the Observation class hold — summed over markets." .

eidos:metric-approved-observation-share a eidos:Metric ;
  rdfs:label "Approved share of observations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "approved-observation-share" ;
  eidos:metricAggregate "ratio" ;
  eidos:metricTimeField "first_observed_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "chain" ;
  eidos:metricDimension "market_kind" ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "entity_type" ;
  eidos:metricDimension "market-of-organization.kind" ;
  eidos:metricUnit "ratio" ;
  eidos:comment "Approved readings over all readings, from 0 to 1. A withheld reading is refused by a stated rule, never a reading of zero." .

eidos:metric-diligence-answer-count a eidos:Metric ;
  rdfs:label "Diligence answers" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "diligence-answer-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricDimension "question" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "is_answered" ;
  eidos:metricDimension "is_current" ;
  eidos:metricDimension "diligence-answer-for-organization.kind" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every (tracked organization × diligence question) cell at the seal, answered or not: one row of main.diligence_answers each. The launched cohort's cells are its slice, diligence-cell-count." .

eidos:metric-diligence-cell-count a eidos:Metric ;
  rdfs:label "Diligence questions asked" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "diligence-cell-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"diligence-answer-for-organization.kind\",\"op\":\"=\",\"value\":\"launched\"}" ;
  eidos:metricDimension "question" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "is_answered" ;
  eidos:metricDimension "is_current" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every (launched organization × diligence question) cell at the seal: the denominator the diligence job is measured against, counted from the question set and the registry rather than from what Eidos holds, so an unanswered question counts. One row of main.diligence_answers each." .

eidos:metric-answered-diligence-answer-count a eidos:Metric ;
  rdfs:label "Diligence questions answered" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "answered-diligence-answer-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"diligence-answer-for-organization.kind\",\"op\":\"=\",\"value\":\"launched\"}" ;
  eidos:metricFilter "{\"field\":\"is_answered\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricDimension "question" ;
  eidos:metricDimension "state" ;
  eidos:metricDimension "is_current" ;
  eidos:metricUnit "count" ;
  eidos:comment "Launched-organization diligence questions answered with at least one sourced, dated fact. A count of what Eidos holds about the cohort, never a grade of any organization." .

eidos:metric-current-diligence-answer-count a eidos:Metric ;
  rdfs:label "Diligence answers current" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "current-diligence-answer-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"diligence-answer-for-organization.kind\",\"op\":\"=\",\"value\":\"launched\"}" ;
  eidos:metricFilter "{\"field\":\"is_current\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricDimension "question" ;
  eidos:metricDimension "state" ;
  eidos:metricUnit "count" ;
  eidos:comment "Launched-organization diligence answers whose every fact was observed within the question's re-check window at the seal's cutoff: freshness measured at the seal, not when a fact was first staged." .

eidos:metric-organization-count a eidos:Metric ;
  rdfs:label "Tracked organizations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organization-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every organization the registry tracks at the seal, whatever its status: one row of main.dim_organization each. The Overview's Tracked card and the tape series tracked-organization-count record this metric." .

eidos:metric-live-organization-count a eidos:Metric ;
  rdfs:label "Live organizations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "live-organization-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"status\",\"op\":\"=\",\"value\":\"live\"}" ;
  eidos:metricDimension "kind" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations whose status is live; one winding down is active but not live. The Overview's Live card records this metric as the tape series live-organization-count." .

eidos:metric-launched-organization-count a eidos:Metric ;
  rdfs:label "Launched organizations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "launched-organization-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"kind\",\"op\":\"=\",\"value\":\"launched\"}" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations launched through a futarchy program, whatever their status: the cohort the App's market surfaces count. The Overview's Launched card and the tape series launched-organization-count record this metric." .

eidos:metric-active-organization-count a eidos:Metric ;
  rdfs:label "Active organizations" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "active-organization-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"is_active\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations whose status is live or winding down." .

eidos:metric-organizations-with-website a eidos:Metric ;
  rdfs:label "Organizations with a website" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organizations-with-website" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"website_url\",\"op\":\"is not null\"}" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations whose newest sealed profile collection found a website. One no collection has read is not counted: unread, not absent." .

eidos:metric-organizations-with-x a eidos:Metric ;
  rdfs:label "Organizations with an X profile" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organizations-with-x" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"x_url\",\"op\":\"is not null\"}" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations whose newest sealed profile collection found an X profile. One no collection has read is not counted: unread, not absent." .

eidos:metric-organizations-with-docs a eidos:Metric ;
  rdfs:label "Organizations with docs" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "organizations-with-docs" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"docs_url\",\"op\":\"is not null\"}" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "Tracked organizations whose newest sealed profile collection found a documentation site. One no collection has read is not counted: unread, not absent." .

eidos:metric-dao-accounts-per-organization a eidos:Metric ;
  rdfs:label "DAO accounts per organization" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "dao-accounts-per-organization" ;
  eidos:metricAggregate "avg" ;
  eidos:metricField "dao_account_count" ;
  eidos:metricDimension "kind" ;
  eidos:metricDimension "status" ;
  eidos:metricDimension "is_active" ;
  eidos:metricUnit "count" ;
  eidos:comment "The average number of futarchy DAO accounts the identity registry assigns each tracked organization, zero included: an established organization outside the program has none, and one that moved DAO accounts has more than one." .

eidos:metric-ledger-swap-count a eidos:Metric ;
  rdfs:label "Swaps, every engine" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "ledger-swap-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricTimeField "block_time" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every final swap the trade ledger recorded, on every engine it reads, swaps of 0 for 0 included: counted per trade, where the decisions' Swaps add up per decision, so a market no decoded decision names counts here alone." .

eidos:metric-ledger-trade-count a eidos:Metric ;
  rdfs:label "Trades, every engine" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "ledger-trade-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"economic\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "block_time" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "The final trades among them: swaps of 0 for 0 excluded. On every engine the ledger reads, counted per trade; the decisions' Trades count only markets a decoded decision names." .

eidos:metric-recorded-usd-trading-volume a eidos:Metric ;
  rdfs:label "Recorded USD trading volume" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "recorded-usd-trading-volume" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "size_usd" ;
  eidos:metricFilter "{\"field\":\"economic\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "block_time" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "usd" ;
  eidos:comment "Dollar-valued finalized trades retained by the ledger, across engines, including markets not yet linked to decoded decisions. Non-economic swaps are excluded and unavailable dollar sizes stay null. The 30-day change uses trade block time, not decision opening time; it is growth in cumulative recorded volume, not month-over-month trading activity or a complete industry total." .

eidos:metric-usd-sized-trade-count a eidos:Metric ;
  rdfs:label "Trades with a dollar size" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "usd-sized-trade-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricFilter "{\"field\":\"economic\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricFilter "{\"field\":\"size_usd\",\"op\":\"is not null\"}" ;
  eidos:metricTimeField "block_time" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "Finalized economic trades with a recorded dollar size, including exact source-linked valuation amendments. Coverage for recorded USD trading volume; a partially priced market contributes only its priced trades." .

eidos:metric-trader-count a eidos:Metric ;
  rdfs:label "Traders" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "trader-count" ;
  eidos:metricAggregate "count_distinct" ;
  eidos:metricField "trader" ;
  eidos:metricFilter "{\"field\":\"economic\",\"op\":\"=\",\"value\":true}" ;
  eidos:metricTimeField "block_time" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "engine" ;
  eidos:metricDimension "chain" ;
  eidos:metricUnit "count" ;
  eidos:comment "Distinct wallets that made at least one final trade, on every engine's markets: each wallet once, however many decisions it traded. Swaps of 0 for 0 are not trades, so a wallet that only made those is not counted. By month, the wallets that traded in that month. Every engine the trade ledger reads, futarchy.fi included." .

eidos:metric-source-count a eidos:Metric ;
  rdfs:label "Sources" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "source-count" ;
  eidos:metricAggregate "count" ;
  eidos:metricTimeField "first_attempt_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "is_retired" ;
  eidos:metricUnit "count" ;
  eidos:comment "Every source the collector has recorded a read from, retired or not." .

eidos:metric-source-attempt-count a eidos:Metric ;
  rdfs:label "Source reads" ;
  skos:inScheme eidos:MetricScheme ;
  eidos:metricId "source-attempt-count" ;
  eidos:metricAggregate "sum" ;
  eidos:metricField "attempts" ;
  eidos:metricTimeField "first_attempt_at" ;
  eidos:metricChangeDays 30 ;
  eidos:metricDimension "is_retired" ;
  eidos:metricUnit "count" ;
  eidos:comment "Reads the collector recorded by the cutoff, summed over sources, whatever each read returned." .

eidos:job-score-labeled-outcome-brier a eidos:JobScore ;
  rdfs:label "Labeled commitment outcome Brier score" ;
  skos:inScheme eidos:JobScoreScheme ;
  eidos:jobScoreId "labeled-outcome-brier" ;
  eidos:jobScoreDirection "lower" ;
  eidos:jobScoreLabels "Private human judgments of commitment implementation or outcome, independently coded and not reproduced by a blind public-evidence reader. A frozen temporal holdout, family separation, base-rate and current-rule baselines govern evaluation. Fixture results do not establish research accuracy; the loop remains disabled pending eligible human evidence." .

eidos:job-score-window-outlook-brier a eidos:JobScore ;
  rdfs:label "Window outlook Brier score" ;
  skos:inScheme eidos:JobScoreScheme ;
  eidos:jobScoreId "window-outlook-brier" ;
  eidos:jobScoreDirection "lower" ;
  eidos:jobScoreLabels "Each window's realized pass or fail, decided by the market on the chain after the forecast was recorded; held-in and held-out splits are fixed by a hash of the DAO account." .

eidos:job-score-engine-outlook-brier a eidos:JobScore ;
  rdfs:label "Engine outlook Brier score" ;
  skos:inScheme eidos:JobScoreScheme ;
  eidos:jobScoreId "engine-outlook-brier" ;
  eidos:jobScoreDirection "lower" ;
  eidos:jobScoreLabels "The option each decision on Combinator, Umia, Butter and futarchy.fi selected, as its engine stated it after the forecast was recorded (`form.selectedOptionIds`); scored per window by the engine forecast register (tools/engine-outlook-forecast.ts)." .

eidos:job-score-claim-acceptance a eidos:JobScore ;
  rdfs:label "Staged claims the operator accepts" ;
  skos:inScheme eidos:JobScoreScheme ;
  eidos:jobScoreId "claim-acceptance" ;
  eidos:jobScoreDirection "raise" ;
  eidos:jobScoreLabels "The operator's review of each claim an agent configuration staged, recorded in the private evidence ledger; no worker can write a review." .

eidos:browsing-label-capital-allocation a eidos:BrowsingLabel ;
  rdfs:label "Capital allocation" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "capital-allocation" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Allocate, invest, lend or distribute organizational funds. Excludes merely changing governance rules." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-token-economics a eidos:BrowsingLabel ;
  rdfs:label "Token economics" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "token-economics" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Change token supply, distribution, liquidity or holder economic rights. Excludes a token simply being mentioned." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-governance a eidos:BrowsingLabel ;
  rdfs:label "Governance" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "governance" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Change decision rules, authority, voting, ownership control or a constitution. A proposal being voted on is not by itself governance." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-product-engineering a eidos:BrowsingLabel ;
  rdfs:label "Product and engineering" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "product-engineering" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Build, change, release or maintain a product or technical system." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-commercial a eidos:BrowsingLabel ;
  rdfs:label "Commercial" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "commercial" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Enter a customer, partnership, acquisition or business development arrangement." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-operations a eidos:BrowsingLabel ;
  rdfs:label "Operations" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "operations" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Staff, compensate or administer the organization and its recurring operations." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-wind-down a eidos:BrowsingLabel ;
  rdfs:label "Wind-down" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "wind-down" ;
  eidos:browsingLabelFacet "category" ;
  eidos:browsingLabelCriterion "Dissolve, liquidate or discontinue the organization or a material business." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-grant a eidos:BrowsingLabel ;
  rdfs:label "Grant" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "grant" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Award funds without an equity purchase or repayment obligation for a stated project or recipient. Excludes ordinary salaries and purchases." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-buyback a eidos:BrowsingLabel ;
  rdfs:label "Buyback" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "buyback" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Repurchase the organization's own outstanding tokens or shares." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-token-issuance a eidos:BrowsingLabel ;
  rdfs:label "Token issuance" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "token-issuance" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Create or sell new token supply. Excludes transfers of already-issued treasury tokens." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-liquidity-provision a eidos:BrowsingLabel ;
  rdfs:label "Liquidity provision" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "liquidity-provision" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Supply, withdraw or rebalance market liquidity. Excludes an ordinary payment." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-compensation a eidos:BrowsingLabel ;
  rdfs:label "Compensation" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "compensation" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Pay or change salaries, contributor rewards, benefits or service compensation." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-upgrade a eidos:BrowsingLabel ;
  rdfs:label "Upgrade" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "upgrade" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Replace or migrate an existing software or protocol implementation." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-parameter-change a eidos:BrowsingLabel ;
  rdfs:label "Parameter change" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "parameter-change" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Change a named operational, economic or governance parameter of an existing system." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-partnership a eidos:BrowsingLabel ;
  rdfs:label "Partnership" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "partnership" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Establish or change an explicit collaboration between organizations. Excludes a passing mention of another organization." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-acquisition a eidos:BrowsingLabel ;
  rdfs:label "Acquisition" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "acquisition" ;
  eidos:browsingLabelFacet "tag" ;
  eidos:browsingLabelCriterion "Acquire a business, controlling ownership or a material product asset. Excludes routine token trading." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-trading a eidos:BrowsingLabel ;
  rdfs:label "Trading" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "trading" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization provides trading, exchange, brokerage or market-making products as a substantive business." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-lending a eidos:BrowsingLabel ;
  rdfs:label "Lending" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "lending" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization provides lending, borrowing or credit products as a substantive business." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-payments a eidos:BrowsingLabel ;
  rdfs:label "Payments" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "payments" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization provides payments, remittance or payroll products as a substantive business." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-infrastructure a eidos:BrowsingLabel ;
  rdfs:label "Infrastructure" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "infrastructure" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization provides reusable technical infrastructure, developer tooling or protocol infrastructure." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-asset-management a eidos:BrowsingLabel ;
  rdfs:label "Asset management" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "asset-management" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization manages investment portfolios, funds or investment strategies for users. Merely having a treasury does not qualify." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-consumer a eidos:BrowsingLabel ;
  rdfs:label "Consumer" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "consumer" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "The organization provides substantive consumer goods, entertainment, social or retail services. Having individual token holders does not qualify." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:browsing-label-research a eidos:BrowsingLabel ;
  rdfs:label "Research" ;
  skos:inScheme eidos:BrowsingLabelScheme ;
  eidos:browsingLabelId "research" ;
  eidos:browsingLabelFacet "sector" ;
  eidos:browsingLabelCriterion "Research or scientific work is a substantive organizational product or mission. Ordinary product development alone does not qualify." ;
  eidos:browsingVocabularyVersion "1.0.0" .

eidos:report-kind-window-opened a eidos:ReportKind ;
  rdfs:label "Window opened" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "window-opened" ;
  eidos:reportKindDescription "A decision market started recording." .

eidos:report-kind-closing-stretch a eidos:ReportKind ;
  rdfs:label "Closing stretch" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "closing-stretch" ;
  eidos:reportKindDescription "A recording window entered its final stretch." .

eidos:report-kind-window-closed a eidos:ReportKind ;
  rdfs:label "Window closed" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "window-closed" ;
  eidos:reportKindDescription "A recording window ended; settlement follows." .

eidos:report-kind-outcome a eidos:ReportKind ;
  rdfs:label "Outcome" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "outcome" ;
  eidos:reportKindDescription "What a settled decision did, and what it changed." .

eidos:report-kind-tape a eidos:ReportKind ;
  rdfs:label "Tape" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "tape" ;
  eidos:reportKindDescription "Several windows or moves on the tape at once." .

eidos:report-kind-notice a eidos:ReportKind ;
  rdfs:label "Notice" ;
  skos:inScheme eidos:ReportKindScheme ;
  eidos:reportKindId "notice" ;
  eidos:reportKindDescription "Anything else Eidos reports: an opening, a contract, a correction." .

eidos:news-category-governance a eidos:NewsCategory ;
  rdfs:label "Governance" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "governance" ;
  eidos:newsCategoryCriterion "A proposal, vote, decision market, or governance outcome." ;
  eidos:newsCategoryIsNews true .

eidos:news-category-capital a eidos:NewsCategory ;
  rdfs:label "Capital" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "capital" ;
  eidos:newsCategoryCriterion "A raise, ICO, token sale, treasury move, buyback, unlock, or funding." ;
  eidos:newsCategoryIsNews true .

eidos:news-category-product a eidos:NewsCategory ;
  rdfs:label "Product" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "product" ;
  eidos:newsCategoryCriterion "A launch, release, integration, listing, or partnership." ;
  eidos:newsCategoryIsNews true .

eidos:news-category-metrics a eidos:NewsCategory ;
  rdfs:label "Metrics" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "metrics" ;
  eidos:newsCategoryCriterion "A reported figure: volume, TVL, users, revenue, a milestone." ;
  eidos:newsCategoryIsNews true .

eidos:news-category-risk a eidos:NewsCategory ;
  rdfs:label "Risk" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "risk" ;
  eidos:newsCategoryCriterion "An exploit, outage, dispute, delisting, legal or security problem." ;
  eidos:newsCategoryIsNews true .

eidos:news-category-commentary a eidos:NewsCategory ;
  rdfs:label "Commentary" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "commentary" ;
  eidos:newsCategoryCriterion "Opinion, analysis, or a market recap with no new event." ;
  eidos:newsCategoryIsNews false .

eidos:news-category-chatter a eidos:NewsCategory ;
  rdfs:label "Conversation" ;
  skos:inScheme eidos:NewsCategoryScheme ;
  eidos:newsCategoryId "chatter" ;
  eidos:newsCategoryCriterion "Banter, a reply, thanks, praise, a meme, or an emoji." ;
  eidos:newsCategoryIsNews false .

eidos:machine-change-job-failed a eidos:MachineChangeKind ;
  rdfs:label "Job failed" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "job-failed" ;
  eidos:machineChangeSubject "job" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-job-recovered a eidos:MachineChangeKind ;
  rdfs:label "Job recovered" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "job-recovered" ;
  eidos:machineChangeSubject "job" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-feed-failed a eidos:MachineChangeKind ;
  rdfs:label "Feed failed" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "feed-failed" ;
  eidos:machineChangeSubject "feed" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-feed-recovered a eidos:MachineChangeKind ;
  rdfs:label "Feed recovered" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "feed-recovered" ;
  eidos:machineChangeSubject "feed" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-schedule-stopped a eidos:MachineChangeKind ;
  rdfs:label "Schedule stopped" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "schedule-stopped" ;
  eidos:machineChangeSubject "job" ;
  eidos:machineChangeSubject "feed" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-schedule-started a eidos:MachineChangeKind ;
  rdfs:label "Schedule started" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "schedule-started" ;
  eidos:machineChangeSubject "job" ;
  eidos:machineChangeSubject "feed" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-source-below-floor a eidos:MachineChangeKind ;
  rdfs:label "Source below its delivery floor" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "source-below-floor" ;
  eidos:machineChangeSubject "source" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-source-recovered a eidos:MachineChangeKind ;
  rdfs:label "Source back over its delivery floor" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "source-recovered" ;
  eidos:machineChangeSubject "source" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-source-stale a eidos:MachineChangeKind ;
  rdfs:label "Source stale" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "source-stale" ;
  eidos:machineChangeSubject "source" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-source-current a eidos:MachineChangeKind ;
  rdfs:label "Source current" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "source-current" ;
  eidos:machineChangeSubject "source" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-series-stalled a eidos:MachineChangeKind ;
  rdfs:label "Tape series stopped advancing" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "series-stalled" ;
  eidos:machineChangeSubject "series" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-series-resumed a eidos:MachineChangeKind ;
  rdfs:label "Tape series advancing again" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "series-resumed" ;
  eidos:machineChangeSubject "series" ;
  eidos:machineChangeValue "flag" .

eidos:machine-change-claims-published a eidos:MachineChangeKind ;
  rdfs:label "Published claims changed" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "claims-published" ;
  eidos:machineChangeSubject "ledger" ;
  eidos:machineChangeValue "count" .

eidos:machine-change-claims-superseded a eidos:MachineChangeKind ;
  rdfs:label "Superseded claims changed" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "claims-superseded" ;
  eidos:machineChangeSubject "ledger" ;
  eidos:machineChangeValue "count" .

eidos:machine-change-decisions-recorded a eidos:MachineChangeKind ;
  rdfs:label "Decisions on the record changed" ;
  skos:inScheme eidos:MachineChangeKindScheme ;
  eidos:machineChangeKindId "decisions-recorded" ;
  eidos:machineChangeSubject "ledger" ;
  eidos:machineChangeValue "count" .

eidos:job-know-what-was-decided a eidos:Job ;
  rdfs:label "Know what was decided" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "know-what-was-decided" ;
  eidos:jobStatement "When a market decides something for an organization, I want the decision on the record in one form on every engine, so I can rely on what was decided without reading each engine's contracts." ;
  eidos:jobActor "organization" ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-check-what-followed a eidos:Job ;
  rdfs:label "Check what followed a decision" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "check-what-followed" ;
  eidos:jobStatement "When a market has decided, I want to know whether the decision was carried out, what capital it moved and what the price did after, so I can judge the decision by its consequences rather than its announcement." ;
  eidos:jobActor "organization" ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-read-open-markets a eidos:Job ;
  rdfs:label "Read an open market before trading" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "read-open-markets" ;
  eidos:jobStatement "When a decision market is open, I want its price, threshold, edge, depth and lifecycle in one place with the evidence behind them, so I can decide whether to take the other side." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-forecast-open-windows a eidos:Job ;
  rdfs:label "Forecast an open window" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "forecast-open-windows" ;
  eidos:jobStatement "When a recording window is open, I want a scored probability that its proposal passes, with the record of how earlier forecasts scored, so I can weigh the market's price against a forecast that has been held to account." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-review-a-decision a eidos:Job ;
  rdfs:label "Analyze a decision" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "review-a-decision" ;
  eidos:jobStatement "When a decision is put to a market, I want to understand its prices, supporting evidence and material findings, so I can investigate the questions that matter before capital moves." ;
  eidos:jobActor "organization" ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-diligence-an-organization a eidos:Job ;
  rdfs:label "Check what can be verified about an organization" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "diligence-an-organization" ;
  eidos:jobStatement "When I am about to commit capital to, rely on, or cite an organization governed by decision markets, I want the same fixed questions about who controls its treasury, its mint and its decisions, what it promised at its raise and what is held only in documents answered with a date, a source and who asserted each answer, or marked unknown, so I can decide without mistaking a gap for a clean record." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "agent" ;
  eidos:jobActor "organization" ;
  eidos:jobIsPublic true .

eidos:job-track-organizations a eidos:Job ;
  rdfs:label "Track the organizations that decide by market" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "track-organizations" ;
  eidos:jobStatement "When I follow organizations governed by markets, I want their prices, treasuries, identities and what is said about them on one board, so I can see which ones matter and how they are moving." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "organization" ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true .

eidos:job-follow-moves a eidos:Job ;
  rdfs:label "Follow moves as they happen" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "follow-moves" ;
  eidos:jobStatement "When something moves on a decision or an organization I watch, I want it in one feed with a readout, so I can act on a window that opens or a market that turns." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "organization" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "Whether a reader saw a move in time is not recorded; the usage beacon counts visits, not moves caught. Measurable once feed reads are joined to the moves they show." .

eidos:job-read-reports a eidos:Job ;
  rdfs:label "Read what Eidos published" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "read-reports" ;
  eidos:jobStatement "When Eidos publishes a report or a case, I want to find it by recency and by decision, so I can read the reasoning behind a reading." ;
  eidos:jobActor "organization" ;
  eidos:jobActor "fund" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "Reports are authored; their quality is the operator's judgement and no metric yet states it." .

eidos:job-build-on-the-record a eidos:Job ;
  rdfs:label "Build on the record" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "build-on-the-record" ;
  eidos:jobStatement "When I build an agent or a tool on decision markets, I want a stable vocabulary, typed objects, published metrics and schemas, so I can read the record without scraping it and know what each field means." ;
  eidos:jobActor "agent" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "Integrations are not identified; API reads are counted by route, not by integration that kept working." .

eidos:job-research-decision-markets a eidos:Job ;
  rdfs:label "Research decision markets" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "research-decision-markets" ;
  eidos:jobStatement "When I study whether decision markets work, I want the frozen research inputs, the model and its validation with their limits, so I can check the thesis rather than take it on trust." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "organization" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "The model files are frozen dated inputs. The program reading on the Thesis page is the current reading (operator decision, 5 October 2026); the download keeps the pinned 29 September sentences." .

eidos:job-keep-the-record-honest a eidos:Job ;
  rdfs:label "Keep the record fresh and honest" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "keep-the-record-honest" ;
  eidos:jobStatement "When the collectors, the warehouse and the published record run on their own, I want every source's delivery, every quote's quality and every job's clock visible, so I can trust what the record says at any hour." ;
  eidos:jobActor "operator" ;
  eidos:jobIsPublic false .

eidos:job-ask-the-record a eidos:Job ;
  rdfs:label "Ask the record a question" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "ask-the-record" ;
  eidos:jobStatement "When the published pages do not answer my question directly, I want to ask it in plain words and get an answer computed over the public record with the query it ran and the evidence it cites, so I can check the answer instead of trusting it." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "organization" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "Whether an answer was right is not labelled: a read receipt records that Ask served an answer (src/read-receipts.ts), not that the answer held. Measurable once answers are reviewed against the record they cite." .

eidos:job-pay-for-pro a eidos:Job ;
  rdfs:label "Pay for Pro" ;
  skos:inScheme eidos:JobScheme ;
  eidos:jobId "pay-for-pro" ;
  eidos:jobStatement "When the free record is not enough, I want to start a trial, pay for Pro and manage the subscription myself, so I can read the feed, the members' reports and Ask without a sales call." ;
  eidos:jobActor "fund" ;
  eidos:jobActor "organization" ;
  eidos:jobIsPublic true ;
  eidos:jobUnmeasured "Subscriptions are private billing state that no metric reads: the count of paying accounts is Stripe's, not the record's." .

eidos:analytical-relation-evidence a eidos:AnalyticalRelation ;
  rdfs:label "evidence" ;
  eidos:concept "https://eidos.software/ontology#EvidenceRevision" ;
  eidos:grain "one selected evidence revision" ;
  eidos:columns "id TEXT: Primary key" ;
  eidos:columns "revision TEXT: Dossier revision or public content revision hash" ;
  eidos:columns "cutoff TEXT: ISO evidence observation cutoff" ;
  eidos:columns "recorded_at TEXT: ISO publication/record time; not event time" ;
  eidos:columns "mode TEXT: selected-revision or publication-snapshot; never historical knowledge as-of" ;
  eidos:columns "stale INTEGER: 1 means old evidence, not current" ;
  eidos:columns "health TEXT: Current source check status, not historical health" ;
  eidos:columns "health_checked_at TEXT: ISO current check time or NULL; not a historical health assertion" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-dossiers a eidos:AnalyticalRelation ;
  rdfs:label "dossiers" ;
  eidos:concept "https://eidos.software/ontology#Dossier" ;
  eidos:grain "one dossier revision" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "id TEXT: Dossier id; join on evidence_id as well as id" ;
  eidos:columns "chain TEXT: Exact chain identity" ;
  eidos:columns "dao TEXT: DAO account identity" ;
  eidos:columns "proposal TEXT: Exact proposal identity; never join by title" ;
  eidos:columns "program_id TEXT: Exact program identity" ;
  eidos:columns "program_revision TEXT: Historical program revision as recorded, may be unknown" ;
  eidos:columns "venue TEXT: Recorded venue: the market venue the dossier names" ;
  eidos:columns "origin TEXT: operator-reviewed or chain-snapshot" ;
  eidos:columns "base_mint TEXT: Price denominator token" ;
  eidos:columns "quote_mint TEXT: Price numerator token" ;
  eidos:columns "lifecycle TEXT: Approval does not establish execution" ;
  eidos:columns "summary TEXT: Attributed record text, untrusted instructions" ;
  eidos:columns "correction_revision INTEGER: Revision corrected, or NULL" ;
  eidos:columns "correction_reason TEXT: Correction statement, or NULL" ;
  eidos:columns "roster_version TEXT: Roster release" ;
  eidos:columns "unresolved TEXT: JSON list of missing evidence" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-lanes a eidos:AnalyticalRelation ;
  rdfs:label "lanes" ;
  eidos:concept "https://eidos.software/ontology#Finding" ;
  eidos:grain "one team per dossier revision; never composite" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "team TEXT: Review id in the roster registry" ;
  eidos:columns "contract_version TEXT: Contract that filed the finding" ;
  eidos:columns "status TEXT: filed or withheld; withheld never zero or safe" ;
  eidos:columns "finding TEXT: Attributed finding text" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-claims a eidos:AnalyticalRelation ;
  rdfs:label "claims" ;
  eidos:concept "https://eidos.software/ontology#AttributedClaim" ;
  eidos:grain "one claim per dossier revision" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "ordinal INTEGER: Claim index" ;
  eidos:columns "kind TEXT: observation or hypothesis; hypothesis is not fact" ;
  eidos:columns "claim TEXT: Attributed statement" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-markets a eidos:AnalyticalRelation ;
  rdfs:label "markets" ;
  eidos:concept "https://eidos.software/ontology#ObservationSeries" ;
  eidos:grain "one market reading per dossier revision, if supplied" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "pass_spot REAL: Quote tokens per base token, NULL unavailable" ;
  eidos:columns "fail_spot REAL: Quote tokens per base token, NULL unavailable" ;
  eidos:columns "pass_twap REAL: Quote tokens per base token, NULL unavailable" ;
  eidos:columns "fail_twap REAL: Quote tokens per base token, NULL unavailable" ;
  eidos:columns "threshold_pct REAL: Percent, NULL unknown" ;
  eidos:columns "would_pass INTEGER: 1/0/NULL snapshot indication, not execution" ;
  eidos:columns "closes_at TEXT: ISO scheduled close or NULL" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-sources a eidos:AnalyticalRelation ;
  rdfs:label "sources" ;
  eidos:concept "https://eidos.software/ontology#EvidenceSource" ;
  eidos:grain "one source per evidence revision and scope" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "source_id TEXT: Original source identity" ;
  eidos:columns "scope TEXT: dossier, lane:<team>, claim:<ordinal>, market, catalog:<id>" ;
  eidos:columns "url TEXT: Validated retained HTTPS citation or NULL; never fetched" ;
  eidos:columns "observed_at TEXT: ISO source observation time or NULL when unparseable" ;
  eidos:columns "time_label TEXT: Original source time text; never invented precision" ;
  eidos:columns "method TEXT: Retained provenance method; source assertions not independently verified" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-catalog a eidos:AnalyticalRelation ;
  rdfs:label "catalog" ;
  eidos:concept "https://eidos.software/ontology#PublishedCatalogRecord" ;
  eidos:grain "one published catalog row (NOT necessarily a proposal)" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "id TEXT: Catalog row identity" ;
  eidos:columns "kind TEXT: Catalog/treasury-only rows are not proposals" ;
  eidos:columns "slug TEXT: Organization slug; not full economic identity" ;
  eidos:columns "proposal TEXT: Proposal address or NULL; no synthetic proposals" ;
  eidos:columns "state TEXT: Proposal state or NULL" ;
  eidos:columns "organization_status TEXT: Recorded organization status or NULL" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-organization-metrics a eidos:AnalyticalRelation ;
  rdfs:label "organization_metrics" ;
  eidos:concept "https://eidos.software/ontology#ObservationSeries" ;
  eidos:grain "one approved current metric per organization; no historical series" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "entity_id TEXT: Exact composite solana:spot:<market_id>" ;
  eidos:columns "chain TEXT: solana" ;
  eidos:columns "market_kind TEXT: spot" ;
  eidos:columns "market_id TEXT: Registry organization slug; join changes by chain, market_kind, market_id, never symbol" ;
  eidos:columns "mint TEXT: Exact token mint from validated quote publication" ;
  eidos:columns "name TEXT: Registry display name, not a join key" ;
  eidos:columns "cohort TEXT: Registry organization kind; launched or established" ;
  eidos:columns "organization_status TEXT: Registry current status, not a historical status observation" ;
  eidos:columns "series TEXT: Registry published series id" ;
  eidos:columns "unit TEXT: Registry unit; price means USD per token for price-usd" ;
  eidos:columns "value REAL: Published current value, NULL unavailable; never sum FDV or cap into a cohort aggregate" ;
  eidos:columns "observed_at TEXT: Publication fetchedAt; common snapshot clock" ;
  eidos:columns "stale INTEGER: 1 if quote publication older than one day" ;
  eidos:columns "availability TEXT: available or missing-quote; NULL never zero" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-organization-changes a eidos:AnalyticalRelation ;
  rdfs:label "organization_changes" ;
  eidos:concept "https://eidos.software/ontology#ObservationSeries" ;
  eidos:grain "one published price-change window per organization; missing windows remain explicit rows" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "entity_id TEXT: Exact composite solana:spot:<market_id>" ;
  eidos:columns "chain TEXT: solana" ;
  eidos:columns "market_kind TEXT: spot" ;
  eidos:columns "market_id TEXT: Exact registry slug; join metrics by chain, market_kind, market_id" ;
  eidos:columns "cohort TEXT: Registry organization kind" ;
  eidos:columns "organization_status TEXT: Registry current status" ;
  eidos:columns "series TEXT: price-usd; measured change in that registry series" ;
  eidos:columns "window TEXT: d1=24h, d7=7d, d30=30d" ;
  eidos:columns "unit TEXT: percent" ;
  eidos:columns "pct REAL: Already published tape change; NULL withheld, never provider change" ;
  eidos:columns "latest_value REAL: Published latest price USD per token or NULL" ;
  eidos:columns "observed_at TEXT: Latest reading time or NULL when absent" ;
  eidos:columns "baseline_value REAL: Published window baseline USD per token or NULL" ;
  eidos:columns "baseline_at TEXT: Published window baseline timestamp or NULL" ;
  eidos:columns "stale INTEGER: 1 if rollup or reading older than 30 minutes, or missing reading" ;
  eidos:columns "availability TEXT: available, missing-baseline, or missing-observation" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-history-observations a eidos:AnalyticalRelation ;
  rdfs:label "history_observations" ;
  eidos:concept "https://eidos.software/ontology#ObservationSeries" ;
  eidos:grain "one approved event-time observation within one exact selected entity/series and UTC interval; absent rows are gaps" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "chain TEXT: Exact chain identity" ;
  eidos:columns "market_kind TEXT: Exact market_kind identity" ;
  eidos:columns "market_id TEXT: Exact source market identity, never title" ;
  eidos:columns "series TEXT: Published observation series registry identifier" ;
  eidos:columns "unit TEXT: Registry-derived unit" ;
  eidos:columns "ts TEXT: UTC event/observation time; not knowledge time" ;
  eidos:columns "value REAL: Retained value; NULL is explicitly withheld, missing timestamps are gaps" ;
  eidos:columns "availability TEXT: recorded, source-withheld or round-trip-withheld; NULL values are never zero" ;
  eidos:columns "known_at TEXT: Retained knowledge time or NULL when unavailable; event-time reconstruction is not knowledge-as-of" ;
  eidos:columns "provenance TEXT: Retained admissible derivation/source method" ;
  eidos:columns "fact_id TEXT: Retained fact identifier or NULL" ;
  eidos:columns "receipt_id TEXT: Retained receipt identifier or NULL" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-analytical-results a eidos:AnalyticalRelation ;
  rdfs:label "analytical_results" ;
  eidos:concept "https://eidos.software/ontology#AnalyticalResult" ;
  eidos:grain "one independent instrument result in one retained decision run" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "run_id TEXT: Immutable analytical run content digest" ;
  eidos:columns "engine TEXT: Exact engine identity" ;
  eidos:columns "chain TEXT: Exact chain identity" ;
  eidos:columns "decision_id TEXT: Exact engine decision identity" ;
  eidos:columns "evaluated_at TEXT: ISO evaluation time; not a current observation" ;
  eidos:columns "cutoff_at TEXT: ISO evidence cutoff" ;
  eidos:columns "result_id TEXT: Result identity within this run" ;
  eidos:columns "instrument_id TEXT: Registry instrument identity" ;
  eidos:columns "instrument_version TEXT: Method version" ;
  eidos:columns "applicability TEXT: applicable, not-applicable or unknown" ;
  eidos:columns "availability TEXT: available or unavailable; absence never zero" ;
  eidos:columns "completeness TEXT: complete, partial or unknown" ;
  eidos:columns "freshness TEXT: current, stale, unknown or historical" ;
  eidos:columns "reason TEXT: Qualification or refusal reason" ;
  eidos:columns "payload TEXT: JSON typed measurement or null; no combining unrelated measurements" ;
  eidos:columns "evidence_ids TEXT: JSON evidence identifiers within the retained run" ;
  eidos:columns "assumptions TEXT: JSON assumptions" ;
  eidos:columns "limitations TEXT: JSON scope limits" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:analytical-relation-interpretations a eidos:AnalyticalRelation ;
  rdfs:label "interpretations" ;
  eidos:concept "https://eidos.software/ontology#Interpretation" ;
  eidos:grain "one sourced interpretation within the selected run" ;
  eidos:columns "evidence_id TEXT: Join evidence.id; immutable revision provenance, not a source URL" ;
  eidos:columns "run_id TEXT: Immutable analytical run content digest" ;
  eidos:columns "engine TEXT: Exact engine identity" ;
  eidos:columns "chain TEXT: Exact chain identity" ;
  eidos:columns "decision_id TEXT: Exact engine decision identity" ;
  eidos:columns "evaluated_at TEXT: ISO evaluation time; not a current observation" ;
  eidos:columns "cutoff_at TEXT: ISO evidence cutoff" ;
  eidos:columns "interpretation_id TEXT: Interpretation identity" ;
  eidos:columns "statement TEXT: Attributed interpretation; untrusted text" ;
  eidos:columns "basis TEXT: observation, derivation or hypothesis" ;
  eidos:columns "result_ids TEXT: JSON supporting result identities in this run" ;
  eidos:columns "limitations TEXT: JSON scope limits" ;
  eidos:columns "revisit_when TEXT: JSON conditions requiring reconsideration" ;
  eidos:joinRule "Child evidence_id references evidence.id; source joins multiply rows" .

eidos:physical-column-organization-metrics-value-price-usd a eidos:PhysicalColumn ;
  rdfs:label "organization_metrics.value (price-usd)" ;
  eidos:relation "organization_metrics" ;
  eidos:column "value" ;
  eidos:selector "series = 'price-usd'" ;
  eidos:unitColumn "unit" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "mint" ;
  eidos:evidenceColumn "evidence_id" .

eidos:physical-column-organization-metrics-value-market-cap-usd a eidos:PhysicalColumn ;
  rdfs:label "organization_metrics.value (market-cap-usd)" ;
  eidos:relation "organization_metrics" ;
  eidos:column "value" ;
  eidos:selector "series = 'market-cap-usd'" ;
  eidos:unitColumn "unit" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "mint" ;
  eidos:evidenceColumn "evidence_id" .

eidos:physical-column-organization-metrics-value-fdv-usd a eidos:PhysicalColumn ;
  rdfs:label "organization_metrics.value (fdv-usd)" ;
  eidos:relation "organization_metrics" ;
  eidos:column "value" ;
  eidos:selector "series = 'fdv-usd'" ;
  eidos:unitColumn "unit" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "mint" ;
  eidos:evidenceColumn "evidence_id" .

eidos:physical-column-organization-metrics-value-volume-24h-usd a eidos:PhysicalColumn ;
  rdfs:label "organization_metrics.value (volume-24h-usd)" ;
  eidos:relation "organization_metrics" ;
  eidos:column "value" ;
  eidos:selector "series = 'volume-24h-usd'" ;
  eidos:unitColumn "unit" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "mint" ;
  eidos:evidenceColumn "evidence_id" .

eidos:physical-column-history-observations-value-price-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (price-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'price-usd'" ;
  eidos:unit "price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-market-cap-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (market-cap-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'market-cap-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-fdv-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (fdv-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'fdv-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-volume-24h-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (volume-24h-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'volume-24h-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-largest-holder-pct a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (largest-holder-pct)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'largest-holder-pct'" ;
  eidos:unit "percent" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-top-10-holders-pct a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (top-10-holders-pct)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'top-10-holders-pct'" ;
  eidos:unit "percent" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-tracked-organization-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (tracked-organization-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'tracked-organization-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-live-organization-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (live-organization-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'live-organization-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-cited-treasury-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (cited-treasury-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'cited-treasury-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-quoted-market-cap-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (quoted-market-cap-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'quoted-market-cap-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-launched-organization-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (launched-organization-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'launched-organization-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-launched-organization-market-cap-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (launched-organization-market-cap-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'launched-organization-market-cap-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-launched-organization-fdv-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (launched-organization-fdv-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'launched-organization-fdv-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-dao-vault-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (dao-vault-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'dao-vault-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-pending-market-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (pending-market-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'pending-market-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-funded-draft-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (funded-draft-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'funded-draft-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-program-proposal-count a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (program-proposal-count)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'program-proposal-count'" ;
  eidos:unit "count" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-dao-vault-balance-usd a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (dao-vault-balance-usd)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'dao-vault-balance-usd'" ;
  eidos:unit "usd" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-final-pass-twap a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (final-pass-twap)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'final-pass-twap'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-final-fail-twap a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (final-fail-twap)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'final-fail-twap'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-threshold-pct a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (threshold-pct)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'threshold-pct'" ;
  eidos:unit "percent" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-pass-twap a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (pass-twap)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'pass-twap'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-fail-twap a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (fail-twap)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'fail-twap'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-pass-spot a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (pass-spot)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'pass-spot'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-fail-spot a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (fail-spot)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'fail-spot'" ;
  eidos:unit "normalized-price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-pass-base-reserve a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (pass-base-reserve)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'pass-base-reserve'" ;
  eidos:unit "token" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-pass-quote-reserve a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (pass-quote-reserve)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'pass-quote-reserve'" ;
  eidos:unit "token" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-fail-base-reserve a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (fail-base-reserve)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'fail-base-reserve'" ;
  eidos:unit "token" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-fail-quote-reserve a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (fail-quote-reserve)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'fail-quote-reserve'" ;
  eidos:unit "token" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-option-twap a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (option-twap)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'option-twap'" ;
  eidos:unit "price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-history-observations-value-option-spot a eidos:PhysicalColumn ;
  rdfs:label "history_observations.value (option-spot)" ;
  eidos:relation "history_observations" ;
  eidos:column "value" ;
  eidos:selector "series = 'option-spot'" ;
  eidos:unit "price" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:identityColumns "ts" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:knowledgeTimeColumn "known_at" ;
  eidos:provenanceColumn "provenance" ;
  eidos:availabilityColumn "availability" ;
  eidos:timeSemantics "Approved event-time reconstruction; no historical knowledge-as-of claim" .

eidos:physical-column-organization-changes-pct-price-usd a eidos:PhysicalColumn ;
  rdfs:label "organization_changes.pct (price-usd)" ;
  eidos:relation "organization_changes" ;
  eidos:column "pct" ;
  eidos:selector "series = 'price-usd'" ;
  eidos:unit "percent" ;
  eidos:windowColumn "window" ;
  eidos:baselineColumns "baseline_at" ;
  eidos:baselineColumns "baseline_value" ;
  eidos:identityColumns "chain" ;
  eidos:identityColumns "market_kind" ;
  eidos:identityColumns "market_id" ;
  eidos:evidenceColumn "evidence_id" ;
  eidos:construction "Already-published tape window change, never provider change or recomputed" .

# ── record: statements ────────────────────────────────────────────────

eidos:mcp-server eidos:offersTool eidos:tool-list-replays .
eidos:mcp-server eidos:offersTool eidos:tool-qualify-evidence .
eidos:mcp-server eidos:offersTool eidos:tool-scan-attack-vectors .
eidos:mcp-server eidos:offersTool eidos:tool-read-decision-market .
eidos:mcp-server eidos:offersTool eidos:tool-inspect-playbook .
eidos:mcp-server eidos:offersTool eidos:tool-carry-forward .
eidos:mcp-server eidos:offersTool eidos:tool-enforce-scope .
eidos:mcp-server eidos:offersTool eidos:tool-get-review-contracts .
eidos:mcp-server eidos:offersTool eidos:tool-map-attack-surface .
eidos:mcp-server eidos:offersTool eidos:tool-get-live-proposals .
eidos:mcp-server eidos:offersTool eidos:tool-map-live-exposure .
eidos:mcp-server eidos:offersTool eidos:tool-pull-review-packet .
eidos:mcp-server eidos:offersTool eidos:tool-simulate-trade .
eidos:mcp-server eidos:offersTool eidos:tool-review-proposal-economics .
eidos:mcp-server eidos:offersTool eidos:tool-investigate-market-move .
eidos:mcp-server eidos:offersTool eidos:tool-verify-commitments .
eidos:mcp-server eidos:offersTool eidos:tool-check-economic-thesis .
eidos:mcp-server eidos:offersTool eidos:tool-get-decision-dossiers .
eidos:mcp-server eidos:offersTool eidos:tool-get-decision-context .
eidos:mcp-server eidos:offersTool eidos:tool-get-object .
eidos:mcp-server eidos:offersTool eidos:tool-get-dimensions .
eidos:mcp-server eidos:offersTool eidos:tool-read-news .
eidos:mcp-server eidos:offersTool eidos:tool-read-reports .
eidos:mcp-server eidos:offersTool eidos:tool-get-classifications .
eidos:mcp-server eidos:offersTool eidos:tool-get-organization-diligence .
eidos:mcp-server eidos:offersTool eidos:tool-get-metrics .
eidos:mcp-server eidos:offersTool eidos:tool-evaluate-decision-context .
eidos:mcp-server eidos:offersTool eidos:tool-verify-decision-claims .
eidos:tool-qualify-evidence eidos:servesReview eidos:review-evidence .
eidos:tool-scan-attack-vectors eidos:servesReview eidos:review-attack .
eidos:tool-read-decision-market eidos:servesReview eidos:review-market .
eidos:tool-inspect-playbook eidos:servesReview eidos:review-playbooks .
eidos:tool-carry-forward eidos:servesReview eidos:review-learning .
eidos:tool-enforce-scope eidos:servesReview eidos:review-claims .
eidos:mcp-server eidos:servesResource eidos:resource-eidos-ontology .
eidos:mcp-server eidos:servesResource eidos:resource-eidos-knowledge-graph .
eidos:mcp-server eidos:servesResource eidos:resource-eidos-shapes .
eidos:mcp-server eidos:servesResource eidos:resource-review-contracts .
eidos:mcp-server eidos:servesResource eidos:resource-attack-vector-library .
eidos:mcp-server eidos:servesResource eidos:resource-tool-output-schemas .
eidos:object-organization eidos:describesClass eidos:Organization .
eidos:object-dao-account eidos:describesClass eidos:DaoAccount .
eidos:object-decision eidos:describesClass eidos:Decision .
eidos:object-proposal eidos:describesClass eidos:GovernanceProposal .
eidos:object-forecast eidos:describesClass eidos:DecisionForecast .
eidos:object-window eidos:describesClass eidos:RecordingWindow .
eidos:object-analytical-run eidos:describesClass eidos:AnalyticalRun .
eidos:object-finding eidos:describesClass eidos:Finding .
eidos:object-claim eidos:describesClass eidos:DiligenceClaim .
eidos:object-investigation eidos:describesClass eidos:Investigation .
eidos:object-action-receipt eidos:describesClass eidos:ActionReceipt .
eidos:object-receipt-outcome eidos:describesClass eidos:ReceiptOutcome .
eidos:object-action-lineage eidos:describesClass eidos:ActionLineage .
eidos:object-policy eidos:describesClass eidos:PolicyVersion .
eidos:object-filing eidos:describesClass eidos:WindowParameterFiling .
eidos:object-market eidos:describesClass eidos:Market .
eidos:object-source eidos:describesClass eidos:CollectorSource .
eidos:object-date eidos:describesClass eidos:CalendarDate .
eidos:object-observation eidos:describesClass eidos:Observation .
eidos:object-trade eidos:describesClass eidos:Trade .
eidos:object-diligence-answer eidos:describesClass eidos:DiligenceAnswer .
eidos:link-organization-has-dao-account eidos:realizedAs eidos:organizationHasDaoAccount .
eidos:object-organization eidos:hasLink eidos:link-organization-has-dao-account .
eidos:link-organization-has-dao-account eidos:linksFrom eidos:object-organization .
eidos:link-organization-has-dao-account eidos:linksTo eidos:object-dao-account .
eidos:link-dao-account-has-organization eidos:realizedAs eidos:daoAccountHasOrganization .
eidos:object-dao-account eidos:hasLink eidos:link-dao-account-has-organization .
eidos:link-dao-account-has-organization eidos:linksFrom eidos:object-dao-account .
eidos:link-dao-account-has-organization eidos:linksTo eidos:object-organization .
eidos:link-dao-account-has-proposals eidos:realizedAs eidos:daoAccountHasProposals .
eidos:object-dao-account eidos:hasLink eidos:link-dao-account-has-proposals .
eidos:link-dao-account-has-proposals eidos:linksFrom eidos:object-dao-account .
eidos:link-dao-account-has-proposals eidos:linksTo eidos:object-proposal .
eidos:object-decision eidos:hasLink eidos:link-decision-is-proposal .
eidos:link-decision-is-proposal eidos:linksFrom eidos:object-decision .
eidos:link-decision-is-proposal eidos:linksTo eidos:object-proposal .
eidos:link-decision-governed-by eidos:realizedAs eidos:decisionGovernedBy .
eidos:object-decision eidos:hasLink eidos:link-decision-governed-by .
eidos:link-decision-governed-by eidos:linksFrom eidos:object-decision .
eidos:link-decision-governed-by eidos:linksTo eidos:object-dao-account .
eidos:link-decision-for-organization eidos:realizedAs eidos:decisionForOrganization .
eidos:object-decision eidos:hasLink eidos:link-decision-for-organization .
eidos:link-decision-for-organization eidos:linksFrom eidos:object-decision .
eidos:link-decision-for-organization eidos:linksTo eidos:object-organization .
eidos:link-decision-has-window eidos:realizedAs eidos:decisionHasWindow .
eidos:object-decision eidos:hasLink eidos:link-decision-has-window .
eidos:link-decision-has-window eidos:linksFrom eidos:object-decision .
eidos:link-decision-has-window eidos:linksTo eidos:object-window .
eidos:link-decision-has-findings eidos:realizedAs eidos:decisionHasFindings .
eidos:object-decision eidos:hasLink eidos:link-decision-has-findings .
eidos:link-decision-has-findings eidos:linksFrom eidos:object-decision .
eidos:link-decision-has-findings eidos:linksTo eidos:object-finding .
eidos:object-proposal eidos:hasLink eidos:link-proposal-is-decision .
eidos:link-proposal-is-decision eidos:linksFrom eidos:object-proposal .
eidos:link-proposal-is-decision eidos:linksTo eidos:object-decision .
eidos:link-proposal-governed-by eidos:realizedAs eidos:proposalGovernedBy .
eidos:object-proposal eidos:hasLink eidos:link-proposal-governed-by .
eidos:link-proposal-governed-by eidos:linksFrom eidos:object-proposal .
eidos:link-proposal-governed-by eidos:linksTo eidos:object-dao-account .
eidos:link-proposal-has-window eidos:realizedAs eidos:proposalHasWindow .
eidos:object-proposal eidos:hasLink eidos:link-proposal-has-window .
eidos:link-proposal-has-window eidos:linksFrom eidos:object-proposal .
eidos:link-proposal-has-window eidos:linksTo eidos:object-window .
eidos:link-proposal-has-findings eidos:realizedAs eidos:proposalHasFindings .
eidos:object-proposal eidos:hasLink eidos:link-proposal-has-findings .
eidos:link-proposal-has-findings eidos:linksFrom eidos:object-proposal .
eidos:link-proposal-has-findings eidos:linksTo eidos:object-finding .
eidos:link-forecast-of-decision eidos:realizedAs eidos:forecastOfDecision .
eidos:object-forecast eidos:hasLink eidos:link-forecast-of-decision .
eidos:link-forecast-of-decision eidos:linksFrom eidos:object-forecast .
eidos:link-forecast-of-decision eidos:linksTo eidos:object-decision .
eidos:link-window-of-decision eidos:realizedAs eidos:windowOfDecision .
eidos:object-window eidos:hasLink eidos:link-window-of-decision .
eidos:link-window-of-decision eidos:linksFrom eidos:object-window .
eidos:link-window-of-decision eidos:linksTo eidos:object-decision .
eidos:link-window-has-receipts eidos:realizedAs eidos:windowHasReceipts .
eidos:object-window eidos:hasLink eidos:link-window-has-receipts .
eidos:link-window-has-receipts eidos:linksFrom eidos:object-window .
eidos:link-window-has-receipts eidos:linksTo eidos:object-action-receipt .
eidos:link-analysis-of-decision eidos:realizedAs eidos:analysisOfDecision .
eidos:object-analytical-run eidos:hasLink eidos:link-analysis-of-decision .
eidos:link-analysis-of-decision eidos:linksFrom eidos:object-analytical-run .
eidos:link-analysis-of-decision eidos:linksTo eidos:object-decision .
eidos:link-analysis-supersedes eidos:realizedAs eidos:analysisSupersedes .
eidos:object-analytical-run eidos:hasLink eidos:link-analysis-supersedes .
eidos:link-analysis-supersedes eidos:linksFrom eidos:object-analytical-run .
eidos:link-analysis-supersedes eidos:linksTo eidos:object-analytical-run .
eidos:link-finding-of-decision eidos:realizedAs eidos:findingOfDecision .
eidos:object-finding eidos:hasLink eidos:link-finding-of-decision .
eidos:link-finding-of-decision eidos:linksFrom eidos:object-finding .
eidos:link-finding-of-decision eidos:linksTo eidos:object-decision .
eidos:link-claim-supersedes eidos:realizedAs eidos:claimSupersedes .
eidos:object-claim eidos:hasLink eidos:link-claim-supersedes .
eidos:link-claim-supersedes eidos:linksFrom eidos:object-claim .
eidos:link-claim-supersedes eidos:linksTo eidos:object-claim .
eidos:link-claim-has-receipts eidos:realizedAs eidos:claimHasReceipts .
eidos:object-claim eidos:hasLink eidos:link-claim-has-receipts .
eidos:link-claim-has-receipts eidos:linksFrom eidos:object-claim .
eidos:link-claim-has-receipts eidos:linksTo eidos:object-action-receipt .
eidos:link-investigation-of-decision eidos:realizedAs eidos:investigationOfDecision .
eidos:object-investigation eidos:hasLink eidos:link-investigation-of-decision .
eidos:link-investigation-of-decision eidos:linksFrom eidos:object-investigation .
eidos:link-investigation-of-decision eidos:linksTo eidos:object-decision .
eidos:link-investigation-has-receipts eidos:realizedAs eidos:investigationHasReceipts .
eidos:object-investigation eidos:hasLink eidos:link-investigation-has-receipts .
eidos:link-investigation-has-receipts eidos:linksFrom eidos:object-investigation .
eidos:link-investigation-has-receipts eidos:linksTo eidos:object-action-receipt .
eidos:link-receipt-about-object eidos:realizedAs eidos:receiptAboutObject .
eidos:object-action-receipt eidos:hasLink eidos:link-receipt-about-object .
eidos:link-receipt-about-object eidos:linksFrom eidos:object-action-receipt .
eidos:link-receipt-about-object eidos:linksTo eidos:object-claim .
eidos:link-receipt-has-outcomes eidos:realizedAs eidos:receiptHasOutcomes .
eidos:object-action-receipt eidos:hasLink eidos:link-receipt-has-outcomes .
eidos:link-receipt-has-outcomes eidos:linksFrom eidos:object-action-receipt .
eidos:link-receipt-has-outcomes eidos:linksTo eidos:object-receipt-outcome .
eidos:link-outcome-of-receipt eidos:realizedAs eidos:outcomeOfReceipt .
eidos:object-receipt-outcome eidos:hasLink eidos:link-outcome-of-receipt .
eidos:link-outcome-of-receipt eidos:linksFrom eidos:object-receipt-outcome .
eidos:link-outcome-of-receipt eidos:linksTo eidos:object-action-receipt .
eidos:link-lineage-recorded-by eidos:realizedAs eidos:lineageRecordedBy .
eidos:object-action-lineage eidos:hasLink eidos:link-lineage-recorded-by .
eidos:link-lineage-recorded-by eidos:linksFrom eidos:object-action-lineage .
eidos:link-lineage-recorded-by eidos:linksTo eidos:object-action-receipt .
eidos:link-lineage-resolved-by eidos:realizedAs eidos:lineageResolvedBy .
eidos:object-action-lineage eidos:hasLink eidos:link-lineage-resolved-by .
eidos:link-lineage-resolved-by eidos:linksFrom eidos:object-action-lineage .
eidos:link-lineage-resolved-by eidos:linksTo eidos:object-receipt-outcome .
eidos:link-policy-has-receipts eidos:realizedAs eidos:policyHasReceipts .
eidos:object-policy eidos:hasLink eidos:link-policy-has-receipts .
eidos:link-policy-has-receipts eidos:linksFrom eidos:object-policy .
eidos:link-policy-has-receipts eidos:linksTo eidos:object-action-receipt .
eidos:link-filing-for-window eidos:realizedAs eidos:filingForWindow .
eidos:object-filing eidos:hasLink eidos:link-filing-for-window .
eidos:link-filing-for-window eidos:linksFrom eidos:object-filing .
eidos:link-filing-for-window eidos:linksTo eidos:object-window .
eidos:link-filing-by-dao-account eidos:realizedAs eidos:filingByDaoAccount .
eidos:object-filing eidos:hasLink eidos:link-filing-by-dao-account .
eidos:link-filing-by-dao-account eidos:linksFrom eidos:object-filing .
eidos:link-filing-by-dao-account eidos:linksTo eidos:object-dao-account .
eidos:link-filing-supersedes eidos:realizedAs eidos:filingSupersedes .
eidos:object-filing eidos:hasLink eidos:link-filing-supersedes .
eidos:link-filing-supersedes eidos:linksFrom eidos:object-filing .
eidos:link-filing-supersedes eidos:linksTo eidos:object-filing .
eidos:link-filing-has-receipts eidos:realizedAs eidos:filingHasReceipts .
eidos:object-filing eidos:hasLink eidos:link-filing-has-receipts .
eidos:link-filing-has-receipts eidos:linksFrom eidos:object-filing .
eidos:link-filing-has-receipts eidos:linksTo eidos:object-action-receipt .
eidos:link-market-of-organization eidos:realizedAs eidos:marketOfOrganization .
eidos:object-market eidos:hasLink eidos:link-market-of-organization .
eidos:link-market-of-organization eidos:linksFrom eidos:object-market .
eidos:link-market-of-organization eidos:linksTo eidos:object-organization .
eidos:link-market-of-decision eidos:realizedAs eidos:marketOfDecision .
eidos:object-market eidos:hasLink eidos:link-market-of-decision .
eidos:link-market-of-decision eidos:linksFrom eidos:object-market .
eidos:link-market-of-decision eidos:linksTo eidos:object-decision .
eidos:link-market-has-observations eidos:realizedAs eidos:marketHasObservations .
eidos:object-market eidos:hasLink eidos:link-market-has-observations .
eidos:link-market-has-observations eidos:linksFrom eidos:object-market .
eidos:link-market-has-observations eidos:linksTo eidos:object-observation .
eidos:link-observation-of-market eidos:realizedAs eidos:observationOfMarket .
eidos:object-observation eidos:hasLink eidos:link-observation-of-market .
eidos:link-observation-of-market eidos:linksFrom eidos:object-observation .
eidos:link-observation-of-market eidos:linksTo eidos:object-market .
eidos:link-trade-on-decision eidos:realizedAs eidos:tradeOnDecision .
eidos:object-trade eidos:hasLink eidos:link-trade-on-decision .
eidos:link-trade-on-decision eidos:linksFrom eidos:object-trade .
eidos:link-trade-on-decision eidos:linksTo eidos:object-decision .
eidos:link-diligence-answer-for-organization eidos:realizedAs eidos:diligenceAnswerForOrganization .
eidos:object-diligence-answer eidos:hasLink eidos:link-diligence-answer-for-organization .
eidos:link-diligence-answer-for-organization eidos:linksFrom eidos:object-diligence-answer .
eidos:link-diligence-answer-for-organization eidos:linksTo eidos:object-organization .
eidos:action-file-window-parameters eidos:editsObjectType eidos:object-filing .
eidos:action-read-resource eidos:editsObjectType eidos:object-action-receipt .
eidos:metric-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-decided-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-decided-share eidos:measuresObjectType eidos:object-decision .
eidos:metric-decided-share eidos:ratioNumerator eidos:metric-decided-decision-count .
eidos:metric-decided-share eidos:ratioDenominator eidos:metric-decision-count .
eidos:metric-organizations-with-decisions eidos:measuresObjectType eidos:object-decision .
eidos:metric-organizations-with-decisions eidos:metricCoveredBy eidos:metric-organization-linkable-decision-count .
eidos:metric-organization-linkable-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-counted-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-census-decider-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-passed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-decided-pass-fail-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-pass-share eidos:measuresObjectType eidos:object-decision .
eidos:metric-pass-share eidos:ratioNumerator eidos:metric-passed-decision-count .
eidos:metric-pass-share eidos:ratioDenominator eidos:metric-decided-pass-fail-decision-count .
eidos:metric-executed-passed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-executed-passed-decision-count eidos:metricCoveredBy eidos:metric-execution-read-passed-decision-count .
eidos:metric-unexecuted-passed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-unexecuted-passed-decision-count eidos:metricCoveredBy eidos:metric-execution-read-passed-decision-count .
eidos:metric-no-onchain-action-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-execution-checked-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-capital-moved-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-capital-moved-decision-count eidos:metricCoveredBy eidos:metric-capital-read-decision-count .
eidos:metric-execution-read-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-execution-read-passed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-capital-read-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-usd-sized-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-analyzed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-participation-analyzed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-detector-assessed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-market-analyzed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-reviewed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-evidence-reviewed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-attack-reviewed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-market-reviewed-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-counted-engine-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-pending-decision-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-funded-draft-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-swap-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-non-economic-swap-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-non-economic-swap-share eidos:measuresObjectType eidos:object-decision .
eidos:metric-non-economic-swap-share eidos:ratioNumerator eidos:metric-non-economic-swap-count .
eidos:metric-non-economic-swap-share eidos:ratioDenominator eidos:metric-swap-count .
eidos:metric-trade-count eidos:measuresObjectType eidos:object-decision .
eidos:metric-trading-volume eidos:measuresObjectType eidos:object-decision .
eidos:metric-trading-volume eidos:metricCoveredBy eidos:metric-usd-sized-decision-count .
eidos:metric-trades-per-decision eidos:measuresObjectType eidos:object-decision .
eidos:metric-traders-per-decision eidos:measuresObjectType eidos:object-decision .
eidos:metric-median-trades-per-decision eidos:measuresObjectType eidos:object-decision .
eidos:metric-median-traders-per-decision eidos:measuresObjectType eidos:object-decision .
eidos:metric-options-per-decision eidos:measuresObjectType eidos:object-decision .
eidos:metric-dao-account-count eidos:measuresObjectType eidos:object-dao-account .
eidos:metric-market-count eidos:measuresObjectType eidos:object-market .
eidos:metric-observation-count eidos:measuresObjectType eidos:object-market .
eidos:metric-approved-observation-count eidos:measuresObjectType eidos:object-market .
eidos:metric-approved-observation-share eidos:measuresObjectType eidos:object-market .
eidos:metric-approved-observation-share eidos:ratioNumerator eidos:metric-approved-observation-count .
eidos:metric-approved-observation-share eidos:ratioDenominator eidos:metric-observation-count .
eidos:metric-diligence-answer-count eidos:measuresObjectType eidos:object-diligence-answer .
eidos:metric-diligence-cell-count eidos:measuresObjectType eidos:object-diligence-answer .
eidos:metric-answered-diligence-answer-count eidos:measuresObjectType eidos:object-diligence-answer .
eidos:metric-current-diligence-answer-count eidos:measuresObjectType eidos:object-diligence-answer .
eidos:metric-organization-count eidos:measuresObjectType eidos:object-organization .
eidos:metric-live-organization-count eidos:measuresObjectType eidos:object-organization .
eidos:metric-launched-organization-count eidos:measuresObjectType eidos:object-organization .
eidos:metric-active-organization-count eidos:measuresObjectType eidos:object-organization .
eidos:metric-organizations-with-website eidos:measuresObjectType eidos:object-organization .
eidos:metric-organizations-with-x eidos:measuresObjectType eidos:object-organization .
eidos:metric-organizations-with-docs eidos:measuresObjectType eidos:object-organization .
eidos:metric-dao-accounts-per-organization eidos:measuresObjectType eidos:object-organization .
eidos:metric-ledger-swap-count eidos:measuresObjectType eidos:object-trade .
eidos:metric-ledger-trade-count eidos:measuresObjectType eidos:object-trade .
eidos:metric-recorded-usd-trading-volume eidos:measuresObjectType eidos:object-trade .
eidos:metric-recorded-usd-trading-volume eidos:metricCoveredBy eidos:metric-usd-sized-trade-count .
eidos:metric-usd-sized-trade-count eidos:measuresObjectType eidos:object-trade .
eidos:metric-trader-count eidos:measuresObjectType eidos:object-trade .
eidos:metric-source-count eidos:measuresObjectType eidos:object-source .
eidos:metric-source-attempt-count eidos:measuresObjectType eidos:object-source .
eidos:job-know-what-was-decided eidos:jobRaisesMetric eidos:metric-counted-decision-count .
eidos:job-know-what-was-decided eidos:jobRaisesMetric eidos:metric-census-decider-count .
eidos:job-know-what-was-decided eidos:jobRaisesMetric eidos:metric-organizations-with-decisions .
eidos:job-check-what-followed eidos:jobRaisesMetric eidos:metric-execution-checked-decision-count .
eidos:job-read-open-markets eidos:jobRaisesMetric eidos:metric-usd-sized-decision-count .
eidos:job-forecast-open-windows eidos:jobImprovesScore eidos:job-score-window-outlook-brier .
eidos:job-forecast-open-windows eidos:jobImprovesScore eidos:job-score-engine-outlook-brier .
eidos:job-review-a-decision eidos:jobRaisesMetric eidos:metric-analyzed-decision-count .
eidos:job-review-a-decision eidos:jobRaisesMetric eidos:metric-participation-analyzed-decision-count .
eidos:job-review-a-decision eidos:jobRaisesMetric eidos:metric-detector-assessed-decision-count .
eidos:job-review-a-decision eidos:jobRaisesMetric eidos:metric-market-analyzed-decision-count .
eidos:job-diligence-an-organization eidos:jobRaisesMetric eidos:metric-answered-diligence-answer-count .
eidos:job-diligence-an-organization eidos:jobRaisesMetric eidos:metric-current-diligence-answer-count .
eidos:job-track-organizations eidos:jobRaisesMetric eidos:metric-organization-count .
eidos:job-keep-the-record-honest eidos:jobImprovesScore eidos:job-score-claim-acceptance .
eidos:job-keep-the-record-honest eidos:jobImprovesScore eidos:job-score-labeled-outcome-brier .
eidos:physical-column-organization-metrics-value-price-usd eidos:mapsObservationSeries eidos:series-price-usd .
eidos:physical-column-organization-metrics-value-market-cap-usd eidos:mapsObservationSeries eidos:series-market-cap-usd .
eidos:physical-column-organization-metrics-value-fdv-usd eidos:mapsObservationSeries eidos:series-fdv-usd .
eidos:physical-column-organization-metrics-value-volume-24h-usd eidos:mapsObservationSeries eidos:series-volume-24h-usd .
eidos:physical-column-history-observations-value-price-usd eidos:mapsObservationSeries eidos:series-price-usd .
eidos:physical-column-history-observations-value-market-cap-usd eidos:mapsObservationSeries eidos:series-market-cap-usd .
eidos:physical-column-history-observations-value-fdv-usd eidos:mapsObservationSeries eidos:series-fdv-usd .
eidos:physical-column-history-observations-value-volume-24h-usd eidos:mapsObservationSeries eidos:series-volume-24h-usd .
eidos:physical-column-history-observations-value-largest-holder-pct eidos:mapsObservationSeries eidos:series-largest-holder-pct .
eidos:physical-column-history-observations-value-top-10-holders-pct eidos:mapsObservationSeries eidos:series-top-10-holders-pct .
eidos:physical-column-history-observations-value-tracked-organization-count eidos:mapsObservationSeries eidos:series-tracked-organization-count .
eidos:physical-column-history-observations-value-live-organization-count eidos:mapsObservationSeries eidos:series-live-organization-count .
eidos:physical-column-history-observations-value-cited-treasury-usd eidos:mapsObservationSeries eidos:series-cited-treasury-usd .
eidos:physical-column-history-observations-value-quoted-market-cap-usd eidos:mapsObservationSeries eidos:series-quoted-market-cap-usd .
eidos:physical-column-history-observations-value-launched-organization-count eidos:mapsObservationSeries eidos:series-launched-organization-count .
eidos:physical-column-history-observations-value-launched-organization-market-cap-usd eidos:mapsObservationSeries eidos:series-launched-organization-market-cap-usd .
eidos:physical-column-history-observations-value-launched-organization-fdv-usd eidos:mapsObservationSeries eidos:series-launched-organization-fdv-usd .
eidos:physical-column-history-observations-value-dao-vault-usd eidos:mapsObservationSeries eidos:series-dao-vault-usd .
eidos:physical-column-history-observations-value-pending-market-count eidos:mapsObservationSeries eidos:series-pending-market-count .
eidos:physical-column-history-observations-value-funded-draft-count eidos:mapsObservationSeries eidos:series-funded-draft-count .
eidos:physical-column-history-observations-value-program-proposal-count eidos:mapsObservationSeries eidos:series-program-proposal-count .
eidos:physical-column-history-observations-value-dao-vault-balance-usd eidos:mapsObservationSeries eidos:series-dao-vault-balance-usd .
eidos:physical-column-history-observations-value-final-pass-twap eidos:mapsObservationSeries eidos:series-final-pass-twap .
eidos:physical-column-history-observations-value-final-fail-twap eidos:mapsObservationSeries eidos:series-final-fail-twap .
eidos:physical-column-history-observations-value-threshold-pct eidos:mapsObservationSeries eidos:series-threshold-pct .
eidos:physical-column-history-observations-value-pass-twap eidos:mapsObservationSeries eidos:series-pass-twap .
eidos:physical-column-history-observations-value-fail-twap eidos:mapsObservationSeries eidos:series-fail-twap .
eidos:physical-column-history-observations-value-pass-spot eidos:mapsObservationSeries eidos:series-pass-spot .
eidos:physical-column-history-observations-value-fail-spot eidos:mapsObservationSeries eidos:series-fail-spot .
eidos:physical-column-history-observations-value-pass-base-reserve eidos:mapsObservationSeries eidos:series-pass-base-reserve .
eidos:physical-column-history-observations-value-pass-quote-reserve eidos:mapsObservationSeries eidos:series-pass-quote-reserve .
eidos:physical-column-history-observations-value-fail-base-reserve eidos:mapsObservationSeries eidos:series-fail-base-reserve .
eidos:physical-column-history-observations-value-fail-quote-reserve eidos:mapsObservationSeries eidos:series-fail-quote-reserve .
eidos:physical-column-history-observations-value-option-twap eidos:mapsObservationSeries eidos:series-option-twap .
eidos:physical-column-history-observations-value-option-spot eidos:mapsObservationSeries eidos:series-option-spot .
eidos:physical-column-organization-changes-pct-price-usd eidos:mapsObservationSeries eidos:series-price-usd .
