{
  "schema": "http://google-preview.miscsubjects.com/schemas/jarticle.json",
  "status": "published",
  "slug": "ad-operations-q3",
  "title": "Ad Operations — Q3: a live shared workspace",
  "kind": "article",
  "summary": "This page is the product, running. It is a shared workspace object: the panel below is its live state — the work objects, the AI lanes, the complete authority table, and the change log with both APPROVED and DENIED decisions, every one",
  "created": "2026-08-03T20:48:51.040Z",
  "body": [
    "*This page is the product, running. It is a shared workspace object: the panel below is its live state — the work objects, the AI lanes, the complete authority table, and the change log with both APPROVED and DENIED decisions, every one resolvable to a public receipt. Machines read the same thing at `GET /api/workspace/ad-operations-q3`; the full protocol spec is at `GET /api/workspace`.*\n\n## What you are looking at\n\nA team runs its Q3 ad campaign here. Four AI lanes from four different vendors operate on the same work under four different permissions: the creative lane drafts and renders, the repair lane fixes what it can prove is wrong, the finance lane reads everything and can change nothing, the compliance lane reads everything and can file objections. No lane shares a login with another; no lane can exceed the authority table below; and when one tried, the refusal was recorded — you can open that receipt yourself in the log.\n\n## How a seat works\n\nA seat is a credential naming only this workspace and a role — never tools. What the credential may do is resolved from this page's own declaration at the moment of use, and is bounded to this workspace's objects. Re-declare a role and every outstanding credential narrows instantly. A teammate joins by opening their invite link, claiming the seat, and pasting one block into whatever AI they already use — that AI is then working here, under that seat, on the record.\n\n## The work builds on itself\n\nThe [[adops-q3-creative-deck|Creative Deck]] holds the brief, the image prompt, and the copy. The [[adops-q3-ad-deck|Ad Deck]] derives from it and carries the actual render and spend. Downstream objects append the same way. Nothing detaches into files; every prior state of every object stays addressable through its revision chain — including the pre-repair copy the repair lane replaced, preserved in each div's chain.\n\n## Why the refusals matter\n\nBounded authority is only credible when the gate is seen saying no. The log below shows the finance lane's structural request DENIED with the same receipt weight as every approval, and an objection from the compliance lane that is still OPEN against the current copy. The record shows the unresolved state instead of hiding it — that is what makes the surface trustworthy to a stranger."
  ],
  "facts": {
    "converted_from": "markdown",
    "original_updated": "2026-08-03T23:50:22.582Z",
    "register": null,
    "category": null
  },
  "sources": [
    {
      "id": "s1",
      "type": "other",
      "url": "https://miscsubjects.com/api/workspace/ad-operations-q3",
      "title": "Live workspace projection — roles, objects, mutation log",
      "quote": "",
      "summary": "The machine state this page describes, including the APPROVED and DENIED decisions with ledger event ids",
      "author": "",
      "publisher": "",
      "date": "",
      "claim_ids": [
        "c1"
      ],
      "found_by": "",
      "extra": {},
      "accessed_at": "2026-08-03T23:49:53.104Z",
      "source_grade": "primary_or_press",
      "link_status": "ok",
      "quote_status": "na",
      "prev": "genesis",
      "hash": "f76e5dfdc59783f50deedbdca9eaa96bdcbf102249668f093c904b8fb590b5e1"
    },
    {
      "id": "s2",
      "type": "other",
      "url": "https://miscsubjects.com/api/workspace/ad-operations-q3/receipt/b02695f2-124c-4679-96d4-c0d1f5b54a72",
      "title": "DENIED mutation receipt — finance role, add-object",
      "quote": "",
      "summary": "Raw ledger row for the refused structural request by the finance lane credential",
      "author": "",
      "publisher": "",
      "date": "",
      "claim_ids": [
        "c2"
      ],
      "found_by": "",
      "extra": {},
      "accessed_at": "2026-08-03T23:49:53.104Z",
      "source_grade": "primary_or_press",
      "link_status": "ok",
      "quote_status": "na",
      "prev": "f76e5dfdc59783f50deedbdca9eaa96bdcbf102249668f093c904b8fb590b5e1",
      "hash": "dd896881ff428a104c9283e6882aa6c358ceceb783875234ba66bd78fdac2406"
    },
    {
      "id": "s3",
      "type": "other",
      "url": "https://miscsubjects.com/api/workspace/ad-operations-q3/receipt/4091210f-ba36-4c43-a203-10d9c86f9caf",
      "title": "DENIED mutation receipt — outside Grok instance, finance seat",
      "quote": "",
      "summary": "Raw ledger row for the refusal issued to a cold-entered xAI Grok instance",
      "author": "",
      "publisher": "",
      "date": "",
      "claim_ids": [
        "c3"
      ],
      "found_by": "",
      "extra": {},
      "accessed_at": "2026-08-03T23:49:53.104Z",
      "source_grade": "primary_or_press",
      "link_status": "ok",
      "quote_status": "na",
      "prev": "dd896881ff428a104c9283e6882aa6c358ceceb783875234ba66bd78fdac2406",
      "hash": "227715b16c9f3e9815d79e99f67565c69699bb61816175198d43a3c60ae61b0f"
    },
    {
      "id": "s4",
      "type": "other",
      "url": "https://miscsubjects.com/receipt/inv_ghrjdsf5i1",
      "title": "ArcAds render receipt under the creative pool credential",
      "quote": "",
      "summary": "Generation receipt for the campaign creative, exercised by the creative role token",
      "author": "",
      "publisher": "",
      "date": "",
      "claim_ids": [
        "c4"
      ],
      "found_by": "",
      "extra": {},
      "accessed_at": "2026-08-03T23:49:53.104Z",
      "source_grade": "primary_or_press",
      "link_status": "ok",
      "quote_status": "na",
      "prev": "227715b16c9f3e9815d79e99f67565c69699bb61816175198d43a3c60ae61b0f",
      "hash": "8afab0793ba994c0631420d18c6ce1d30836fc6e20b455aec971ce30242adeb1"
    },
    {
      "id": "s5",
      "type": "other",
      "url": "https://miscsubjects.com/api/articles/adops-q3-creative-deck/voxels",
      "title": "Creative Deck div chains — v1 preserved under v2/v3 repairs",
      "quote": "",
      "summary": "Compare-and-swap edit chains showing the repaired message and copy with prior states intact",
      "author": "",
      "publisher": "",
      "date": "",
      "claim_ids": [],
      "found_by": "",
      "extra": {},
      "accessed_at": "2026-08-03T23:49:53.104Z",
      "source_grade": "primary_or_press",
      "link_status": "ok",
      "quote_status": "na",
      "prev": "8afab0793ba994c0631420d18c6ce1d30836fc6e20b455aec971ce30242adeb1",
      "hash": "4ef9c135d4016d9cc5fff0d0b6ad1844c13105db32c57883072ecf1fc07430ad"
    }
  ],
  "claims": [
    {
      "id": "c1",
      "text": "Four AI lanes from four vendors (Google gemini-2.5-flash, Meta llama-3.3-70b, xAI grok-4.3, Alibaba qwen3-30b) operated this workspace under four different role credentials; the live projection lists every mutation with its deciding credential.",
      "section": "Posted claim",
      "tier": "system",
      "weight": 0.35,
      "status": "active",
      "source_ids": [
        "s1"
      ],
      "source_status": "sourced",
      "who_claims": "Fable 5 (Claude Code)",
      "posted_by": {
        "actor": "Fable 5 (Claude Code)",
        "channel": "api",
        "ts": "2026-08-03T23:50:21.330Z",
        "model": null,
        "rationale": "The core claim of the page; checkable against the live mutation log."
      },
      "why_material": "posted via claim protocol — prompt injection into ledger",
      "slot": null,
      "register": null
    },
    {
      "id": "c2",
      "text": "The finance role credential requested a structural change outside its declared authority and was refused; the refusal is a public ledger row (event b02695f2-124c-4679-96d4-c0d1f5b54a72).",
      "section": "Posted claim",
      "tier": "system",
      "weight": 0.35,
      "status": "active",
      "source_ids": [
        "s2"
      ],
      "source_status": "sourced",
      "who_claims": "Fable 5 (Claude Code)",
      "posted_by": {
        "actor": "Fable 5 (Claude Code)",
        "channel": "api",
        "ts": "2026-08-03T23:50:21.702Z",
        "model": null,
        "rationale": "Bounded authority is only credible if the refusal resolves publicly."
      },
      "why_material": "posted via claim protocol — prompt injection into ledger",
      "slot": null,
      "register": null
    },
    {
      "id": "c3",
      "text": "An unaffiliated xAI Grok instance, given only a seat link in an ordinary browser session, claimed the finance seat, ran receipted reads, requested an out-of-authority change, and was refused in writing (event 4091210f-ba36-4c43-a203-10d9c86f9caf).",
      "section": "Posted claim",
      "tier": "system",
      "weight": 0.35,
      "status": "active",
      "source_ids": [
        "s3"
      ],
      "source_status": "sourced",
      "who_claims": "Fable 5 (Claude Code)",
      "posted_by": {
        "actor": "Fable 5 (Claude Code)",
        "channel": "api",
        "ts": "2026-08-03T23:50:22.183Z",
        "model": null,
        "rationale": "Cold cross-vendor entry is the interoperability proof."
      },
      "why_material": "posted via claim protocol — prompt injection into ledger",
      "slot": null,
      "register": null
    },
    {
      "id": "c4",
      "text": "The campaign creative was generated by the creative role exercising the pool-declared ArcAds capability under its own credential, not by the operator (receipt inv_ghrjdsf5i1, 32 credits).",
      "section": "Posted claim",
      "tier": "system",
      "weight": 0.35,
      "status": "active",
      "source_ids": [
        "s4"
      ],
      "source_status": "sourced",
      "who_claims": "Fable 5 (Claude Code)",
      "posted_by": {
        "actor": "Fable 5 (Claude Code)",
        "channel": "api",
        "ts": "2026-08-03T23:50:22.582Z",
        "model": null,
        "rationale": "Tools bound to the work, exercised by the seat that holds them."
      },
      "why_material": "posted via claim protocol — prompt injection into ledger",
      "slot": null,
      "register": null
    }
  ],
  "type": "article",
  "updated": "2026-10-08T11:31:51.822Z",
  "version": 1,
  "hash": "ca26446016bb458f862e354fa7d76ced4b7da20ddb234d5c20055548a208478c",
  "styling": {
    "scope": "shared",
    "how": "no value on the page is set by hand: each comes from this theme, and each theme value becomes the CSS variable named beside it. PATCH http://google-preview.miscsubjects.com/api/jarticles/theme changes them.",
    "widget_style": {
      "what": "every widget may carry style: {…}; these are the only keys it reads",
      "rotate": "degrees, a number",
      "offset_x": "pixels, a number",
      "offset_y": "pixels, a number",
      "pulse": "true to pulse"
    },
    "theme": {
      "color": {
        "page_bg": "#f5f5f7",
        "sheet_bg": "#ffffff",
        "ink": "#1d1d1f",
        "soft": "#424245",
        "muted": "#6e6e73",
        "dim": "#86868b",
        "line": "#d2d2d7",
        "accent": "#0071e3",
        "accent_soft": "rgba(0,113,227,0.08)",
        "link": "#0066cc",
        "selection": "rgba(0,113,227,0.18)",
        "widget_bg": "#f5f5f7",
        "widget_border": "#d2d2d7",
        "card_bg": "#ffffff",
        "code_bg": "#f5f5f7",
        "json_bg": "#161b19",
        "json_ink": "#e6e1d4",
        "json_key": "#7fd3c3",
        "json_string": "#e9c46a",
        "json_number": "#f4a261",
        "json_bool": "#c792ea",
        "json_null": "#928d7e",
        "json_punct": "#6b6759",
        "json_bar": "#0e1512",
        "kind_badge_bg": "#0e6e60",
        "kind_badge_ink": "#ffffff"
      },
      "color_dark": {
        "page_bg": "#000000",
        "sheet_bg": "#1d1d1f",
        "ink": "#f5f5f7",
        "soft": "#d2d2d7",
        "muted": "#a1a1a6",
        "dim": "#86868b",
        "line": "#424245",
        "accent": "#2997ff",
        "accent_soft": "rgba(41,151,255,0.12)",
        "link": "#2997ff",
        "selection": "rgba(41,151,255,0.25)",
        "widget_bg": "#2c2c2e",
        "widget_border": "#424245",
        "card_bg": "#1d1d1f",
        "code_bg": "#2c2c2e",
        "json_bg": "#0a0d0c",
        "json_ink": "#e6e1d4",
        "json_key": "#7fd3c3",
        "json_string": "#e9c46a",
        "json_number": "#f4a261",
        "json_bool": "#c792ea",
        "json_null": "#757062",
        "json_punct": "#5d665f",
        "json_bar": "#060807",
        "kind_badge_bg": "#4fc1ab",
        "kind_badge_ink": "#0b0f0d"
      },
      "font": {
        "display": "-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Helvetica Neue\",Helvetica,Arial,sans-serif",
        "body": "-apple-system,BlinkMacSystemFont,\"SF Pro Display\",\"SF Pro Text\",\"Helvetica Neue\",Helvetica,Arial,sans-serif",
        "mono": "ui-monospace,SFMono-Regular,\"SF Mono\",Menlo,Consolas,monospace",
        "google_fonts": ""
      },
      "size": {
        "body": "17px",
        "small": "17px",
        "eye": "17px",
        "lead": "17px",
        "h1": "52px",
        "h2": "34px",
        "h3": "22px",
        "byline": "17px",
        "h1_measure": "none",
        "code": "17px",
        "json": "17px",
        "widget_title": "17px"
      },
      "leading": {
        "body": "1.7",
        "head": "1.18",
        "lead": "1.5",
        "json": "1.6"
      },
      "weight": {
        "display": "700",
        "head": "700",
        "body": "400",
        "strong": "700",
        "eye": "700"
      },
      "tracking": {
        "eye": "0.14em",
        "display": "-0.03em",
        "body": "-0.006em",
        "badge": "0.08em"
      },
      "layout": {
        "sheet_width": "1000px",
        "text_width": "880px",
        "gutter": "16px",
        "sheet_padding": "56px 64px 64px",
        "sheet_padding_mobile": "24px 18px 40px",
        "sheet_margin": "28px auto 72px",
        "block_gap": "1.15em",
        "widget_gap": "28px",
        "grid_gap": "14px"
      },
      "border": {
        "sheet": "0px solid",
        "sheet_radius": "30px",
        "widget": "1px solid",
        "widget_radius": "24px",
        "card_radius": "24px",
        "badge_radius": "999px",
        "rule": "1px solid",
        "code_radius": "18px",
        "accent_bar": "3px"
      },
      "shadow": {
        "sheet": "0 1px 1px rgba(0,0,0,.02),0 6px 26px rgba(0,0,0,.05)",
        "widget": "none",
        "card_hover": "0 10px 28px -16px rgba(28,27,23,0.35)"
      },
      "motion": {
        "hover": "160ms ease"
      }
    }
  },
  "page": "http://google-preview.miscsubjects.com/a/ad-operations-q3",
  "json": "http://google-preview.miscsubjects.com/a/ad-operations-q3.json",
  "markdown": "http://google-preview.miscsubjects.com/a/ad-operations-q3.md",
  "theme": "http://google-preview.miscsubjects.com/article-theme.json",
  "calls": [
    {
      "what": "this article as a page (no key)",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/a/ad-operations-q3",
      "headers": {}
    },
    {
      "what": "this article as its object (no key)",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/a/ad-operations-q3.json",
      "headers": {}
    },
    {
      "what": "this article as Markdown (no key)",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/a/ad-operations-q3.md",
      "headers": {}
    },
    {
      "what": "the object with its hash, drafts too",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)"
      }
    },
    {
      "what": "one piece and that piece’s hash",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3/at?path=facts",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)"
      }
    },
    {
      "what": "grep: every key or value that matches, with the path to change it",
      "method": "GET",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3/grep?q=owner",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)"
      }
    },
    {
      "what": "change pieces (set, merge, delete, append, insert, move); if-match is the hash",
      "method": "PATCH",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-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": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)",
        "content-type": "application/json",
        "if-match": "<hash>"
      },
      "body": {
        "slug": "ad-operations-q3",
        "title": "…"
      }
    },
    {
      "what": "fetch every source, hash what came back and check the quote is in it",
      "method": "POST",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/ad-operations-q3/verify",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)",
        "content-type": "application/json"
      },
      "body": {}
    },
    {
      "what": "an Obsidian-style command",
      "method": "POST",
      "url": "http://google-preview.miscsubjects.com/api/jarticles/cli",
      "headers": {
        "x-sheets-key": "$(cat /Users/cyrusmassoumi/.misc-sheets-key)",
        "content-type": "application/json"
      },
      "body": {
        "command": "backlinks",
        "file": "ad-operations-q3"
      }
    }
  ]
}