{
 "schema": 1,
 "effective": "2026-10-19",
 "version": 1,
 "note": "How a claim gets into the Ledger. The page ledger-policy.html is generated from this file and from data/claims/*.json by tools/build_ledger_policy.py; the guard is .github/scripts/check_ledger_policy.py. Change the policy here, in public, and the page says when.",
 "bar": [
  {"id": "attributable", "test": "A named party said it: a company, agency or named person, in a source we can link and quote word for word.", "kind": "checked", "fields": ["claimant", "verbatim", "source_url", "source_kind"]},
  {"id": "dated-and-archived", "test": "The statement has a date, and an independent archive copy of the source exists, so it cannot be quietly reworded.", "kind": "checked", "fields": ["source_date", "source_archive_url"]},
  {"id": "falsifiable", "test": "It names an outcome and a deadline, and the deadline falls after the statement.", "kind": "checked", "fields": ["resolves_by"]},
  {"id": "resolvable", "test": "We can write the resolution criteria and name the sources that will settle it, before the deadline.", "kind": "checked", "fields": ["resolution_criteria", "resolver_sources", "criteria_frozen_at"]},
  {"id": "documents-decide", "test": "Someone with the public record, and no private information, could settle it. If only our opinion can settle it, it is not tracked.", "kind": "judged"},
  {"id": "claim-not-person", "test": "It is about a capability, a schedule or a commitment. Never about a person's honesty, and never one of our own forecasts.", "kind": "judged"},
  {"id": "not-bought", "test": "Nobody paid for it to be tracked, and nobody paid to keep it out.", "kind": "judged"}
 ],
 "proposers": [
  {"id": "desk", "label": "The desk", "text": "The editor adds claims they have read about. All 20 claims so far came in this way."},
  {"id": "reader", "label": "A reader", "text": "Anyone can send a source, the claim as close to word for word as they can get it, and what would settle it. No account is needed. It goes to the desk and does not publish by itself."},
  {"id": "claimant", "label": "The claimant", "text": "A company may propose a claim of its own. It is marked as proposed by the claimant, and it is held to the same bar and the same criteria-first rule as any other."}
 ],
 "exceptions": [
  {"slug": "microsoft-topological-years-not-decades", "test": "falsifiable", "phrase": "fails intake rule 4", "note": "The statement names no year. The deadline is one the desk constructed, and the criteria say so in terms. The script check passes because a deadline is on file; the claim does not meet the test as the claimant stated it."},
  {"slug": "huang-useful-quantum-15-30-years", "test": "falsifiable", "phrase": "tracked at both ends rather than forced into one deadline", "note": "The statement is a range, not a date. The criteria check it at both ends of the range, and the deadline on file is the desk's choice of the early end."}
 ],
 "deciders": {
  "who": "The editor decides whether a claim is accepted. There is one editor, and no outside panel decides this today.",
  "weakness": "That is a weakness, and the page says so: nobody outside can yet check the choice of what was tracked and what was passed over. The rejected-claims log below exists to make that choice visible, and outside reviewers will be shown by name on the reviewers page when there are any.",
  "separate_from_verdicts": "Accepting a claim is a separate decision from scoring it. The Ledger's rule that the person who captures a claim does not write its verdict is on How we check."
 },
 "coi": {
  "heading": "Conflicts of interest",
  "existing_statement": "SymbiQ is written and kept by one person, with no money or ties to any company whose claims turn up on these pages (About, Funding). Nobody has paid for a claim to be tracked, for a verdict, or for the wording of either.",
  "not_declared": "No separate declaration of shareholdings, past employment or consulting has been filed. Until one is, read the statement above as the editor's word and the absence of a filed declaration as unknown, not as none.",
  "rule": "If the editor turns out to have an interest in a claimant, claims of theirs are still tracked, and the interest is declared on each of those claims' pages, beside the claim and beside its verdict."
 },
 "mix": {
  "classify": "Each claim is placed by how far its deadline was from the day it was accepted.",
  "buckets": [
   {"id": "past_due", "label": "Already past its deadline when logged", "min_months": null, "max_months": 0, "target_min": 0, "target_max": 10},
   {"id": "near", "label": "Near term: due within 24 months", "min_months": 0, "max_months": 24, "target_min": 50, "target_max": 75},
   {"id": "mid", "label": "Medium term: 24 to 60 months", "min_months": 24, "max_months": 60, "target_min": 15, "target_max": 35},
   {"id": "long", "label": "Long tail: more than 60 months", "min_months": 60, "max_months": null, "target_min": 5, "target_max": 20}
  ],
  "target_note": "The targets were set on 19 October 2026 by someone who had already seen the current mix, so they describe what the Ledger is meant to look like, not a plan the first 20 claims were chosen to meet. New claims are not accepted after their deadline."
 },
 "rejected": {
  "path": "data/ledger-rejected.json",
  "reasons": {
   "not_falsifiable": "No outcome that could come out the other way.",
   "no_deadline": "No date, or a date that cannot be fixed.",
   "no_primary_source": "No source we can quote and archive.",
   "undecidable_by_documents": "Only private information or our opinion could settle it.",
   "about_a_person": "About someone's character rather than a claim.",
   "duplicate": "Already tracked, or covered by a claim we track.",
   "out_of_scope": "Not about quantum computing or the cryptography it threatens.",
   "conflict_of_interest": "We could not track it fairly.",
   "other": "None of the above; the reason is written out."
  }
 }
}
