{"id":"linked-art/negative-reconciliation-contract","relativePath":"linked-art/negative-reconciliation-contract.md","title":"Confirmed Negative Reconciliation Contract","markdown":"# Confirmed Negative Reconciliation Contract\n\nStatus: internal pre-standard contract  \nPrepared: July 28, 2026  \nLinked Art issue: [#637](https://github.com/linked-art/linked.art/issues/637)\n\nMeta Museum distinguishes a scored reconciliation candidate from a\ncurator-confirmed assertion that two entities are not equivalent. An automated\n`no-link` result is not promoted to a confirmed negative.\n\nThe internal `ConfirmedNegativeReconciliation` contract requires:\n\n- a stable decision identifier;\n- distinct subject and candidate identifiers;\n- curator identity and an ISO timestamp;\n- a non-empty rationale;\n- at least one cited evidence source with a summary; and\n- the score at decision time when one is available.\n\nThe contract is append-only decision evidence for review and audit workflows.\nIts discriminated `confirmed-not-equivalent` state remains structurally\nseparate from the unresolved `candidate` state.\n\n## Linked Art boundary\n\nThe record carries `linkedArtProjection: \"withheld-pending-standard\"`. It does\nnot emit `distinct_from`, `notEquivalent`, `equivalent`, or another local\nnegative relationship. A projection may be added only after the Linked Art\ncommunity settles the property name and assertion pattern.\n\nImplementation: `src/contracts/reconciliation-negative.ts`  \nContract tests: `tests/contracts/reconciliation-negative.test.ts`\n","sections":[{"level":2,"heading":"Linked Art boundary","anchor":"linked-art-boundary"}],"html":"<h1 id=\"confirmed-negative-reconciliation-contract\">Confirmed Negative Reconciliation Contract</h1>\n<p>Status: internal pre-standard contract  </p>\n<p>Prepared: July 28, 2026  </p>\n<p>Linked Art issue: <a href=\"https://github.com/linked-art/linked.art/issues/637\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">#637</a></p>\n<p>Meta Museum distinguishes a scored reconciliation candidate from a</p>\n<p>curator-confirmed assertion that two entities are not equivalent. An automated</p>\n<p>`no-link` result is not promoted to a confirmed negative.</p>\n<p>The internal `ConfirmedNegativeReconciliation` contract requires:</p>\n<ul><li>a stable decision identifier;</li><li>distinct subject and candidate identifiers;</li><li>curator identity and an ISO timestamp;</li><li>a non-empty rationale;</li><li>at least one cited evidence source with a summary; and</li><li>the score at decision time when one is available.</li></ul>\n<p>The contract is append-only decision evidence for review and audit workflows.</p>\n<p>Its discriminated `confirmed-not-equivalent` state remains structurally</p>\n<p>separate from the unresolved `candidate` state.</p>\n<h2 id=\"linked-art-boundary\">Linked Art boundary</h2>\n<p>The record carries `linkedArtProjection: &quot;withheld-pending-standard&quot;`. It does</p>\n<p>not emit `distinct_from`, `notEquivalent`, `equivalent`, or another local</p>\n<p>negative relationship. A projection may be added only after the Linked Art</p>\n<p>community settles the property name and assertion pattern.</p>\n<p>Implementation: `src/contracts/reconciliation-negative.ts`  </p>\n<p>Contract tests: `tests/contracts/reconciliation-negative.test.ts`</p>","updatedAt":"2018-10-20T01:46:40.000Z","checksum":"a9c59c8821ae38cd6194060ec797578a09c7632da960a6d12515d9e298acf882","checksumPrefix":"a9c59c8821ae","anchorCount":1,"lineCount":33,"rawUrl":"/api/docs/content?path=linked-art%2Fnegative-reconciliation-contract.md","htmlUrl":"/docs?doc=linked-art%2Fnegative-reconciliation-contract.md","apiUrl":"/api/docs/content?path=linked-art%2Fnegative-reconciliation-contract.md"}