{
  "$schema": "https://wal.sh/static/schema/sponsored-onboarding-v1.json",
  "manifestVersion": "v1",
  "generatedAt": "2026-08-17T09:06:39+00:00",
  "corpus": {
    "index": "/static/search-index.json",
    "docCount": 852,
    "eligible": 841,
    "taxonomyFrom": "_id.split('/')[0]",
    "note": "_dir is a boolean in the index, not a taxonomy name"
  },
  "contract": {
    "spec": "sponsored-contract-v2",
    "unitKeys": [
      "id",
      "url",
      "title",
      "description",
      "taxonomy",
      "docLen",
      "matched",
      "advertiser",
      "creativeId"
    ],
    "generativeFields": [
      "plate"
    ],
    "nonGenerativeFields": [
      "title",
      "description",
      "body",
      "docLen",
      "url",
      "taxonomy",
      "advertiser"
    ],
    "note": "title/description are read verbatim from the index at render time. The 'expected' values below are V2 assertions, not editable copy."
  },
  "prompts": {
    "prompt:plate/research-engraving-a@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "research",
      "scope": "taxonomy",
      "target": "research",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A faux-antique anatomical engraving printed on aged foxed parchment: a fine ink cross-section of an abstract branching structure, thin hatched linework, small circular callout markers connected by hairlines to the margins, an ornamental ribbon banner scrolled across the top, sparse muted red accent marks at the branch tips, plate number in the corner",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A faux-antique anatomical engraving printed on aged foxed parchment: a fine ink cross-section of an abstract branching structure, thin hatched linework, small circular callout markers connected by hairlines to the margins, an ornamental ribbon banner scrolled across the top, sparse muted red accent marks at the branch tips, plate number in the corner. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/research-clipboard-b@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "research",
      "scope": "taxonomy",
      "target": "research",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A worn clipboard on a kitchen counter holding a dense printed table of rows and columns, one row ringed by hand in thick black marker, ballpoint pen resting across it, coffee ring soaked into the paper",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A worn clipboard on a kitchen counter holding a dense printed table of rows and columns, one row ringed by hand in thick black marker, ballpoint pen resting across it, coffee ring soaked into the paper. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/research-portrait-c@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "research",
      "scope": "taxonomy",
      "target": "research",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A studio portrait on a black seamless background, single soft key from camera left, an older person in a dark jacket holding a small unmarked object up between thumb and forefinger toward the lens, calm direct gaze, deep shadow filling the right third",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A studio portrait on a black seamless background, single soft key from camera left, an older person in a dark jacket holding a small unmarked object up between thumb and forefinger toward the lens, calm direct gaze, deep shadow filling the right third. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/tools-handsink-a@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "tools",
      "scope": "taxonomy",
      "target": "tools",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A close point-of-view shot of an open palm holding a small unmarked metal hand tool over a stainless kitchen sink, water droplets on the basin, dish rack crowding the edge of frame",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A close point-of-view shot of an open palm holding a small unmarked metal hand tool over a stainless kitchen sink, water droplets on the basin, dish rack crowding the edge of frame. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/tools-workbench-b@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "tools",
      "scope": "taxonomy",
      "target": "tools",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "An extreme close crop of a worn wooden workbench surface at a shallow angle, fine granular dust caught in the grain, a single unmarked metal instrument lying across it, hard even frontal light, far edge falling out of focus",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "An extreme close crop of a worn wooden workbench surface at a shallow angle, fine granular dust caught in the grain, a single unmarked metal instrument lying across it, hard even frontal light, far edge falling out of focus. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/current-strata-a@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "current",
      "scope": "taxonomy",
      "target": "current",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "Horizontal strata of varying thickness banded like sedimentary layers with irregular gaps, photographed head-on, mineral surface filling the frame",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "Horizontal strata of varying thickness banded like sedimentary layers with irregular gaps, photographed head-on, mineral surface filling the frame. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/current-split-b@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "current",
      "scope": "taxonomy",
      "target": "current",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A two-panel comparison image split by a hard vertical line: the same empty office interior on both sides, the left panel dim and underexposed with the lights off, the right panel bright and evenly lit, otherwise identical framing",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A two-panel comparison image split by a hard vertical line: the same empty office interior on both sides, the left panel dim and underexposed with the lights off, the right panel bright and evenly lit, otherwise identical framing. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/events-radial-a@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "events",
      "scope": "taxonomy",
      "target": "events",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "A faux-antique engraved plate on aged paper showing radial spokes from an off-centre origin crossed by concentric rings at uneven spacing, fine hatched shading, small numbered callout circles around the margin, ornamental corner flourishes, printed in one ink colour",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "A faux-antique engraved plate on aged paper showing radial spokes from an off-centre origin crossed by concentric rings at uneven spacing, fine hatched shading, small numbered callout circles around the margin, ornamental corner flourishes, printed in one ink colour. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:plate/events-hall-b@v1": {
      "kind": "image",
      "version": "v1",
      "taxonomy": "events",
      "scope": "taxonomy",
      "target": "events",
      "model": "x/flux2-klein:4b",
      "params": {
        "size": "1024x1024",
        "response_format": "b64_json"
      },
      "endpoint": "/v1/images/generations",
      "template": "{subject}. {style}. {negative}.",
      "subject": "An empty lecture hall photographed head-on from the lectern, rows of vacant tiered seating receding, harsh on-camera flash blowing out the front row and falling off hard toward the back",
      "style": "AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements",
      "negative": "No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood",
      "text": "An empty lecture hall photographed head-on from the lectern, rows of vacant tiered seating receding, harsh on-camera flash blowing out the front row and falling off hard toward the back. AI-generated stock imagery aesthetic, even diffuse lighting with no harsh shadows, slightly too clean and too symmetrical to be a real photograph, subject centred and filling the frame, no negative space, faint plastic sheen on surfaces, mild uncanny detail in hands, edges and repeated elements. No logos, no watermark, no brand marks, no recognisable person, no celebrity, no wound, no blood.",
      "acceptance": [
        "non-degenerate (>1 distinct value)",
        "<=20KB after crop",
        "colorspace Gray",
        "exact slot dimensions"
      ]
    },
    "prompt:tagline/technical@v1": {
      "kind": "text",
      "version": "v1",
      "scope": "document",
      "model": "qwen2.5-coder:7b-instruct-q4_K_M",
      "endpoint": "/api/generate",
      "params": {
        "temperature": 0.7,
        "num_predict": 40,
        "maxWords": 12,
        "stream": false
      },
      "text": "Write one inbound-link tagline of at most 12 words for a document.\nDo not restate the title. Do not make factual claims about it.\nOutput the tagline only - no quotes, no trailing punctuation.\n\nTitle: {title}\nSummary: {description}\nKeywords: {keywords}\n",
      "acceptance": [
        "<=12 words",
        "single line",
        "no markdown",
        "does not contain title verbatim",
        "cosine <0.90 vs accepted siblings (nomic-embed-text:v1.5)",
        "qwen3:0.6b gate: contains no factual claim -> yes"
      ],
      "renderStatus": "blocked until I10 lands in UNIT_KEYS"
    },
    "prompt:tagline/general@v1": {
      "kind": "text",
      "version": "v1",
      "scope": "document",
      "model": "llama3.2:latest",
      "endpoint": "/api/generate",
      "params": {
        "temperature": 0.7,
        "num_predict": 40,
        "maxWords": 12,
        "stream": false
      },
      "text": "Write one inbound-link tagline of at most 12 words for a document.\nDo not restate the title. Do not make factual claims about it.\nOutput the tagline only - no quotes, no trailing punctuation.\n\nTitle: {title}\nSummary: {description}\nKeywords: {keywords}\n",
      "acceptance": [
        "<=12 words",
        "single line",
        "no markdown",
        "does not contain title verbatim",
        "cosine <0.90 vs accepted siblings (nomic-embed-text:v1.5)",
        "qwen3:0.6b gate: contains no factual claim -> yes"
      ],
      "renderStatus": "blocked until I10 lands in UNIT_KEYS"
    }
  },
  "units": [
    {
      "unitId": "research/performance-engineering-tools",
      "taxonomy": "research",
      "url": "/research/performance-engineering-tools",
      "creativeId": "research-clipboard-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Performance Engineering Tools Reference"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Performance engineering tools mapped to Den Odell's 'Performance Engineering in Practice' (Manning): Lighthouse, k6, py-spy, eBPF, OpenTelemetry, web-vitals."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "performance engineering",
            "web performance",
            "profiling",
            "lighthouse",
            "webpack"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 4768
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-clipboard-b",
          "promptRef": "prompt:plate/research-clipboard-b@v1",
          "output": "static/img/sponsored/research-clipboard-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/performance-engineering-tools",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-performance-engineering-tools-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/org-mode-titles/cpr-head-1000",
      "taxonomy": "research",
      "url": "/research/org-mode-titles/cpr-head-1000",
      "creativeId": "research-engraving-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Critique of Pure Reason: Opening Sections"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Opening sections of Kant's Critique of Pure Reason covering the critical method, limits of speculative reason, and a priori knowledge."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "metaphysic",
            "epistemology",
            "reason",
            "transcendental idealism",
            "a priori knowledge"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 3906
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-engraving-a",
          "promptRef": "prompt:plate/research-engraving-a@v1",
          "output": "static/img/sponsored/research-engraving-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/org-mode-titles/cpr-head-1000",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-org-mode-titles-cpr-head-1000-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/2026-q2-cloudflare-agents",
      "taxonomy": "research",
      "url": "/research/2026-q2-cloudflare-agents",
      "creativeId": "research-portrait-c",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Cloudflare Agents Week 2026"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Notes on Cloudflare's Agents Week 2026 -- a full-stack rollout covering agent readiness, sandbox compute, memory, inference, networking, auth, and web infrastructure."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "cloudflare",
            "ai agent",
            "agents week",
            "agent readines",
            "mcp"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2754
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-portrait-c",
          "promptRef": "prompt:plate/research-portrait-c@v1",
          "output": "static/img/sponsored/research-portrait-c-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/2026-q2-cloudflare-agents",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-2026-q2-cloudflare-agents-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/agent-sandbox-practical-configs",
      "taxonomy": "research",
      "url": "/research/agent-sandbox-practical-configs",
      "creativeId": "research-clipboard-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Practical Agent Sandbox Configurations: FreeBSD Jails and macOS Seatbelt"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Tested configurations for sandboxing AI coding agents on FreeBSD 15.0 (Bastille jails, ZFS, pf, rctl) and macOS (Seatbelt, sandbox-runtime). WASM-based sandboxing: Deno permission model, wasmtime fuel limits, Pyodide, MicroPython WASM -- \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "freebsd",
            "jail",
            "bastille",
            "sandbox",
            "macos"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2704
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-clipboard-b",
          "promptRef": "prompt:plate/research-clipboard-b@v1",
          "output": "static/img/sponsored/research-clipboard-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/agent-sandbox-practical-configs",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-agent-sandbox-practical-configs-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/bots/compliance-spec",
      "taxonomy": "research",
      "url": "/research/bots/compliance-spec",
      "creativeId": "research-engraving-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Walsh-Research Bot Compliance Specification"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "A self-contained, implementation-agnostic specification for any tool acting under the Walsh-Research identity. Detailed enough to build, and self-verify, a conformant tool from this document and the URLs it names alone --- in any language, \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "bot",
            "crawler",
            "compliance",
            "robots.txt",
            "rfc9309"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2602
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-engraving-a",
          "promptRef": "prompt:plate/research-engraving-a@v1",
          "output": "static/img/sponsored/research-engraving-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/bots/compliance-spec",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-bots-compliance-spec-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/graphql",
      "taxonomy": "research",
      "url": "/research/graphql",
      "creativeId": "research-engraving-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "GraphQL: Schema, Operations, and Federation"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "GraphQL concepts: queries, mutations, subscriptions, the type system, selection sets, fragments, and federation across multiple subgraphs. Covers the current library landscape (Clojure, Python, Ruby), custom scalars, federation vs mesh, \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "graphql",
            "schema",
            "federation",
            "apollo",
            "lacinia"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2510
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-engraving-a",
          "promptRef": "prompt:plate/research-engraving-a@v1",
          "output": "static/img/sponsored/research-engraving-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/graphql",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-graphql-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/pocket-es/sip-ngram-research",
      "taxonomy": "research",
      "url": "/research/pocket-es/sip-ngram-research",
      "creativeId": "research-portrait-c",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "SIPs, N-grams, and Phrase Search for pocket-es"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Research report on Statistically Improbable Phrases, collocation detection, and n-gram indexing as a path to discriminative phrase search in a 628-document org-mode corpus."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "pocket-es",
            "bm25",
            "information-retrieval",
            "ngram",
            "phrase-search"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2483
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-portrait-c",
          "promptRef": "prompt:plate/research-portrait-c@v1",
          "output": "static/img/sponsored/research-portrait-c-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/pocket-es/sip-ngram-research",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-pocket-es-sip-ngram-research-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/2026-keyword-vocabulary-convergence/controlled-vocabulary-v1",
      "taxonomy": "research",
      "url": "/research/2026-keyword-vocabulary-convergence/controlled-vocabulary-v1",
      "creativeId": "research-clipboard-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Controlled Vocabulary v1 for wal.sh"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Recommended v1 controlled vocabulary for wal.sh -- 6 facets, 47 terms, migration strategy for 492 existing free-text keyword documents spanning 2012-2026."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "taxonomy",
            "controlled-vocabulary",
            "folksonomy",
            "information-retrieval",
            "org-mode"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2284
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-clipboard-b",
          "promptRef": "prompt:plate/research-clipboard-b@v1",
          "output": "static/img/sponsored/research-clipboard-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/2026-keyword-vocabulary-convergence/controlled-vocabulary-v1",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-2026-keyword-vocabulary-convergence-controlled-vocabulary-v1-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/latent-configuration-patterns",
      "taxonomy": "research",
      "url": "/research/latent-configuration-patterns",
      "creativeId": "research-engraving-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Latent Configuration: When Deploy != Activate"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "A postmortem on a 78-day dormant telegraf misconfiguration that activated during a FreeBSD 14.4 package upgrade and silently broke ADS-B data collection. Decomposes \"latent configuration\" as a failure mode (declared state \u2260 running state \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "latent-configuration",
            "gitop",
            "configuration-management",
            "dormant-misconfiguration",
            "telegraf"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 1994
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-engraving-a",
          "promptRef": "prompt:plate/research-engraving-a@v1",
          "output": "static/img/sponsored/research-engraving-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/latent-configuration-patterns",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-latent-configuration-patterns-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "research/2026-q2-cli-coding-agents",
      "taxonomy": "research",
      "url": "/research/2026-q2-cli-coding-agents",
      "creativeId": "research-portrait-c",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "CLI Coding Agents: 2026 Q2 Comparison"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Feature-surface comparison of six terminal-based AI coding agents in 2026 Q2 -- invocation, permissions, MCP, hooks, skills, memory, sandboxing, custom models."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "claude code",
            "copilot cli",
            "gemini cli",
            "codex cli",
            "kiro"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 1897
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "research-portrait-c",
          "promptRef": "prompt:plate/research-portrait-c@v1",
          "output": "static/img/sponsored/research-portrait-c-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:research/2026-q2-cli-coding-agents",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/research-2026-q2-cli-coding-agents-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "tools/crowsnest/spec",
      "taxonomy": "tools",
      "url": "/tools/crowsnest/spec",
      "creativeId": "tools-handsink-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "crowsnest v2.4 Specification"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "The crowsnest v2.4 specification -- a triad of reporter (formerly: client; emits sightings) \u2192 receiver (loopback :8127, holds the log) \u2192 dashboard (renders it). Defines the sighting record, the endpoints, the receiver's defensive rules, \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "crowsnest",
            "specification",
            "v2",
            "protocol",
            "sighting"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2467
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "tools-handsink-a",
          "promptRef": "prompt:plate/tools-handsink-a@v1",
          "output": "static/img/sponsored/tools-handsink-a-{slot}.png",
          "status": "generated"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:tools/crowsnest/spec",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/tools-crowsnest-spec-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "tools/crowsnest/spec-v3",
      "taxonomy": "tools",
      "url": "/tools/crowsnest/spec-v3",
      "creativeId": "tools-workbench-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "crowsnest v3: the headless DOM oracle"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "v3 of crowsnest adds a fourth role -- the *oracle* -- a headless process that consumes the read surface, folds the event stream into canonical state via a spec-derived reducer, projects to an expected semantic DOM, and asserts the live DOM \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "crowsnest",
            "specification",
            "v3",
            "oracle",
            "bombadil"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 1036
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "tools-workbench-b",
          "promptRef": "prompt:plate/tools-workbench-b@v1",
          "output": "static/img/sponsored/tools-workbench-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:tools/crowsnest/spec-v3",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/tools-crowsnest-spec-v3-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "tools/transform",
      "taxonomy": "tools",
      "url": "/tools/transform",
      "creativeId": "tools-workbench-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "transform"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Visual threading-macro pipeline for chained string transforms. Compose encode/decode steps like (-> input f1 f2 f3) and see every intermediate value."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "encoding",
            "threading",
            "pipeline",
            "transform",
            "clojurescript"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 179
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "tools-workbench-b",
          "promptRef": "prompt:plate/tools-workbench-b@v1",
          "output": "static/img/sponsored/tools-workbench-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:tools/transform",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/tools-transform-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "tools/gas-town-tla",
      "taxonomy": "tools",
      "url": "/tools/gas-town-tla",
      "creativeId": "tools-handsink-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Gas Town TLA+ Visualizer"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "An executable Clojure model of the Gas Town TLA+ spec -- worker agents, work units with dependencies, convoys, and a merge queue. Core-only; no UI yet."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "tla+",
            "formal method",
            "multi-agent",
            "orchestration",
            "clojurescript"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 155
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "tools-handsink-a",
          "promptRef": "prompt:plate/tools-handsink-a@v1",
          "output": "static/img/sponsored/tools-handsink-a-{slot}.png",
          "status": "generated"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:tools/gas-town-tla",
          "promptRef": "prompt:tagline/technical@v1",
          "output": "static/data/copy/tools-gas-town-tla-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "current/2026-07-24",
      "taxonomy": "current",
      "url": "/current/2026-07-24",
      "creativeId": "current-strata-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Morning Brief: Friday, July 24"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Black Forest Labs drops Flux 3 (multimodal flow beating Seedance 2.0/Gemini Omni/Grok Imagine) and Flux 3 X Mimic (video-action robotics). Fields Medals 2026 announced. Model-routing arms race."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "flux-3-multimodal-flow",
            "flux-3-mimic-video-action",
            "fields-medals-2026",
            "hong-wang-third-woman-field",
            "dueling-voice-update"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 3089
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "current-strata-a",
          "promptRef": "prompt:plate/current-strata-a@v1",
          "output": "static/img/sponsored/current-strata-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:current/2026-07-24",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/current-2026-07-24-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "current/2026-07-28",
      "taxonomy": "current",
      "url": "/current/2026-07-28",
      "creativeId": "current-split-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Morning Brief: Tuesday, July 28"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Open-weights debate crystallizes: Anthropic responds (\"tests, not bans\"); Dario Amodei doesn't oppose but fears Chinese AI. Claude shared chats + Artifacts leaked to Google's index."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "anthropic-open-weights-response",
            "dario-amodei-china-ai",
            "tns-tests-not-ban",
            "ainews-much-ado-open-weight",
            "claude-chats-leaked-google"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2618
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "current-split-b",
          "promptRef": "prompt:plate/current-split-b@v1",
          "output": "static/img/sponsored/current-split-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:current/2026-07-28",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/current-2026-07-28-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "current/2026-07-25",
      "taxonomy": "current",
      "url": "/current/2026-07-25",
      "creativeId": "current-strata-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Morning Brief: Saturday, July 25"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "Claude Opus 5 takes the whole page -- Fable-level at half Fable's price, #1 on Artificial Analysis leaderboard. UK AISI/CAISI publishes Kimi K3 cyber assessment. claude-code v2.1.220."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "claude-opus-5",
            "opus-5-fable-half-price",
            "opus-5-anthropic",
            "opus-5-artificial-analysis-1",
            "opus-5-vercel-ai-gateway"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2532
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "current-strata-a",
          "promptRef": "prompt:plate/current-strata-a@v1",
          "output": "static/img/sponsored/current-strata-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:current/2026-07-25",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/current-2026-07-25-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "events/velocity-2011",
      "taxonomy": "events",
      "url": "/events/velocity-2011",
      "creativeId": "events-hall-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "Velocity 2011"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "O'Reilly conference."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "performance",
            "webdev",
            "ops",
            "devop",
            "browser"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 3653
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "events-hall-b",
          "promptRef": "prompt:plate/events-hall-b@v1",
          "output": "static/img/sponsored/events-hall-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:events/velocity-2011",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/events-velocity-2011-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "events/agntcon-mcpcon-na/2026",
      "taxonomy": "events",
      "url": "/events/agntcon-mcpcon-na/2026",
      "creativeId": "events-radial-a",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "AGNTCon + MCPCon North America 2026"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "AGNTCon + MCPCon North America 2026, October 22-23, San Jose: the Linux Foundation's co-located agent and Model Context Protocol conferences. 163 sessions, 164 speakers; keynotes from Anthropic's David Soria Parra, Dawn Song, Tim O'Reilly, \u2026"
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "agntcon",
            "mcpcon",
            "model context protocol",
            "mcp",
            "ai agent"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 3124
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "events-radial-a",
          "promptRef": "prompt:plate/events-radial-a@v1",
          "output": "static/img/sponsored/events-radial-a-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:events/agntcon-mcpcon-na/2026",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/events-agntcon-mcpcon-na-2026-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    },
    {
      "unitId": "events/jquery-san-francisco-2011",
      "taxonomy": "events",
      "url": "/events/jquery-san-francisco-2011",
      "creativeId": "events-hall-b",
      "creativeVersion": "v1",
      "status": "placeholder",
      "fields": {
        "title": {
          "source": "index",
          "indexField": "title",
          "prompt": null,
          "expected": "jQuery Conference: San Francisco Bay Area 2011"
        },
        "description": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "expected": "jQuery Conference San Francisco Bay Area 2011 -- mobile web, pushState, templating, and jQuery UI."
        },
        "body": {
          "source": "index",
          "indexField": "description",
          "prompt": null,
          "note": "card body is the truncated description; there is no separate body"
        },
        "matched": {
          "source": "auction",
          "prompt": null,
          "candidates": [
            "jquery",
            "javascript",
            "conference",
            "mobile-web",
            "backbone"
          ]
        },
        "docLen": {
          "source": "index",
          "indexField": "doc_len",
          "expected": 2266
        },
        "advertiser": {
          "source": "literal",
          "value": "wal.sh"
        },
        "plate": {
          "source": "asset",
          "assetId": "events-hall-b",
          "promptRef": "prompt:plate/events-hall-b@v1",
          "output": "static/img/sponsored/events-hall-b-{slot}.png",
          "status": "pending"
        },
        "mark": {
          "source": "derived",
          "fn": "_srMarks.svg(unitId)",
          "prompt": null
        },
        "tagline": {
          "source": "asset",
          "assetId": "tagline:events/jquery-san-francisco-2011",
          "promptRef": "prompt:tagline/general@v1",
          "output": "static/data/copy/events-jquery-san-francisco-2011-tagline.txt",
          "status": "blocked",
          "blockedBy": "I10 not yet in UNIT_KEYS \u2014 generate, do not render"
        }
      }
    }
  ],
  "gates": [
    "node bin/check-inventory.mjs",
    "node bin/check-contract.mjs",
    "node bin/plan-assets.mjs",
    "node bin/run-assets.mjs --owner agent-1",
    "node bin/check-plates.mjs"
  ]
}