the whole object this page is drawn from, as JSON · Open JSON {
"schema": "https://miscsubjects.com/schemas/jarticle.json",
"status": "published",
"slug": "rigor-test-2026-11-05",
"title": "Rigor Test — epistemic convention proof",
"kind": "test",
"sources": [
{
"id": "s1",
"url": "https://example.com/source-a",
"title": "Synthetic Source A",
"publisher": "Test Publisher A",
"date": "2026-11-05",
"quote": "The test value is alpha.",
"quote_sha256": "090067915f86e311beadf83ecd6a7433e5efa43688811d977950afe88c1ebd1e"
},
{
"id": "s2",
"url": "https://example.org/source-b",
"title": "Synthetic Source B",
"publisher": "Test Publisher B",
"date": "2026-11-05",
"quote": "Independently, the test value is alpha.",
"quote_sha256": "8f8bf8a91bfdc3601eb675cf7adba00ff4819038afa08dd63e7a06653136a581"
},
{
"id": "s3",
"url": "https://example.net/source-c",
"title": "Synthetic Source C",
"publisher": "Test Publisher C",
"date": "2026-11-05",
"quote": "The test value is gamma.",
"quote_sha256": "11b8c5051dc964c39b6ae7f4325f1460f924dcb82da31b6021f14910fd3f5a9c"
},
{
"id": "sb",
"url": "https://broker.example.com/feed-1",
"title": "Synthetic Broker Feed",
"publisher": "Broker Aggregator",
"date": "2026-11-05",
"quote": "broker_value: beta",
"quote_sha256": "50a0d40228601df0ed3c799df3766eafab1ee15e3ccb0b7bc41e92c5f4a3c8e4"
}
],
"claims": [
{
"id": "c_1",
"predicate": "test_value",
"value": "alpha",
"valid_from": "2026-01-01",
"valid_to": null,
"status": "superseded",
"earned_status": "corroborated",
"contested": false,
"provenance": {
"source_id": "s1",
"source_ref": "https://example.com/source-a",
"receipt_slug": null,
"payload_path": null,
"source_class": "independent_secondary",
"directness": "direct"
},
"extraction": {
"method": "executor:manual-extract@1",
"transform": "none",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent"
},
"confidence": null,
"confidence_basis": null,
"history": [
{
"from": null,
"to": "supplied",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "claim written with full spec-1 provenance",
"basis_ref": "s1"
},
{
"from": "supplied",
"to": "extracted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "named extraction executor:manual-extract@1 wrote value from s1",
"basis_ref": "s1"
},
{
"from": "extracted",
"to": "corroborated",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "independent second provenance root s2 added asserting same predicate+value over overlapping interval",
"basis_ref": "s2"
},
{
"from": "corroborated",
"to": "contradicted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "opposing active claim c_3 for same predicate with incompatible value over overlapping interval; earned_status kept",
"basis_ref": "c_3"
},
{
"from": "contradicted",
"to": "superseded",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "superseded by correction claim c_4; value and provenance untouched",
"basis_ref": "c_4"
}
],
"additional_roots": [
{
"source_id": "s2",
"source_class": "independent_secondary",
"directness": "reported",
"note": "independent root: no shared upstream lineage with s1"
}
],
"conflict_group": "cg_test_value_1",
"opposes": [
"c_3"
],
"superseded_by": "c_4"
},
{
"id": "c_2",
"predicate": "broker_value",
"value": "beta",
"valid_from": "2026-01-01",
"valid_to": null,
"status": "extracted",
"earned_status": "extracted",
"contested": false,
"provenance": {
"source_id": "sb",
"source_ref": "https://broker.example.com/feed-1",
"receipt_slug": null,
"payload_path": null,
"source_class": "broker_aggregator",
"directness": "reported"
},
"extraction": {
"method": "ingest:broker-feed",
"transform": "none",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent"
},
"confidence": null,
"confidence_basis": null,
"cap_note": "Corroboration NOT applied: every provenance root is one broker_aggregator lineage (sb). Per spec section 2 broker cap, status is capped at extracted; repeated payloads from this lineage are one root and move nothing. The claim rises only when a root outside the lineage is added.",
"history": [
{
"from": null,
"to": "supplied",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "claim written with full spec-1 provenance",
"basis_ref": "sb"
},
{
"from": "supplied",
"to": "extracted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "named extraction ingest:broker-feed wrote value from sb",
"basis_ref": "sb"
}
]
},
{
"id": "c_3",
"predicate": "test_value",
"value": "gamma",
"valid_from": "2026-01-01",
"valid_to": null,
"status": "contradicted",
"earned_status": "extracted",
"contested": true,
"conflict_group": "cg_test_value_1",
"opposes": [
"c_4"
],
"provenance": {
"source_id": "s3",
"source_ref": "https://example.net/source-c",
"receipt_slug": null,
"payload_path": null,
"source_class": "independent_secondary",
"directness": "direct"
},
"extraction": {
"method": "executor:manual-extract@1",
"transform": "none",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent"
},
"confidence": null,
"confidence_basis": null,
"history": [
{
"from": null,
"to": "supplied",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "claim written with full spec-1 provenance",
"basis_ref": "s3"
},
{
"from": "supplied",
"to": "extracted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "named extraction executor:manual-extract@1 wrote value from s3",
"basis_ref": "s3"
},
{
"from": "extracted",
"to": "contradicted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "opposes active claim c_1: same predicate, incompatible value, overlapping interval",
"basis_ref": "c_1"
},
{
"from": "contradicted",
"to": "contradicted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "opposing claim c_1 superseded by c_4; conflict continues against c_4",
"basis_ref": "c_4"
}
]
},
{
"id": "c_4",
"predicate": "test_value",
"value": "alpha-corrected",
"valid_from": "2026-01-01",
"valid_to": null,
"status": "contradicted",
"earned_status": "extracted",
"contested": true,
"conflict_group": "cg_test_value_1",
"opposes": [
"c_3"
],
"supersedes": "c_1",
"provenance": {
"source_id": "s1",
"source_ref": "https://example.com/source-a",
"receipt_slug": null,
"payload_path": null,
"source_class": "independent_secondary",
"directness": "direct"
},
"extraction": {
"method": "human:correction",
"transform": "none",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent"
},
"confidence": null,
"confidence_basis": null,
"history": [
{
"from": null,
"to": "supplied",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "correction claim written with its own spec-1 provenance; supersedes c_1",
"basis_ref": "s1"
},
{
"from": "supplied",
"to": "extracted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "named extraction human:correction wrote value from s1",
"basis_ref": "s1"
},
{
"from": "extracted",
"to": "contradicted",
"at": "2026-11-05T14:20:59.205440-08:00",
"by": "claude-subagent",
"event": "remains opposed by active claim c_3 in cg_test_value_1",
"basis_ref": "c_3"
}
]
}
],
"facts": {
"contested_predicates": [
"test_value"
]
},
"type": "article",
"created": "2026-11-05T22:21:01.829Z",
"updated": "2026-11-05T22:21:20.209Z",
"version": 6,
"hash": "ca60d7f74fa50af5202e426cbb55ddb87453973fb8ce92cab15c1209ab2f5054",
"theme": "https://miscsubjects.com/article-theme.json",
"styling": {
"scope": "shared",
"theme_ref": "https://miscsubjects.com/article-theme.json"
},
"page": "https://miscsubjects.com/a/rigor-test-2026-11-05",
"json": "https://miscsubjects.com/a/rigor-test-2026-11-05.json",
"markdown": "https://miscsubjects.com/a/rigor-test-2026-11-05.md",
"calls": [
{
"what": "this article as a page (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/rigor-test-2026-11-05",
"headers": {}
},
{
"what": "this article as its object (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/rigor-test-2026-11-05.json",
"headers": {}
},
{
"what": "this article as Markdown (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/rigor-test-2026-11-05.md",
"headers": {}
},
{
"what": "the object with its hash, drafts too",
"method": "GET",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>"
}
},
{
"what": "one piece and that piece’s hash",
"method": "GET",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05/at?path=facts",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>"
}
},
{
"what": "grep: every key or value that matches, with the path to change it",
"method": "GET",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05/grep?q=owner",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>"
}
},
{
"what": "change pieces (set, merge, delete, append, insert, move); if-match is the hash",
"method": "PATCH",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>",
"content-type": "application/json",
"if-match": "<hash from the read>"
},
"body": {
"ops": [
{
"op": "set",
"path": "facts.example",
"value": 1
}
]
}
},
{
"what": "replace the whole object",
"method": "PUT",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>",
"content-type": "application/json",
"if-match": "<hash>"
},
"body": {
"slug": "rigor-test-2026-11-05",
"title": "…"
}
},
{
"what": "fetch every source, hash what came back and check the quote is in it",
"method": "POST",
"url": "https://miscsubjects.com/api/jarticles/rigor-test-2026-11-05/verify",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>",
"content-type": "application/json"
},
"body": {}
},
{
"what": "an Obsidian-style command",
"method": "POST",
"url": "https://miscsubjects.com/api/jarticles/cli",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>",
"content-type": "application/json"
},
"body": {
"command": "backlinks",
"file": "rigor-test-2026-11-05"
}
}
],
"entities": {
"rigor-test-2026-11-05": {
"id": "rigor-test-2026-11-05",
"label": "Rigor Test — epistemic convention proof",
"type": "test",
"page": "https://miscsubjects.com/a/rigor-test-2026-11-05",
"json": "https://miscsubjects.com/a/rigor-test-2026-11-05.json"
}
},
"relationships": {
"upward": {
"total": 0,
"offset": 0,
"limit": 50,
"items": [],
"next": null
},
"downward": {
"total": 0,
"offset": 0,
"limit": 50,
"items": [],
"next": null
},
"sideways": {
"total": 0,
"offset": 0,
"limit": 50,
"items": [],
"next": null
},
"references": {
"total": 0,
"offset": 0,
"limit": 50,
"items": [],
"next": null
},
"referenced_by": {
"total": 0,
"offset": 0,
"limit": 50,
"items": [],
"next": null
}
},
"hierarchy": {
"paths": [],
"order": "subject to parent to ancestor",
"complete": true,
"cycles": [],
"limits": {
"depth": 12,
"objects": 250
},
"unresolved_refs": []
},
"reference_contract": {
"canonical_id": "slug",
"entity_lookup": "entities[ref]; # resolves to this object via self_ref",
"self_ref": "rigor-test-2026-11-05",
"entity_fields": "page and json are canonical object links; source_url is the external source",
"directions": {
"upward": "Parents and collections containing this object; predicate distinguishes location from membership.",
"downward": "Objects naming this object as their parent, container or collection.",
"sideways": "Associations and objects sharing a direct parent.",
"references": "Objects referenced by this record.",
"referenced_by": "Published articles referencing this record."
},
"predicates": {
"part_of": "Declared parent hierarchy.",
"located_in": "Location asserted on this object.",
"associated_parcel": "Associated parcel, a separate object with its own jurisdiction and facts.",
"member_of": "Collection membership, not geographic containment.",
"included_in": "Editorial nesting, not geographic containment.",
"shares_parent": "Shares the identified parent; no other relationship is implied.",
"related_to": "An association with no more specific predicate recorded."
},
"scope": "Published article objects; Atlas inventories have their own counted, paged links. An association does not transfer facts or jurisdiction. An absent neighborhood means no neighborhood relationship is recorded."
},
"hash_spec": {
"algorithm": "sha256",
"encoding": "lowercase hexadecimal",
"scope": "stored record; hash is also the write concurrency token",
"included_keys": [
"claims",
"created",
"facts",
"kind",
"schema",
"slug",
"sources",
"status",
"title",
"type",
"updated",
"version"
],
"field_overrides": {
"schema": "jarticle/1"
},
"canonicalization": "Select included_keys from this response, apply field_overrides, recursively sort object keys using JavaScript Object.keys().sort(), retain array order, serialize primitives with JSON.stringify, join without whitespace, hash UTF-8 bytes.",
"updated_included": true,
"generated_fields": "All fields absent from included_keys are excluded. Relationship counts and theme references are generated and can change without changing the stored-record hash."
}
}