{
  "schema": "https://miscsubjects.com/schemas/jarticle.json",
  "status": "published",
  "slug": "cyrus-facebook-post-20261104-1",
  "title": "This post exists.",
  "kind": "social_post",
  "facts": {
    "widget": "social_post",
    "platform": "facebook",
    "platform_id": "pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl",
    "url": "https://www.facebook.com/cyrus.massoumi.902/posts/pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl",
    "text": "This post exists.",
    "account_ref": "cyrus-massoumi-facebook",
    "author_name": "Cyrus Massoumi",
    "handle": "cyrus.massoumi.902",
    "published_at": "2026-11-04T16:01:00-08:00",
    "timestamp_precision": "minute",
    "timestamp_basis": "Visible Facebook date tooltip; seconds unspecified",
    "observed_at": "2026-11-05T00:22:13.412Z",
    "relations": [
      {
        "ref": "cyrus-massoumi-facebook",
        "predicate": "posted_by",
        "label": "Author account",
        "evidence": {
          "type": "source_observation",
          "url": "https://www.facebook.com/cyrus.massoumi.902/posts/pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl",
          "quote": "This post exists.",
          "observed_at": "2026-11-05T00:22:13.412Z"
        }
      }
    ]
  },
  "body": [
    {
      "type": "entity",
      "ref": "#"
    }
  ],
  "tags": [
    "social-post",
    "post:facebook"
  ],
  "sources": [
    {
      "id": "s1",
      "url": "https://www.facebook.com/cyrus.massoumi.902/posts/pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl",
      "title": "facebook post",
      "quote": "This post exists.",
      "observed_at": "2026-11-05T00:22:13.412Z",
      "quote_sha256": "36d0aed26ad086ef26e384ca8d17ac76da18f3915255450552758a75b52d0798"
    }
  ],
  "type": "article",
  "created": "2026-11-05T00:24:42.198Z",
  "updated": "2026-11-05T00:24:42.198Z",
  "version": 1,
  "hash": "1bada7acfca8ca462520ef8e45627dee33a53d1deb9f67cfc244b44709c0e9fe",
  "theme": "https://miscsubjects.com/article-theme.json",
  "styling": {
    "scope": "shared",
    "theme_ref": "https://miscsubjects.com/article-theme.json"
  },
  "page": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1",
  "json": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1.json",
  "markdown": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1.md",
  "calls": [
    {
      "what": "this article as a page (no key)",
      "method": "GET",
      "url": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1",
      "headers": {}
    },
    {
      "what": "this article as its object (no key)",
      "method": "GET",
      "url": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1.json",
      "headers": {}
    },
    {
      "what": "this article as Markdown (no key)",
      "method": "GET",
      "url": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1.md",
      "headers": {}
    },
    {
      "what": "the object with its hash, drafts too",
      "method": "GET",
      "url": "https://miscsubjects.com/api/jarticles/cyrus-facebook-post-20261104-1",
      "headers": {
        "x-terminal-key": "<YOUR_TERMINAL_KEY>"
      }
    },
    {
      "what": "one piece and that piece’s hash",
      "method": "GET",
      "url": "https://miscsubjects.com/api/jarticles/cyrus-facebook-post-20261104-1/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/cyrus-facebook-post-20261104-1/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/cyrus-facebook-post-20261104-1",
      "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/cyrus-facebook-post-20261104-1",
      "headers": {
        "x-terminal-key": "<YOUR_TERMINAL_KEY>",
        "content-type": "application/json",
        "if-match": "<hash>"
      },
      "body": {
        "slug": "cyrus-facebook-post-20261104-1",
        "title": "…"
      }
    },
    {
      "what": "fetch every source, hash what came back and check the quote is in it",
      "method": "POST",
      "url": "https://miscsubjects.com/api/jarticles/cyrus-facebook-post-20261104-1/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": "cyrus-facebook-post-20261104-1"
      }
    }
  ],
  "entities": {
    "cyrus-facebook-post-20261104-1": {
      "id": "cyrus-facebook-post-20261104-1",
      "label": "This post exists.",
      "type": "social_post",
      "page": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1",
      "json": "https://miscsubjects.com/a/cyrus-facebook-post-20261104-1.json",
      "source_url": "https://www.facebook.com/cyrus.massoumi.902/posts/pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl"
    },
    "cyrus-massoumi-facebook": {
      "id": "cyrus-massoumi-facebook",
      "label": "Cyrus Massoumi · Facebook",
      "type": "social_profile",
      "page": "https://miscsubjects.com/a/cyrus-massoumi-facebook",
      "json": "https://miscsubjects.com/a/cyrus-massoumi-facebook.json",
      "source_url": "https://www.facebook.com/cyrus.massoumi.902"
    }
  },
  "relationships": {
    "upward": {
      "total": 0,
      "offset": 0,
      "limit": 50,
      "items": [],
      "next": null
    },
    "downward": {
      "total": 0,
      "offset": 0,
      "limit": 50,
      "items": [],
      "next": null
    },
    "sideways": {
      "total": 1,
      "offset": 0,
      "limit": 50,
      "items": [
        {
          "subject": "cyrus-facebook-post-20261104-1",
          "predicate": "posted_by",
          "object": "cyrus-massoumi-facebook",
          "asserted_by": "cyrus-facebook-post-20261104-1",
          "asserted_at": "facts.relations",
          "evidence": {
            "type": "source_observation",
            "url": "https://www.facebook.com/cyrus.massoumi.902/posts/pfbid0PwcC7bdvDBS5aKJHbWtZSwPz5L5pUqAieEVWN8pjk8sfjJvAmVcCBjD5XLEH997Jl",
            "quote": "This post exists.",
            "observed_at": "2026-11-05T00:22:13.412Z"
          },
          "valid_from": null,
          "valid_to": null,
          "temporal_scope": null,
          "as_of": null,
          "inverse_predicate": null,
          "source_json": "/a/cyrus-facebook-post-20261104-1.json",
          "ref": "cyrus-massoumi-facebook"
        }
      ],
      "next": null
    },
    "references": {
      "total": 1,
      "offset": 0,
      "limit": 50,
      "items": [
        {
          "ref": "cyrus-massoumi-facebook",
          "predicate": "references",
          "subject": "cyrus-facebook-post-20261104-1",
          "object": "cyrus-massoumi-facebook"
        }
      ],
      "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": "cyrus-facebook-post-20261104-1",
    "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",
      "sources",
      "status",
      "tags",
      "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."
  }
}