Task CRUD proof
Data
{ 5 keys
"state": "taken",
"spec": "Task CRUD proof",
"relations": [],
"unregistered_decoration": "Arbitrary task fact retained",
"inputs": { 1 key
"mobile_proof": "Saved on the existing task page"
{
"schema": "https://miscsubjects.com/schemas/jarticle.json",
"status": "published",
"slug": "graph-proof-task-20261105",
"title": "Task CRUD proof",
"kind": "task",
"visibility": "public",
"facts": {
"state": "taken",
"spec": "Task CRUD proof",
"relations": [],
"unregistered_decoration": "Arbitrary task fact retained",
"inputs": {
"mobile_proof": "Saved on the existing task page"
}
},
"body": [
{
"type": "json",
"ref": "#facts"
},
{
"type": "note",
"text": "Task presentation proof"
}
],
"type": "article",
"created": "2026-11-05T22:10:48.346Z",
"updated": "2026-11-05T22:26:48.860Z",
"version": 4,
"hash": "b62fd1ba0b1cd314e9d838cc4c8e5446f1e30c73a06a278d153a64663aae3703",
"theme": "https://miscsubjects.com/article-theme.json",
"styling": {
"scope": "shared",
"theme_ref": "https://miscsubjects.com/article-theme.json"
},
"page": "https://miscsubjects.com/a/graph-proof-task-20261105",
"json": "https://miscsubjects.com/a/graph-proof-task-20261105.json",
"markdown": "https://miscsubjects.com/a/graph-proof-task-20261105.md",
"calls": [
{
"what": "this article as a page (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/graph-proof-task-20261105",
"headers": {}
},
{
"what": "this article as its object (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/graph-proof-task-20261105.json",
"headers": {}
},
{
"what": "this article as Markdown (no key)",
"method": "GET",
"url": "https://miscsubjects.com/a/graph-proof-task-20261105.md",
"headers": {}
},
{
"what": "the object with its hash, drafts too",
"method": "GET",
"url": "https://miscsubjects.com/api/jarticles/graph-proof-task-20261105",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>"
}
},
{
"what": "one piece and that piece’s hash",
"method": "GET",
"url": "https://miscsubjects.com/api/jarticles/graph-proof-task-20261105/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/graph-proof-task-20261105/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/graph-proof-task-20261105",
"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/graph-proof-task-20261105",
"headers": {
"x-terminal-key": "<YOUR_TERMINAL_KEY>",
"content-type": "application/json",
"if-match": "<hash>"
},
"body": {
"slug": "graph-proof-task-20261105",
"title": "…"
}
},
{
"what": "fetch every source, hash what came back and check the quote is in it",
"method": "POST",
"url": "https://miscsubjects.com/api/jarticles/graph-proof-task-20261105/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": "graph-proof-task-20261105"
}
}
],
"entities": {
"graph-proof-task-20261105": {
"id": "graph-proof-task-20261105",
"label": "Task CRUD proof",
"type": "task",
"page": "https://miscsubjects.com/a/graph-proof-task-20261105",
"json": "https://miscsubjects.com/a/graph-proof-task-20261105.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": "graph-proof-task-20261105",
"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": [
"body",
"created",
"facts",
"kind",
"schema",
"slug",
"status",
"title",
"type",
"updated",
"version",
"visibility"
],
"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."
}
}