[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"doc-citations":3},{"blocks":4,"markdown":8},[5],{"kind":6,"html":7},"html","\u003Ch2 id=\"verified-by\">\u003Ccode>verified_by\u003C\u002Fcode>\u003C\u002Fh2>\n\u003Cp>Every \u003Ccode class=\"chip chip--valid\">valid\u003C\u002Fcode> answer carries one, in the form \u003Ccode class=\"chip chip--cite\">chart@6baf09f0\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>It identifies \u003Cstrong>the version of the rules the output was checked against\u003C\u002Fstrong> — not the build that\nproduced it, not the service version. That split is the whole point. How\nanswers are produced may change; the version a citation identifies does not, and a\ncitation whose meaning moved with every release would not be worth issuing.\u003C\u002Fp>\n\u003Cp>The hash moves when the rules move, and only then.\u003C\u002Fp>\n\u003Cp>Store it next to the artifact. It is what lets you answer &quot;which version of the rules was this checked against?&quot; long after the conversation that produced it.\u003C\u002Fp>\n\u003Ch2 id=\"what-is-guaranteed\">What is guaranteed\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>A \u003Ccode class=\"chip chip--valid\">valid\u003C\u002Fcode> artifact passed that version of the rules.\u003C\u002Fstrong> That is a statement about the\nartifact you are holding, and it stays true forever.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The citation is stable.\u003C\u002Fstrong> The same rules produce the same identifier. Two\nartifacts carrying the same \u003Ccode>verified_by\u003C\u002Fcode> were held to the same rules.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The catalogue is the contract.\u003C\u002Fstrong> An oracle in \u003Ccode>GET \u002Fv1\u002Foracles\u003C\u002Fcode> is callable by\nyour key; a format in its \u003Ccode>formats\u003C\u002Fcode> is one it will accept.\u003C\u002Fp>\n\u003Ch2 id=\"determinism\">Determinism\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>The same intent does not guarantee the same artifact.\u003C\u002Fstrong> The same intent can\nreturn a different artifact. Two identical requests can return two different\nvalid charts, and both are correct.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The same intent does not guarantee the same verdict.\u003C\u002Fstrong> Asking twice can return\n\u003Ccode class=\"chip chip--valid\">valid\u003C\u002Fcode> once and \u003Ccode class=\"chip chip--invalid\">invalid\u003C\u002Fcode> the next time. If you need a fixed artifact, store the\none you got — do not re-derive it.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Rules can get stricter.\u003C\u002Fstrong> If they do, their hash changes, so an artifact you\nalready hold keeps its original citation and keeps meaning what it meant. What we\nwill not do is change the rules while leaving the identifier alone.\u003C\u002Fp>\n\u003Ch2 id=\"what-is-not-guaranteed\">What is not guaranteed\u003C\u002Fh2>\n\u003Cp>That an intent is satisfiable. Some are not, and \u003Ccode class=\"chip chip--invalid\">invalid\u003C\u002Fcode> is the honest answer.\u003C\u002Fp>\n\u003Cp>That the artifact is what you \u003Cem>meant\u003C\u002Fem>. The check confirms form, not intent — a\nvalid chart of the wrong column is valid.\u003C\u002Fp>\n\u003Cp>That two oracles agree. They have different rules and are not comparable.\u003C\u002Fp>\n","# Citations and determinism\n\n> What verified_by points at, what we guarantee about it, and what we do not.\n\n## `verified_by`\n\nEvery `valid` answer carries one, in the form `chart@6baf09f0`.\n\nIt identifies **the version of the rules the output was checked against** — not the build that\nproduced it, not the service version. That split is the whole point. How\nanswers are produced may change; the version a citation identifies does not, and a\ncitation whose meaning moved with every release would not be worth issuing.\n\nThe hash moves when the rules move, and only then.\n\nStore it next to the artifact. It is what lets you answer \"which version of the rules was this checked against?\" long after the conversation that produced it.\n\n## What is guaranteed\n\n**A `valid` artifact passed that version of the rules.** That is a statement about the\nartifact you are holding, and it stays true forever.\n\n**The citation is stable.** The same rules produce the same identifier. Two\nartifacts carrying the same `verified_by` were held to the same rules.\n\n**The catalogue is the contract.** An oracle in `GET \u002Fv1\u002Foracles` is callable by\nyour key; a format in its `formats` is one it will accept.\n\n## Determinism\n\n**The same intent does not guarantee the same artifact.** The same intent can\nreturn a different artifact. Two identical requests can return two different\nvalid charts, and both are correct.\n\n**The same intent does not guarantee the same verdict.** Asking twice can return\n`valid` once and `invalid` the next time. If you need a fixed artifact, store the\none you got — do not re-derive it.\n\n**Rules can get stricter.** If they do, their hash changes, so an artifact you\nalready hold keeps its original citation and keeps meaning what it meant. What we\nwill not do is change the rules while leaving the identifier alone.\n\n## What is not guaranteed\n\nThat an intent is satisfiable. Some are not, and `invalid` is the honest answer.\n\nThat the artifact is what you *meant*. The check confirms form, not intent — a\nvalid chart of the wrong column is valid.\n\nThat two oracles agree. They have different rules and are not comparable.\n",1793819974120]