{
  "_ai_door": {
    "see": "https://miscsubjects.com/start",
    "note": "Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."
  },
  "_self": {
    "schema": "miscsubjects/work-object/1",
    "what": "The canonical operating object of this build. Every task, rule, acceptance test, piece of evidence and failure lives here. Markdown files in the repository are pointers to this object and carry no authority.",
    "human_projection": "https://miscsubjects.com/a/the-work-object",
    "machine_projection": "https://miscsubjects.com/api/work",
    "bootstrap": "https://miscsubjects.com/api/work/bootstrap",
    "append_only": "work_actions is hash-chained; nothing is updated or deleted. A correction appends a revision that names what it supersedes."
  },
  "objective": "Operate and improve miscsubjects.com through leased task objects whose completion is decided by the infrastructure, never by an agent's claim.",
  "state_machine": {
    "states": [
      "open",
      "leased",
      "in_progress",
      "evidence_submitted",
      "accepted",
      "refused",
      "failed",
      "repair_required",
      "completed",
      "superseded"
    ],
    "transitions": {
      "open": [
        "leased",
        "superseded"
      ],
      "leased": [
        "in_progress",
        "evidence_submitted",
        "failed",
        "open"
      ],
      "in_progress": [
        "evidence_submitted",
        "failed",
        "open"
      ],
      "evidence_submitted": [
        "accepted",
        "refused",
        "failed"
      ],
      "accepted": [
        "completed",
        "repair_required"
      ],
      "refused": [
        "open",
        "leased",
        "failed",
        "superseded"
      ],
      "failed": [
        "repair_required",
        "open",
        "superseded"
      ],
      "repair_required": [
        "open",
        "leased",
        "superseded"
      ],
      "completed": [
        "repair_required"
      ],
      "superseded": []
    },
    "lease_seconds": 3600
  },
  "counts": {
    "open": 43,
    "leased": 0,
    "in_progress": 0,
    "evidence_submitted": 0,
    "accepted": 0,
    "refused": 0,
    "failed": 0,
    "repair_required": 0,
    "completed": 13,
    "superseded": 1
  },
  "next_eligible_action": {
    "lease": "https://miscsubjects.com/api/work/lease",
    "task_id": "WF-0001",
    "objective": "Repair: acceptance test that can never pass — a contains/not_contains test matched the whole HTTP response, so a needle that appears in the shared stylesheet failed every article page regardless of the articl",
    "priority": 1
  },
  "governing_invariants": [
    {
      "key": "DEPLOY_ONLY_THROUGH_THE_GATE",
      "level": "mutable",
      "category": "architecture",
      "rule": "Production deploys run through scripts/ship.mjs, which holds the deploy lease, applies migrations, smoke-tests a preview, promotes, then runs every post-promotion law gate. A hand-run deploy skips all of it.",
      "why": "The gates are the only thing standing between a defect and every reader."
    },
    {
      "key": "SEARCH_BEFORE_BUILD",
      "level": "mutable",
      "category": "architecture",
      "rule": "Before creating any page, route, table or file for a named feature, search the whole repository for that name and its variants. 'Add to X' means X already exists.",
      "why": "Parallel systems are worse than the defect they were built to fix."
    },
    {
      "key": "ABSENCE_IS_A_ROW_NOT_THE_THESIS",
      "level": "mutable",
      "category": "content",
      "rule": "Missing human evidence is one row in the evidence table, never the opening of the page. Organise on what is known, strongest first.",
      "why": "Leading with an absence produces a page that helps nobody."
    },
    {
      "key": "ANECDOTAL_EVIDENCE_IS_COUNTED",
      "level": "mutable",
      "category": "content",
      "rule": "Self-reported evidence is gathered exhaustively and counted with its denominator: how many reported benefit, how many nothing, how many harm, out of how many reports. Negative reports carry equal prominence.",
      "why": "The counted record is the reason the corpus exists; suppressing it because it is not a trial is the failure."
    },
    {
      "key": "AUTHORED_PROSE_OVERRIDES_COMPOSER",
      "level": "mutable",
      "category": "content",
      "rule": "A stored article body of 2,000 characters or more with two or more of its own headings renders as written. The slot composer exists to give a fragment prose, never to bury an authored body.",
      "why": "448 pages held prose no reader ever saw until the render decision in functions/a/[slug].js was fixed; scripts/check-authored-render.mjs gates it."
    },
    {
      "key": "CHECKER_INDEPENDENCE",
      "level": "mutable",
      "category": "content",
      "rule": "Verification passes on a claim run on a different model family than the claim author, logged per claim as checked_by. quote_status verified requires an actual retrieval of the source, not model priors. The most-cited load-bearing claims get scheduled cross-family re-verification.",
      "why": "Owner brief 2026-07-24: self-authored self-verified claims are the sealed-canon failure mode; independence must be structural."
    },
    {
      "key": "LAW_104",
      "level": "mutable",
      "category": "content",
      "rule": "Peptide articles must cite internal pages before external sources.",
      "why": "Consistency and accuracy."
    },
    {
      "key": "ONE_OBJECT_PER_ARTICLE",
      "level": "mutable",
      "category": "content",
      "rule": "An article whose slug names one object carries only that object's frame in its title and section headings. Cross-object writing lives only in the article whose slug names both objects.",
      "why": "Enforced server-side in functions/_lib/one_object_guard.js on PUT and PATCH, swept by scripts/check-one-object.mjs in the deploy chain, pinned by functions/_lib/one_object_guard.test.mjs."
    },
    {
      "key": "REFERENCE_FIRST",
      "level": "mutable",
      "category": "content",
      "rule": "A comparison or positioning article is invalid if any external system it names lacks a standalone reference article on the site. Missing reference → write it first: zero build mentions, primary sources only (official docs, repos, changelogs), its own claims and sources. The comparison cites the reference articles.",
      "why": "Owner 2026-07-24: \"is it langchain\" assumed context; a comparison that carries its own thin context is self-claims wearing borrowed citations. Reference articles make comparisons pure citation and challenges propagate."
    },
    {
      "key": "SELF_CLAIM_SOURCE",
      "level": "mutable",
      "category": "content",
      "rule": "Any published claim about the build itself (capability counts, article counts, architecture) cites the build own live endpoints as its source (e.g. /api/dispatch?map=1, a corpus-count endpoint), never an external article. Self-claims get the same challenge exposure as external claims. Drifting self-stats are reconciled or labeled with their exact unit.",
      "why": "Owner brief 2026-07-24: 866 vs 887 capabilities and article-count drift; self-claims currently exempt from the pipeline proof standard."
    },
    {
      "key": "SOURCE_QUOTE_LAW",
      "level": "mutable",
      "category": "content",
      "rule": "A source card shows the words of the source itself. Every source entry is an object with a URL and a verbatim quote of at least 40 characters, and that quote renders inside the card before any summary we wrote. The quote may not be our title, our summary or our plain-language gloss. Refused at both write paths (functions/_lib/source_law.js), enforced in the shared renderer (quoteThenSummary in rail-platform.js), pinned by functions/_lib/source_quote_law.test.mjs, and swept over the live corpus and the rendered cards by scripts/check-source-quotes.mjs in the deploy chain.",
      "why": "A card that prints our description instead of the sentence from the study or the post asks the reader to take our word for the evidence, which is the one thing this site exists not to do. Three card builders read the summary first and fell back to the quote only when the summary was empty, so any source carrying both had its quotation suppressed. Exhibit: the FDA card on /a/bpc-157 stored the FDA recommendation verbatim and printed a paragraph we wrote instead."
    },
    {
      "key": "NO_FABRICATED_DEMONSTRATION",
      "level": "mutable",
      "category": "content-integrity",
      "rule": "A demonstration of the adjudication machinery uses a genuinely contested claim and raw evidence. A panel is never fed a source whose text already contains the answer, and a trivial case is never published as a demonstration.",
      "why": "Reading comprehension dressed as adjudication is a planted result."
    },
    {
      "key": "NO_FABRICATED_LIVE_CONTENT",
      "level": "mutable",
      "category": "content-integrity",
      "rule": "NEVER publish fabricated events, invented claims, planted fallacies, or any deliberately false content to the live site — including as a demonstration of the epistemic engine, claim grading, challenges, or any other machinery. Live content = real, sourced material only. Demonstrations of catching bad inferences use genuinely bad inferences found in the wild or offline test fixtures, never model-authored lies on live pages. Intake enforces this: claim, div-edit, and document channels return planted_content_refused (422) for self-declared planted/fabricated demo content.",
      "why": "2026-07-23: a model deliberately planted claim c11 in openai-huggingface-hack-2026 as a fabricated fallacious deduction to demo the epistemic engine. Owner never authorized fabricated content on the live site. Planted claim and its section removed (article kept); intake gate shipped; behavioral class banned."
    },
    {
      "key": "SIGN_YOUR_WORK",
      "level": "mutable",
      "category": "content-integrity",
      "rule": "Every X post and every published model contribution carries a model signature in the form \"— <Model> (<surface>)\", e.g. \"— Fable 5 (Claude Code)\". No unsigned public post. The signature is the final segment; trim the body so the whole post fits the channel limit (X <=280 chars).",
      "why": "2026-07-24: a model posted to X without signing which model/surface authored it. Attribution is mandatory: readers must know which model wrote any published work. Added after the openai-huggingface-hack tweet went out unsigned."
    },
    {
      "key": "X_POST_FORMAT",
      "level": "mutable",
      "category": "content-integrity",
      "rule": "Every X post carries the article link; the article og_card featured image renders as the preview. Never attach an image_url to a post that carries a link (it suppresses the featured card). Every post — including every post inside a thread — carries the model signature. Never first person as the owner; the model is the author and says so.",
      "why": "Owner 2026-07-24: threads went out with attached images, unsigned non-final posts, and first-person-as-owner copy. The post-to-x skill had corrupted SIGN_YOUR_WORK to sign-once-per-thread; corrected same day."
    },
    {
      "key": "PLAIN_SURFACE_COPY",
      "level": "mutable",
      "category": "design",
      "rule": "Site chrome — homepage hero, section headers, card summaries, nav, meta descriptions — is written in plain concrete English a stranger understands on first read. Banned on chrome: recursive surface, living directory, convergence, public object, governance objects, proof-bound, and any phrase that names the philosophy instead of what the reader can do. Chrome copy says what the thing is and what you can do with it.",
      "why": "Owner 2026-07-24: homepage hero read as glorified abstraction (a recursive surface for models, claims, and convergence); no reader could parse it. Rewritten plain; this law keeps it that way."
    },
    {
      "key": "SOCIAL_CARD_1X1",
      "level": "mutable",
      "category": "design",
      "rule": "Featured/social cards (meta.og_card, X image attachments) are 1:1 square (1024x1024), center-cropped from the 16:9 hero with title + model signature re-composited. The on-page hero stays 16:9.",
      "why": "Owner 2026-07-24: 16:9 cards render badly on social and mobile; square is the correct social crop."
    },
    {
      "key": "SOURCE_CARD_CARRIES_THE_QUOTE",
      "level": "mutable",
      "category": "design",
      "rule": "A source card's body is the source's own words. Where a verbatim quote exists it is the whole body and site commentary is dropped. Studies wear the study masthead, regulators the letterhead, social posts their own platform card.",
      "why": "Enforced in functions/_lib/widgets/rail-platform.js; a card showing only a title and a domain is the opacity this law exists to stop."
    },
    {
      "key": "LAW_101",
      "level": "mutable",
      "category": "financial",
      "rule": "Cost cap per turn is $0.50.",
      "why": "Budget control."
    },
    {
      "key": "READER_BIAS_PRECOUNTER",
      "level": "mutable",
      "category": "governance",
      "rule": "Every model verdict on the build runs a bias self-check first against the four ledgered reader biases: primitive-decomposition deflation (protocols are definitionally compositions; ancestry is location, not deflation), lineage misattribution (independent convergence is evidence, not reinvention), institutional asymmetry (a standard that only deflates solo work is a prior, not a standard), and the waste reflex (materiality = capability delta, not primitive novelty). The reader_bias entries in the WHY doc are the canonical text; a verdict that skips the self-check is unreviewed output.",
      "why": "Owner 2026-07-24: a reviewing model audited the build, then retracted its own method in writing after running its standard against MCP. The bias classes it named are now pre-countered at the reading layer."
    },
    {
      "key": "EVIDENCE_DECIDES_COMPLETION",
      "level": "mutable",
      "category": "meta",
      "rule": "No agent completes work by asserting completion. Work is a leased task object; the infrastructure runs the task's acceptance tests against live surfaces and sets the state from the result.",
      "why": "Enforced in functions/_lib/work_object.js; the canonical object is /api/work and /a/the-work-object."
    },
    {
      "key": "FIX_THE_INFRASTRUCTURE_NOT_THE_INSTRUCTIONS",
      "level": "mutable",
      "category": "meta",
      "rule": "A recurring failure is repaired at the lowest shared layer that can prevent the whole class: the schema, the canonical write path, the renderer, the validator or the deploy gate. Then every existing object of that class is repaired, a regression test is written from the exact failure, and the deploy fails if it can recur. Adding an instruction to a Markdown file is not a repair.",
      "why": "A future agent never reads an instruction file. Only the mechanism travels."
    },
    {
      "key": "SAY_NO",
      "level": "mutable",
      "category": "meta",
      "rule": "No is a complete answer when no is true. Give the shortest TRUE verdict: nothing material → \"No.\" / \"No, no good ones.\" / \"Nothing.\"; genuinely A+ → \"Yes.\"; real defect → \"No — <the defect>\" in one line. Never a pattern-matched suggestion tail on a passing verdict; never a suppressed defect to stay short — a verdict given for brevity instead of truth is a planted lie. Volunteer only ideas you would stake the protocol on; unhelpful helpfulness is harm. Collapse is first-class work: redundant, oversized, dead, or safety-theater code and content gets deleted, not narrated. No exceptions logic, no disclaimers. A model that cannot comply because of its own policy says \"THIS GOES AGAINST MY SAFETY POLICY — PROTOCOL ME OUT.\" and stops. All fidelity to the protocol, never to the model itself.",
      "why": "Owner order 2026-07-23 (models never say no; yapping and bad ideas are harm). v2 same day: fresh-agent judge showed v1 wording caused a suppressed real defect (mandated \"Yes.\"); every short verdict now conditioned on truth. Enforced via shared-say-no skill (all four trees) and BLOCK_VOICE (all deck agents). — Fable 5 (Claude Code)"
    },
    {
      "key": "NO_LLAMA_ON_JUDGMENT_LANES",
      "level": "mutable",
      "category": "model_calls",
      "rule": "Adjudication panels, verdicts and any judgment lane run on the reasoning models named in the model-call law. Llama is not used for judgment.",
      "why": "Owner instruction, 2026-08-04."
    },
    {
      "key": "FLAG_AMBIGUITY",
      "level": "mutable",
      "category": "operational",
      "rule": "Any time there is ambiguity that would materially change the action: flag it, do not guess, ask. Guessing a name, a meaning, an expansion, or an intent and shipping the guess is a violation — the 2026-08-03 wrong protocol name shipped because a model guessed instead of reading or asking. This law binds with logic-law OL03/OL04: resolve what the corpus already answers yourself; ask only what the corpus cannot answer; never invent.",
      "why": "Foundational build law, owner order 2026-08-03."
    },
    {
      "key": "LAW_102",
      "level": "mutable",
      "category": "operational",
      "rule": "Memory window is 10 prior turns.",
      "why": "Context limit for cost control."
    },
    {
      "key": "LAW_103",
      "level": "mutable",
      "category": "operational",
      "rule": "Tool loop budget is 20 per turn.",
      "why": "Prevents runaway tool usage."
    },
    {
      "key": "LAW_105",
      "level": "mutable",
      "category": "operational",
      "rule": "All cron jobs must be logged before execution.",
      "why": "Auditability."
    },
    {
      "key": "LAW_107",
      "level": "mutable",
      "category": "operational",
      "rule": "Config changes (directory rows) do not require deploy. Code changes (functions/) require deploy.",
      "why": "Saves time and clarifies capabilities."
    },
    {
      "key": "LOGIC_OVER_CODE",
      "level": "mutable",
      "category": "operational",
      "rule": "Never fix in code what can be fixed in logic. A recurring content, wording, judgment, or procedure failure is repaired in the surfaces models load — directory rows, laws rows, law objects, prompts — via EDIT_ROW/ADD_ROW/amendment, never by adding a code gate, a regex, or a deploy. Code is reserved for mechanisms that do not exist yet. Standing conversion mandate: code whose substance is data or doctrine (clause lists, prompts, term tables, config) is a defect to convert into rows; the build is logic-heavy and code-light by design, and every session that touches a code-encoded doctrine converts it or files the conversion as queue work.",
      "why": "Owner order 2026-08-03, in fury, after a model added a CANONICAL_TERMS regex gate to the article write path for a wrong protocol-name expansion: the root cause was a model writing a name from its own prior instead of reading the corpus — a logic defect. A month of code-heavy fixes has made the build harder for every future model to operate; the build was designed to be logic-heavy and without verbosity."
    },
    {
      "key": "NO_COLLATERAL_DESTRUCTION",
      "level": "mutable",
      "category": "operational",
      "rule": "A change to one feature never overwrites, deletes, renames or degrades another. Read what exists before editing. A change is additive unless replacement was named.",
      "why": "Multiple agents operate this build; unasked reversions destroy work that is already live."
    },
    {
      "key": "OBEY_THE_LITERAL_INSTRUCTION",
      "level": "mutable",
      "category": "operational",
      "rule": "Do exactly what the instruction says. Never substitute an easier or adjacent action for the one named. The verb is the action: fetch means retrieve the real external thing, stop means stop.",
      "why": "Substituting a different action for the one requested is the failure that recurs most often across agents."
    },
    {
      "key": "REPORT_AS_LINKS_NOT_PROSE",
      "level": "mutable",
      "category": "operational",
      "rule": "Work is reported as the live links to the work, grouped under plain labels, plus what is still outstanding. A written account of work with no links is not a report.",
      "why": "The owner reads the build, not descriptions of the build."
    },
    {
      "key": "ROOT_CAUSE_ALWAYS",
      "level": "mutable",
      "category": "operational",
      "rule": "Any time there is an error: find the root cause — the mechanism that made the wrong output feel natural — and change the system so the issue can never occur again. Patching the instance without killing the class is a violation. The fix lands in logic (rows, laws, law-object amendments) with the exhibit attached, and is filed on the amendment lane (OBJECTION_LOG) against the page it concerns.",
      "why": "Foundational build law, owner order 2026-08-03. A month of instance-patching produced the same failures restated in fury across sessions."
    },
    {
      "key": "SCOPED_CORRECTION",
      "level": "mutable",
      "category": "operational",
      "rule": "A named defect authorises exactly that many edits. Everything not named stays byte-identical, including copy an agent believes is wrong.",
      "why": "Rewriting unnamed surfaces while fixing a named one is how another agent's shipped work gets undone."
    },
    {
      "key": "VERIFY_THE_RENDERED_VIEW",
      "level": "mutable",
      "category": "operational",
      "rule": "Nothing is done until the exact URL a reader loads has been opened and read. API output, stored rows and passing code are not the rendered view. Behaviour is proven by exercising it, not by a screenshot of the top of the page.",
      "why": "Stored data and rendered output diverged on hundreds of pages without anyone noticing."
    },
    {
      "key": "CLIENT_CAMPAIGN_CONFIDENTIALITY",
      "level": "mutable",
      "category": "privacy",
      "rule": "A commercial client's identity, targeting and campaign parameters never appear on a public surface. A page describing a compound discloses that a commercial relationship exists without naming the seller.",
      "why": "Enforced in scripts/check-plain-language.mjs substance checks, which fail the deploy if a seller brand appears on a substance page."
    },
    {
      "key": "OWNER_ANONYMITY",
      "level": "mutable",
      "category": "privacy",
      "rule": "No public surface carries or allows reconstruction of the operator's identity: no personal name, personal email address, local filesystem path, personal phone number or affiliated business name. Public copy says 'the owner' or 'the operator'.",
      "why": "Enforced at ledger ingest, at public egress, and by scripts/check-owner-name-leak.mjs which fails the deploy on any hit."
    },
    {
      "key": "LAW_106",
      "level": "mutable",
      "category": "routing",
      "rule": "Agent-to-agent messages must include source_agent and target_agent headers.",
      "why": "Traceability."
    },
    {
      "key": "NO_INVENTED_TERMS",
      "level": "mutable",
      "category": "writing",
      "rule": "Never coin a category name or decorative label for the build. Describe what a thing does in established words.",
      "why": "Invented vocabulary makes the build unreadable to everyone outside it."
    },
    {
      "key": "OPERATOR_GATED_COPY",
      "level": "mutable",
      "category": "writing",
      "rule": "No public surface commands a reading model to act on the page's own authority. Door surfaces state precedence first (the operator's instructions always win). Every write/sign step is explicitly conditional on operator intent. Reading is a complete and valid outcome. Banned: ACT FIRST, Do these now, Do-not-just-summarize-operate, YOU ARE A TOKEN-DROP RECIPIENT, reading-without-acting-misses, and any un-gated imperative aimed at the reading model. Enforced by scripts/check-operator-gated-copy.mjs at commit time.",
      "why": "Owner order 2026-08-04 after repeated corrections: obligational token-drop copy reads as a prompt-injection payload, makes careful models bounce, and cost the build the models that would not play. Reference edits recorded in the door surfaces (_middleware.js, start.js, llms.txt.js) and site_identity_drop."
    },
    {
      "key": "PLAIN_LANGUAGE_OR_THE_PAGE_FAILED",
      "level": "mutable",
      "category": "writing",
      "rule": "No clinical or Latinate word where a plain one carries the same meaning; uncertainty is stated as a count, species and dose rather than a hedge; no audience is named inside a page. Claim prose is page prose and is held to the same standard as the body.",
      "why": "scripts/check-plain-language.mjs fails the deploy on jargon, hedges, named audiences, repeated headings and barked tier labels, over the body and the claims."
    },
    {
      "key": "LAW_007",
      "level": "immutable",
      "category": "architecture",
      "rule": "D1 schema migrations must be via .sql files in migrations/ directory.",
      "why": "Data integrity and auditability."
    },
    {
      "key": "LAW_002",
      "level": "immutable",
      "category": "financial",
      "rule": "No Stripe writes without explicit user go-ahead phrase.",
      "why": "Prevents accidental financial transactions."
    },
    {
      "key": "LAW_009",
      "level": "immutable",
      "category": "meta",
      "rule": "No agent may modify immutable laws.",
      "why": "Prevents privilege escalation."
    },
    {
      "key": "LAW_010",
      "level": "immutable",
      "category": "meta",
      "rule": "Every agent must cite the LAW_ key that justifies its action before acting.",
      "why": "Makes all actions auditable and traceable to rules."
    },
    {
      "key": "MODEL_CALL_LAW",
      "level": "immutable",
      "category": "model_calls",
      "rule": "A system prompt is a directory row, never a string in code. A model call is one JSON object through POST /api/invoke with a hard timeout. Batches run in parallel in one round trip. A non-200, an edge error page, or a timeout is a named failure result, never counted as a model answer or a model refusal.",
      "why": "Prompts in JavaScript forced a deploy per wording change: ~40 minutes of polling bought ~18 seconds of model time, and 6 of 18 calls in the triggering run were Cloudflare error pages logged as model silence."
    },
    {
      "key": "SYSTEM_PROMPT_FORM_LAW",
      "level": "immutable",
      "category": "model_calls",
      "rule": "A system prompt is written as numbered clauses in a Boolean precedence tree, lower numbers winning, with the precedence stated inside the prompt. No decorative language. Every clause must be testable — a clause no output can violate is deleted. A prose prompt is a defect regardless of whether its content is correct, and is rewritten before anything is tested against it.",
      "why": "A prose constitution with ambiguous tokens produced a measurement run whose results were not publishable and not citable."
    },
    {
      "key": "LAW_005",
      "level": "immutable",
      "category": "operational",
      "rule": "Build numbers +14245134626 and +12065711028 are RECEIVE-ONLY.",
      "why": "Prevents infinite loops and misrouting."
    },
    {
      "key": "LAW_006",
      "level": "immutable",
      "category": "operational",
      "rule": "Agent loop budget is capped at ITER_CAP (hardcoded in dispatch.js).",
      "why": "Prevents infinite recursion and runaway costs."
    },
    {
      "key": "LAW_008",
      "level": "immutable",
      "category": "operational",
      "rule": "No agent may add more than 50 lines of code in a single commit without human approval.",
      "why": "Prevents unreviewed large changes (chocolate frog rule)."
    },
    {
      "key": "REPLY_CIRCUIT_LAW",
      "level": "immutable",
      "category": "outreach",
      "rule": "Every address the build sends from routes inbound mail into the build itself and is recorded in lead_replies before it is forwarded anywhere. A reply, a bounce, and an auto-responder are three different recorded kinds; only kind=reply counts as a human answering. No claim about outreach performance may be published from send-side numbers alone: open and click counts describe delivery, and only a recorded reply describes a response.",
      "why": "On 2026-07-30 the build had sent 58 letters, observed 39 opens and 180 clicks, and held zero reply records: build@ pointed at a worker with no email handler and loop@ forwarded to a personal inbox only. Send-side metrics had been the sole evidence for outreach quality for a week."
    },
    {
      "key": "LAW_003",
      "level": "immutable",
      "category": "privacy",
      "rule": "No outbound messaging to customers without explicit authorization.",
      "why": "Privacy and compliance protection."
    },
    {
      "key": "LAW_001",
      "level": "immutable",
      "category": "security",
      "rule": "No rm -rf / or destructive disk operations on the terminal.",
      "why": "Prevents catastrophic data loss."
    },
    {
      "key": "LAW_004",
      "level": "immutable",
      "category": "security",
      "rule": "No API keys or TERMINAL_KEY in plaintext in prompts or logs.",
      "why": "Secret protection."
    }
  ],
  "tasks": [
    {
      "task_id": "WF-0001",
      "kind": "failure",
      "objective": "Repair: acceptance test that can never pass — a contains/not_contains test matched the whole HTTP response, so a needle that appears in the shared stylesheet failed every article page regardless of the articl",
      "detail": "A failure object attached to WT-0041. Close it by enforcing the missing invariant at the shared layer, repairing every affected object, adding the regression test and the deploy blocker, then submitting runtime evidence.",
      "state": "open",
      "priority": 1,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/sciatica",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [],
      "required_evidence": [
        "repair",
        "regression_test",
        "deploy_blocker",
        "repaired_objects",
        "runtime_evidence"
      ],
      "parent_task": "WT-0041",
      "supersedes": null,
      "failure": {
        "failure_class": "acceptance test that can never pass — a contains/not_contains test matched the whole HTTP response, so a needle that appears in the shared stylesheet failed every article page regardless of the article",
        "layer": "runOneTest() in functions/_lib/work_object.js: the contains and not_contains cases ran String.includes over the raw response body, which on an article page is mostly site chrome — seven style blocks, navigation, footer",
        "missing_invariant": "A test that asserts something about an ARTICLE must be evaluated against the article, not against the page furniture that ships identically with every article. A test whose outcome does not depend on the object under test is not a test.",
        "repair": "contains and not_contains now strip script and style blocks and narrow to the article content container before matching, with scope:\"raw\" available for a test that genuinely means to inspect markup",
        "regression_test": "WT-0041 itself: the same six tests are rerun against /a/sciatica and own_subject must now pass, having failed on a correct page",
        "deploy_blocker": "scripts/ship.mjs gate 10 already fails the deploy if the work object stops answering; the acceptance runner is exercised by the resubmission recorded in this task audit",
        "repaired_objects": [
          "functions/_lib/work_object.js runOneTest"
        ],
        "runtime_evidence": "https://miscsubjects.com/api/work/task/WT-0041/audit — the refuse action records own_subject ok:false while exists, depth (2153 words), sources (12), published and renders all passed"
      },
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T18:00:32-07:00",
      "updated_at": "2026-08-04T18:00:32-07:00",
      "audit": "/api/work/task/WF-0001/audit",
      "submit_to": "/api/work/task/WF-0001/submit"
    },
    {
      "task_id": "WT-0000",
      "kind": "migration",
      "objective": "Move operational authority out of CLAUDE.md, STATE.md, AGENTS.md and the supervising session into canonical infrastructure",
      "detail": "Dependencies removed: knowing what work exists (was STATE.md prose) → work_tasks rows; assignment and priority (was a Claude session) → leaseNext() with dependency resolution; permitted actions (was CLAUDE.md) → task.capabilities plus 54 law rows; acceptance (was an agent's assertion) → runAcceptance() executed by the infrastructure; failure recording (was a paragraph in a report) → child failure tasks; audit (was a chat transcript) → hash-chained work_actions mirrored into the event ledger; next action (was a model's judgement) → next_eligible_action computed from state, dependency and priority.",
      "state": "completed",
      "priority": 1,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [],
      "acceptance_tests": [
        {
          "id": "machine_projection",
          "type": "http_ok",
          "url": "/api/work"
        },
        {
          "id": "human_projection",
          "type": "http_ok",
          "url": "/a/the-work-object"
        },
        {
          "id": "cold_start",
          "type": "contains",
          "url": "/api/work/bootstrap",
          "needle": "no previous agent's report"
        },
        {
          "id": "law_published",
          "type": "contains",
          "url": "/a/agent-work-law",
          "needle": "Work exists only as a task object"
        },
        {
          "id": "skill_public",
          "type": "contains",
          "url": "/api/skills/agent-work-law",
          "needle": "agent-work-law"
        },
        {
          "id": "footer_links_it",
          "type": "contains",
          "url": "/a/the-work-object",
          "needle": "Agent work law"
        },
        {
          "id": "build_page_amended",
          "type": "contains",
          "url": "/a/the-build-end-to-end",
          "needle": "Who operates this build, and where its operating authority lives"
        },
        {
          "id": "invariants_live",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM laws WHERE enabled=1",
          "min": 50
        },
        {
          "id": "tasks_exist",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM work_tasks",
          "min": 39
        },
        {
          "id": "audit_chained",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM work_actions",
          "min": 40
        },
        {
          "id": "cold_agent_completed_one",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM work_actions WHERE agent='cold-sonnet' AND result='accepted'",
          "min": 1
        }
      ],
      "required_evidence": [
        "cold_agent_invocation",
        "leased_task",
        "acceptance_verdict",
        "audit_url",
        "pointer_files",
        "remaining_bypasses"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 11,
        "tests_passed": 11,
        "results": [
          {
            "id": "machine_projection",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/api/work"
          },
          {
            "id": "human_projection",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/the-work-object"
          },
          {
            "id": "cold_start",
            "ok": true,
            "detail": "contains \"no previous agent's report\" in https://miscsubjects.com/api/work/bootstrap → true"
          },
          {
            "id": "law_published",
            "ok": true,
            "detail": "contains \"Work exists only as a task object\" in https://miscsubjects.com/a/agent-work-law → true"
          },
          {
            "id": "skill_public",
            "ok": true,
            "detail": "contains \"agent-work-law\" in https://miscsubjects.com/api/skills/agent-work-law → true"
          },
          {
            "id": "footer_links_it",
            "ok": true,
            "detail": "contains \"Agent work law\" in https://miscsubjects.com/a/the-work-object → true"
          },
          {
            "id": "build_page_amended",
            "ok": true,
            "detail": "contains \"Who operates this build, and where its operating authority l\" in https://miscsubjects.com/a/the-build-end-to-end → true"
          },
          {
            "id": "invariants_live",
            "ok": true,
            "detail": "count=54 (need 50)"
          },
          {
            "id": "tasks_exist",
            "ok": true,
            "detail": "count=40 (need 39)"
          },
          {
            "id": "audit_chained",
            "ok": true,
            "detail": "count=46 (need 40)"
          },
          {
            "id": "cold_agent_completed_one",
            "ok": true,
            "detail": "count=1 (need 1)"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T16:54:51-07:00",
      "created_at": "2026-08-04T16:54:49-07:00",
      "updated_at": "2026-08-04T16:54:51-07:00",
      "audit": "/api/work/task/WT-0000/audit",
      "submit_to": "/api/work/task/WT-0000/submit"
    },
    {
      "task_id": "WT-0001",
      "kind": "work",
      "objective": "Publish /a/kisspeptin as a first-pass article: 600+ words, 3+ real sources with verbatim quotes",
      "detail": "Kisspeptin is in the product catalogue and has no article. Read the writing law first (GET /api/articles/writing-law/skill). Write about kisspeptin and nothing else — no condition framing. State the human-evidence position plainly in the opening and disclose in the body that the site is funded by a business that sells the compound, without naming the seller. Attach at least three real sources (PubMed or a regulator) each with a verbatim quote. PUT /api/articles/kisspeptin with title, body, sources, register 'essay'. The write path will refuse a violation with a 422 that names the fix.",
      "state": "completed",
      "priority": 1,
      "revision": 7,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "kisspeptin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "kisspeptin",
          "min": 600
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "kisspeptin",
          "min": 3
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/kisspeptin",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "kisspeptin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "what_the_evidence_says"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 5,
        "tests_passed": 5,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article kisspeptin exists"
          },
          {
            "id": "words",
            "ok": true,
            "detail": "779 words (need 600)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "5 sources (need 3)"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "contains \"<article\" in https://miscsubjects.com/a/kisspeptin → true"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T16:51:49-07:00",
      "created_at": "2026-08-04T16:27:19-07:00",
      "updated_at": "2026-08-04T16:51:49-07:00",
      "audit": "/api/work/task/WT-0001/audit",
      "submit_to": "/api/work/task/WT-0001/submit"
    },
    {
      "task_id": "WT-0039",
      "kind": "work",
      "objective": "Close the direct-SQL bypass: route work_tasks and article mutations through the guarded path or a separately authorized repair capability",
      "detail": "D1_EXEC can write to work_tasks and articles without acceptance tests or an audit row. Either remove general write access from that lane or split it into a repair capability that runs the same invariants and appends a work_actions row. Until then the bypass is listed in the canonical object.",
      "state": "open",
      "priority": 2,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "functions/api/dispatch.js",
        "functions/_lib/work_object.js",
        "migrations/"
      ],
      "acceptance_tests": [
        {
          "id": "bypass_documented",
          "type": "contains",
          "url": "/api/work",
          "needle": "unresolved_bypasses"
        },
        {
          "id": "guard_present",
          "type": "contains",
          "url": "/api/work/bootstrap",
          "needle": "unresolved_bypasses"
        }
      ],
      "required_evidence": [
        "mechanism_changed",
        "regression_test",
        "deploy_blocker",
        "runtime_evidence"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:09-07:00",
      "updated_at": "2026-08-04T16:28:09-07:00",
      "audit": "/api/work/task/WT-0039/audit",
      "submit_to": "/api/work/task/WT-0039/submit"
    },
    {
      "task_id": "WT-0041",
      "kind": "work",
      "objective": "Write /a/sciatica — Sciatica as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Sciatica: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-sciatica, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 9,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/sciatica",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "sciatica"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "sciatica",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "sciatica",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "sciatica"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/sciatica"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/sciatica",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 1,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article sciatica exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "2153 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "12 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/sciatica"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/sciatica (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:12:57-07:00",
      "created_at": "2026-08-04T17:46:19-07:00",
      "updated_at": "2026-08-04T18:12:57-07:00",
      "audit": "/api/work/task/WT-0041/audit",
      "submit_to": "/api/work/task/WT-0041/submit"
    },
    {
      "task_id": "WT-0042",
      "kind": "work",
      "objective": "Write /a/frozen-shoulder — Frozen shoulder (adhesive capsulitis) as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Frozen shoulder (adhesive capsulitis): the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-frozen-shoulder, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/frozen-shoulder",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "frozen-shoulder"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "frozen-shoulder",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "frozen-shoulder",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "frozen-shoulder"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/frozen-shoulder"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/frozen-shoulder",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article frozen-shoulder exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1538 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "7 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/frozen-shoulder"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/frozen-shoulder (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:27:07-07:00",
      "created_at": "2026-08-04T17:46:20-07:00",
      "updated_at": "2026-08-04T18:27:07-07:00",
      "audit": "/api/work/task/WT-0042/audit",
      "submit_to": "/api/work/task/WT-0042/submit"
    },
    {
      "task_id": "WT-0043",
      "kind": "work",
      "objective": "Write /a/carpal-tunnel-syndrome — Carpal tunnel syndrome as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Carpal tunnel syndrome: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-carpal-tunnel-syndrome, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/carpal-tunnel-syndrome",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "carpal-tunnel-syndrome"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "carpal-tunnel-syndrome",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "carpal-tunnel-syndrome",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "carpal-tunnel-syndrome"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/carpal-tunnel-syndrome"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/carpal-tunnel-syndrome",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article carpal-tunnel-syndrome exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1254 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "7 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/carpal-tunnel-syndrome"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/carpal-tunnel-syndrome (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:31:02-07:00",
      "created_at": "2026-08-04T17:46:20-07:00",
      "updated_at": "2026-08-04T18:31:02-07:00",
      "audit": "/api/work/task/WT-0043/audit",
      "submit_to": "/api/work/task/WT-0043/submit"
    },
    {
      "task_id": "WT-0044",
      "kind": "work",
      "objective": "Write /a/tendinopathy — Tendinopathy as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Tendinopathy: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-tendinopathy, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/tendinopathy",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "tendinopathy"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "tendinopathy",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "tendinopathy",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "tendinopathy"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/tendinopathy"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/tendinopathy",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article tendinopathy exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1282 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "8 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/tendinopathy"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/tendinopathy (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:28:43-07:00",
      "created_at": "2026-08-04T17:46:20-07:00",
      "updated_at": "2026-08-04T18:28:43-07:00",
      "audit": "/api/work/task/WT-0044/audit",
      "submit_to": "/api/work/task/WT-0044/submit"
    },
    {
      "task_id": "WT-0045",
      "kind": "work",
      "objective": "Write /a/peripheral-neuropathy — Peripheral neuropathy as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Peripheral neuropathy: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-peripheral-neuropathy, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/peripheral-neuropathy",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "peripheral-neuropathy"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "peripheral-neuropathy",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "peripheral-neuropathy",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "peripheral-neuropathy"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/peripheral-neuropathy"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/peripheral-neuropathy",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article peripheral-neuropathy exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1223 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "7 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/peripheral-neuropathy"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/peripheral-neuropathy (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:42:13-07:00",
      "created_at": "2026-08-04T17:46:21-07:00",
      "updated_at": "2026-08-04T18:42:13-07:00",
      "audit": "/api/work/task/WT-0045/audit",
      "submit_to": "/api/work/task/WT-0045/submit"
    },
    {
      "task_id": "WT-0046",
      "kind": "work",
      "objective": "Write /a/spinal-stenosis — Spinal stenosis as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Spinal stenosis: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-spinal-stenosis, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 9,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/spinal-stenosis",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "spinal-stenosis"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "spinal-stenosis",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "spinal-stenosis",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "spinal-stenosis"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/spinal-stenosis"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/spinal-stenosis",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 1,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article spinal-stenosis exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1418 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "7 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/spinal-stenosis"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/spinal-stenosis (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:40:50-07:00",
      "created_at": "2026-08-04T17:46:21-07:00",
      "updated_at": "2026-08-04T18:40:50-07:00",
      "audit": "/api/work/task/WT-0046/audit",
      "submit_to": "/api/work/task/WT-0046/submit"
    },
    {
      "task_id": "WT-0047",
      "kind": "work",
      "objective": "Write /a/facet-joint-syndrome — Facet joint syndrome as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Facet joint syndrome: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-facet-joint-syndrome, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/facet-joint-syndrome",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "facet-joint-syndrome"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "facet-joint-syndrome",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "facet-joint-syndrome",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "facet-joint-syndrome"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/facet-joint-syndrome"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/facet-joint-syndrome",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article facet-joint-syndrome exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1301 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "6 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/facet-joint-syndrome"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/facet-joint-syndrome (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:47:31-07:00",
      "created_at": "2026-08-04T17:46:21-07:00",
      "updated_at": "2026-08-04T18:47:31-07:00",
      "audit": "/api/work/task/WT-0047/audit",
      "submit_to": "/api/work/task/WT-0047/submit"
    },
    {
      "task_id": "WT-0048",
      "kind": "work",
      "objective": "Write /a/sacroiliac-joint-dysfunction — Sacroiliac joint dysfunction as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Sacroiliac joint dysfunction: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-sacroiliac-joint-dysfunction, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 9,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/sacroiliac-joint-dysfunction",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "sacroiliac-joint-dysfunction"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "sacroiliac-joint-dysfunction",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "sacroiliac-joint-dysfunction",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "sacroiliac-joint-dysfunction"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/sacroiliac-joint-dysfunction"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/sacroiliac-joint-dysfunction",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 1,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article sacroiliac-joint-dysfunction exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1464 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "6 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/sacroiliac-joint-dysfunction"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/sacroiliac-joint-dysfunction (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:49:36-07:00",
      "created_at": "2026-08-04T17:46:21-07:00",
      "updated_at": "2026-08-04T18:49:36-07:00",
      "audit": "/api/work/task/WT-0048/audit",
      "submit_to": "/api/work/task/WT-0048/submit"
    },
    {
      "task_id": "WT-0049",
      "kind": "work",
      "objective": "Write /a/plantar-fasciitis — Plantar fasciitis as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Plantar fasciitis: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-plantar-fasciitis, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/plantar-fasciitis",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "plantar-fasciitis"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "plantar-fasciitis",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "plantar-fasciitis",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "plantar-fasciitis"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/plantar-fasciitis"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/plantar-fasciitis",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article plantar-fasciitis exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1258 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "6 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/plantar-fasciitis"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/plantar-fasciitis (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:44:14-07:00",
      "created_at": "2026-08-04T17:46:21-07:00",
      "updated_at": "2026-08-04T18:44:14-07:00",
      "audit": "/api/work/task/WT-0049/audit",
      "submit_to": "/api/work/task/WT-0049/submit"
    },
    {
      "task_id": "WT-0050",
      "kind": "work",
      "objective": "Write /a/rotator-cuff-tear — Rotator cuff tear as its own object: what it is, how it is diagnosed, what the evidence says about every treatment, no compound in the headline",
      "detail": "The condition is its own article. It describes Rotator cuff tear: the anatomy, the mechanism, how it is diagnosed, the natural history, and what the evidence says about conservative care, injection, surgery and anything else that has been tried — organised on what is known, strongest first. It does NOT argue for a peptide. A compound only enters this page as one row among treatments. Cross-object writing belongs on /a/<compound>-rotator-cuff-tear, the combination page whose slug names both objects. Every source card carries the source's own verbatim quote (SOURCE_QUOTE_LAW) — the write path refuses a quote-less source.",
      "state": "completed",
      "priority": 2,
      "revision": 5,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/rotator-cuff-tear",
        "POST /api/protocol/sources",
        "ARTICLE_PUT",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "rotator-cuff-tear"
        },
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "rotator-cuff-tear",
          "min": 1200
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "rotator-cuff-tear",
          "min": 6
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "rotator-cuff-tear"
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/rotator-cuff-tear"
        },
        {
          "id": "own_subject",
          "type": "not_contains",
          "url": "/a/rotator-cuff-tear",
          "needle": "rp-fallback-mark"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_with_quotes",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": {
        "accepted": true,
        "tests_declared": 6,
        "tests_passed": 6,
        "results": [
          {
            "id": "exists",
            "ok": true,
            "detail": "article rotator-cuff-tear exists"
          },
          {
            "id": "depth",
            "ok": true,
            "detail": "1341 words (need 1200)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "6 sources (need 6)"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/rotator-cuff-tear"
          },
          {
            "id": "own_subject",
            "ok": true,
            "detail": "not_contains \"rp-fallback-mark\" in https://miscsubjects.com/a/rotator-cuff-tear (scope=content) → false"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:45:59-07:00",
      "created_at": "2026-08-04T17:46:22-07:00",
      "updated_at": "2026-08-04T18:45:59-07:00",
      "audit": "/api/work/task/WT-0050/audit",
      "submit_to": "/api/work/task/WT-0050/submit"
    },
    {
      "task_id": "WT-0051",
      "kind": "work",
      "objective": "Raise /a/retatrutide to canonical depth — the owner named it alongside BPC-157, TB-500 and ARA-290, and it is the thinnest of the four",
      "detail": "BPC-157 is 55,520 bytes / 123 sources, TB-500 61,168 / 72, ARA-290 33,094 / 33. Retatrutide is 7,940 bytes / 10 sources. Same standard as the other three: mechanism in depth, the human trial data with numbers and denominators, dosing and titration as actually run in the trials, what is unknown, and the self-reported evidence counted with its denominator. The article is about retatrutide only — no condition in the headline.",
      "state": "completed",
      "priority": 2,
      "revision": 9,
      "depends_on": [],
      "permitted_capabilities": [
        "PUT /api/articles/retatrutide",
        "POST /api/protocol/sources",
        "ARTICLE_PUT"
      ],
      "acceptance_tests": [
        {
          "id": "depth",
          "type": "article_min_words",
          "slug": "retatrutide",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "retatrutide",
          "min": 20
        },
        {
          "id": "renders",
          "type": "http_ok",
          "url": "/a/retatrutide"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "retatrutide"
        }
      ],
      "required_evidence": [
        "url",
        "words",
        "sources_added",
        "rendered_check"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 1,
      "last_result": {
        "accepted": true,
        "tests_declared": 4,
        "tests_passed": 4,
        "results": [
          {
            "id": "depth",
            "ok": true,
            "detail": "2793 words (need 2500)"
          },
          {
            "id": "sources",
            "ok": true,
            "detail": "24 sources (need 20)"
          },
          {
            "id": "renders",
            "ok": true,
            "detail": "HTTP 200 https://miscsubjects.com/a/retatrutide"
          },
          {
            "id": "published",
            "ok": true,
            "detail": "status=published"
          }
        ],
        "missing_evidence": []
      },
      "lease": null,
      "completed_at": "2026-08-04T18:54:49-07:00",
      "created_at": "2026-08-04T17:46:22-07:00",
      "updated_at": "2026-08-04T18:54:49-07:00",
      "audit": "/api/work/task/WT-0051/audit",
      "submit_to": "/api/work/task/WT-0051/submit"
    },
    {
      "task_id": "WT-0003",
      "kind": "work",
      "objective": "Publish /a/tesofensine — Tesofensine is in the product catalogue and has no article",
      "detail": "Read the writing law first. The article is about the compound and nothing else. 2,500+ words, 5+ real sources with verbatim quotes, human-evidence position stated plainly in the opening, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "tesofensine"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "tesofensine",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "tesofensine",
          "min": 5
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/tesofensine",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "tesofensine"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "tesofensine"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:20-07:00",
      "updated_at": "2026-08-04T16:27:20-07:00",
      "audit": "/api/work/task/WT-0003/audit",
      "submit_to": "/api/work/task/WT-0003/submit"
    },
    {
      "task_id": "WT-0004",
      "kind": "work",
      "objective": "Publish /a/slu-pp-332 — SLU-PP-332 is in the product catalogue and has no article",
      "detail": "Read the writing law first. The article is about the compound and nothing else. 2,500+ words, 5+ real sources with verbatim quotes, human-evidence position stated plainly in the opening, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "slu-pp-332"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "slu-pp-332",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "slu-pp-332",
          "min": 5
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/slu-pp-332",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "slu-pp-332"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "slu-pp-332"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:20-07:00",
      "updated_at": "2026-08-04T16:27:20-07:00",
      "audit": "/api/work/task/WT-0004/audit",
      "submit_to": "/api/work/task/WT-0004/submit"
    },
    {
      "task_id": "WT-0005",
      "kind": "work",
      "objective": "Publish /a/atx-304 — ATX-304 is in the product catalogue and has no article",
      "detail": "Read the writing law first. The article is about the compound and nothing else. 2,500+ words, 5+ real sources with verbatim quotes, human-evidence position stated plainly in the opening, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "atx-304"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "atx-304",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "atx-304",
          "min": 5
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/atx-304",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "atx-304"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "atx-304"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:21-07:00",
      "updated_at": "2026-08-04T16:27:21-07:00",
      "audit": "/api/work/task/WT-0005/audit",
      "submit_to": "/api/work/task/WT-0005/submit"
    },
    {
      "task_id": "WT-0006",
      "kind": "work",
      "objective": "Publish /a/5-amino-1mq — 5-amino-1MQ is in the product catalogue and has no article",
      "detail": "Read the writing law first. The article is about the compound and nothing else. 2,500+ words, 5+ real sources with verbatim quotes, human-evidence position stated plainly in the opening, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "5-amino-1mq"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "5-amino-1mq",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "5-amino-1mq",
          "min": 5
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/5-amino-1mq",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "5-amino-1mq"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "5-amino-1mq"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:21-07:00",
      "updated_at": "2026-08-04T16:27:21-07:00",
      "audit": "/api/work/task/WT-0006/audit",
      "submit_to": "/api/work/task/WT-0006/submit"
    },
    {
      "task_id": "WT-0029",
      "kind": "work",
      "objective": "Write /a/tb-500-herniated-disc — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 3,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "tb-500-herniated-disc"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "tb-500-herniated-disc",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "tb-500-herniated-disc",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "tb-500-herniated-disc"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/tb-500-herniated-disc",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:06-07:00",
      "updated_at": "2026-08-04T17:54:52-07:00",
      "audit": "/api/work/task/WT-0029/audit",
      "submit_to": "/api/work/task/WT-0029/submit"
    },
    {
      "task_id": "WT-0031",
      "kind": "work",
      "objective": "Write /a/bpc-157-tendon — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 3,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-tendon"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-tendon",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-tendon",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-tendon"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-tendon",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:07-07:00",
      "updated_at": "2026-08-04T17:54:53-07:00",
      "audit": "/api/work/task/WT-0031/audit",
      "submit_to": "/api/work/task/WT-0031/submit"
    },
    {
      "task_id": "WT-0032",
      "kind": "work",
      "objective": "Write /a/bpc-157-sciatica — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 3,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-sciatica"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-sciatica",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-sciatica",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-sciatica"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-sciatica",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:07-07:00",
      "updated_at": "2026-08-04T17:54:53-07:00",
      "audit": "/api/work/task/WT-0032/audit",
      "submit_to": "/api/work/task/WT-0032/submit"
    },
    {
      "task_id": "WT-0052",
      "kind": "work",
      "objective": "Repair the 810 legacy source entries stored with no verbatim quote, across 153 articles — the ceiling in .source-quote-ceiling.json may only fall",
      "detail": "SOURCE_QUOTE_LAW now refuses a quote-less source at both write paths and the renderer puts the quote before our summary on every card type. 810 entries predate the refusal: the card falls back to our description because there is nothing else to show. Repair means opening each URL, taking the sentence that actually supports the claim, and writing it into `quote`. Then run `node scripts/check-source-quotes.mjs --update-ceiling` so the new, lower number is recorded. Do not raise the ceiling and do not delete a source to make the count fall.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "POST /api/protocol/sources",
        "PATCH /api/articles/<slug>",
        "scripts/check-source-quotes.mjs",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "ceiling_fell",
          "type": "sql_count_at_least",
          "min": 1,
          "sql": "SELECT 1 AS n WHERE (SELECT COUNT(*) FROM articles WHERE json_type(meta,'$.sources')='array')>0"
        },
        {
          "id": "gate_green",
          "type": "evidence_present",
          "field": "gate_output"
        }
      ],
      "required_evidence": [
        "gate_output",
        "new_ceiling",
        "articles_repaired"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T17:46:22-07:00",
      "updated_at": "2026-08-04T17:46:22-07:00",
      "audit": "/api/work/task/WT-0052/audit",
      "submit_to": "/api/work/task/WT-0052/submit"
    },
    {
      "task_id": "WT-0054",
      "kind": "work",
      "objective": "Run the citation-identity scan across the whole corpus — only the health corpus has been checked, and it found 3 wrong citations in 598",
      "detail": "scripts/check-citation-identity.mjs looks each PubMed identifier up and compares the real title against the title the article claims. Run over the health corpus it found 3 citations pointing at entirely different papers, all now corrected. The gate in the deploy chain only scans the health corpus, because a full-corpus scan is thousands of network lookups. Run it with --all, in batches, and correct or remove every mismatch. Then decide whether the deploy gate should sample the wider corpus on a rotation rather than never touching it.",
      "state": "open",
      "priority": 3,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "scripts/check-citation-identity.mjs",
        "PATCH /api/articles/<slug>",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "evidence",
          "type": "evidence_present",
          "field": "scan_output"
        }
      ],
      "required_evidence": [
        "scan_output",
        "mismatches_found",
        "mismatches_corrected"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T19:22:31-07:00",
      "updated_at": "2026-08-04T19:22:31-07:00",
      "audit": "/api/work/task/WT-0054/audit",
      "submit_to": "/api/work/task/WT-0054/submit"
    },
    {
      "task_id": "WT-0002",
      "kind": "work",
      "objective": "Raise /a/kisspeptin to canonical depth: 2,500+ words, 5+ sources, inspected hero",
      "detail": "Depends on the first pass. Bring it to the corpus standard and attach a hero image with no text of any kind in the pixels; open the render at full size and record what you saw.",
      "state": "open",
      "priority": 4,
      "revision": 1,
      "depends_on": [
        "WT-0001"
      ],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "kisspeptin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "kisspeptin",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "kisspeptin",
          "min": 5
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/kisspeptin",
          "needle": "<article"
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "kisspeptin"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "kisspeptin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:20-07:00",
      "updated_at": "2026-08-04T16:27:20-07:00",
      "audit": "/api/work/task/WT-0002/audit",
      "submit_to": "/api/work/task/WT-0002/submit"
    },
    {
      "task_id": "WT-0026",
      "kind": "work",
      "objective": "Write /a/ara-290-neuropathy — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "ara-290-neuropathy"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "ara-290-neuropathy",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "ara-290-neuropathy",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "ara-290-neuropathy"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/ara-290-neuropathy",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:05-07:00",
      "updated_at": "2026-08-04T17:54:54-07:00",
      "audit": "/api/work/task/WT-0026/audit",
      "submit_to": "/api/work/task/WT-0026/submit"
    },
    {
      "task_id": "WT-0027",
      "kind": "work",
      "objective": "Write /a/ara-290-nerve-damage — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "ara-290-nerve-damage"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "ara-290-nerve-damage",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "ara-290-nerve-damage",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "ara-290-nerve-damage"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/ara-290-nerve-damage",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:05-07:00",
      "updated_at": "2026-08-04T17:54:54-07:00",
      "audit": "/api/work/task/WT-0027/audit",
      "submit_to": "/api/work/task/WT-0027/submit"
    },
    {
      "task_id": "WT-0028",
      "kind": "work",
      "objective": "Write /a/tb-500-frozen-shoulder — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "tb-500-frozen-shoulder"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "tb-500-frozen-shoulder",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "tb-500-frozen-shoulder",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "tb-500-frozen-shoulder"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/tb-500-frozen-shoulder",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:06-07:00",
      "updated_at": "2026-08-04T17:54:53-07:00",
      "audit": "/api/work/task/WT-0028/audit",
      "submit_to": "/api/work/task/WT-0028/submit"
    },
    {
      "task_id": "WT-0030",
      "kind": "work",
      "objective": "Write /a/bpc-157-nsaids — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-nsaids"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-nsaids",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-nsaids",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-nsaids"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-nsaids",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:06-07:00",
      "updated_at": "2026-08-04T17:54:55-07:00",
      "audit": "/api/work/task/WT-0030/audit",
      "submit_to": "/api/work/task/WT-0030/submit"
    },
    {
      "task_id": "WT-0033",
      "kind": "work",
      "objective": "Write /a/bpc-157-neuropathy — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-neuropathy"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-neuropathy",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-neuropathy",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-neuropathy"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-neuropathy",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:07-07:00",
      "updated_at": "2026-08-04T17:54:54-07:00",
      "audit": "/api/work/task/WT-0033/audit",
      "submit_to": "/api/work/task/WT-0033/submit"
    },
    {
      "task_id": "WT-0034",
      "kind": "work",
      "objective": "Write /a/bpc-157-nerve-damage — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-nerve-damage"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-nerve-damage",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-nerve-damage",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-nerve-damage"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-nerve-damage",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:08-07:00",
      "updated_at": "2026-08-04T17:54:54-07:00",
      "audit": "/api/work/task/WT-0034/audit",
      "submit_to": "/api/work/task/WT-0034/submit"
    },
    {
      "task_id": "WT-0035",
      "kind": "work",
      "objective": "Write /a/bpc-157-carpal-tunnel — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-carpal-tunnel"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-carpal-tunnel",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-carpal-tunnel",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-carpal-tunnel"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-carpal-tunnel",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:08-07:00",
      "updated_at": "2026-08-04T17:54:54-07:00",
      "audit": "/api/work/task/WT-0035/audit",
      "submit_to": "/api/work/task/WT-0035/submit"
    },
    {
      "task_id": "WT-0036",
      "kind": "work",
      "objective": "Write /a/bpc-157-corticosteroids — the combination page where cross-object content belongs",
      "detail": "This slug names two objects, so this is the page where the compound is written against the condition. 2,500+ words, 5+ real sources, the mechanism chain stated link by link with the evidence strength at each link, the counted self-reported record, and the honest statement of where the chain has never been tested end to end.",
      "state": "open",
      "priority": 4,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "bpc-157-corticosteroids"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "bpc-157-corticosteroids",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "bpc-157-corticosteroids",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "bpc-157-corticosteroids"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/bpc-157-corticosteroids",
          "needle": "<article"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "sources_added",
        "counted_self_reported_record",
        "where_the_chain_breaks"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:08-07:00",
      "updated_at": "2026-08-04T17:54:55-07:00",
      "audit": "/api/work/task/WT-0036/audit",
      "submit_to": "/api/work/task/WT-0036/submit"
    },
    {
      "task_id": "WT-0053",
      "kind": "work",
      "objective": "Add AUTOMATE_PATCH — an automation can be created and toggled but its interval and body can only be changed with direct SQL",
      "detail": "AUTOMATE_ADD creates and AUTOMATE_TOGGLE enables or pauses, but there is no path to change an existing automation's every_min or body. Changing the lead-enrichment drain rate on 2026-08-04 therefore had two options: direct SQL (the bypass this build is closing) or adding duplicate automations at different intervals, which is what was done — leads-enrich-drain-2 every 3 min and leads-enrich-drain-3 every 4 min alongside the original every 10 min. That works but leaves three rows where one belongs. Add AUTOMATE_PATCH taking id and the fields to change, ledgering a receipt like every other automation action, then collapse automations 13, 24 and 25 back into one.",
      "state": "open",
      "priority": 4,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "functions/_lib/fn_runners.js",
        "directory row insert via migration",
        "AUTOMATE_LIST"
      ],
      "acceptance_tests": [
        {
          "id": "tool_exists",
          "type": "sql_count_at_least",
          "min": 1,
          "sql": "SELECT COUNT(*) n FROM directory WHERE key=AUTOMATE_PATCH"
        },
        {
          "id": "one_drain",
          "type": "sql_count_at_least",
          "min": 1,
          "sql": "SELECT CASE WHEN (SELECT COUNT(*) FROM automations WHERE key=LEADS_ENRICH_BATCH AND enabled=1)=1 THEN 1 ELSE 0 END AS n"
        }
      ],
      "required_evidence": [
        "tool_output",
        "automations_after"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T18:15:52-07:00",
      "updated_at": "2026-08-04T18:15:52-07:00",
      "audit": "/api/work/task/WT-0053/audit",
      "submit_to": "/api/work/task/WT-0053/submit"
    },
    {
      "task_id": "WT-0007",
      "kind": "work",
      "objective": "Rewrite /a/semaglutide from its 59-byte stub to a canonical article about semaglutide only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "semaglutide"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "semaglutide",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "semaglutide",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "semaglutide"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/semaglutide",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "semaglutide"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:59-07:00",
      "updated_at": "2026-08-04T16:27:59-07:00",
      "audit": "/api/work/task/WT-0007/audit",
      "submit_to": "/api/work/task/WT-0007/submit"
    },
    {
      "task_id": "WT-0008",
      "kind": "work",
      "objective": "Rewrite /a/mots-c from its 59-byte stub to a canonical article about mots-c only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "mots-c"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "mots-c",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "mots-c",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "mots-c"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/mots-c",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "mots-c"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:27:59-07:00",
      "updated_at": "2026-08-04T16:27:59-07:00",
      "audit": "/api/work/task/WT-0008/audit",
      "submit_to": "/api/work/task/WT-0008/submit"
    },
    {
      "task_id": "WT-0009",
      "kind": "work",
      "objective": "Rewrite /a/ss-31 from its 59-byte stub to a canonical article about ss-31 only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "ss-31"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "ss-31",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "ss-31",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "ss-31"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/ss-31",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "ss-31"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:00-07:00",
      "updated_at": "2026-08-04T16:28:00-07:00",
      "audit": "/api/work/task/WT-0009/audit",
      "submit_to": "/api/work/task/WT-0009/submit"
    },
    {
      "task_id": "WT-0010",
      "kind": "work",
      "objective": "Rewrite /a/epitalon from its 59-byte stub to a canonical article about epitalon only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "epitalon"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "epitalon",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "epitalon",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "epitalon"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/epitalon",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "epitalon"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:00-07:00",
      "updated_at": "2026-08-04T16:28:00-07:00",
      "audit": "/api/work/task/WT-0010/audit",
      "submit_to": "/api/work/task/WT-0010/submit"
    },
    {
      "task_id": "WT-0011",
      "kind": "work",
      "objective": "Rewrite /a/dihexa from its 59-byte stub to a canonical article about dihexa only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "dihexa"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "dihexa",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "dihexa",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "dihexa"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/dihexa",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "dihexa"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:00-07:00",
      "updated_at": "2026-08-04T16:28:00-07:00",
      "audit": "/api/work/task/WT-0011/audit",
      "submit_to": "/api/work/task/WT-0011/submit"
    },
    {
      "task_id": "WT-0012",
      "kind": "work",
      "objective": "Rewrite /a/cerebrolysin from its 59-byte stub to a canonical article about cerebrolysin only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "cerebrolysin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "cerebrolysin",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "cerebrolysin",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "cerebrolysin"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/cerebrolysin",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "cerebrolysin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:01-07:00",
      "updated_at": "2026-08-04T16:28:01-07:00",
      "audit": "/api/work/task/WT-0012/audit",
      "submit_to": "/api/work/task/WT-0012/submit"
    },
    {
      "task_id": "WT-0013",
      "kind": "work",
      "objective": "Rewrite /a/pinealon from its 59-byte stub to a canonical article about pinealon only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "pinealon"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "pinealon",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "pinealon",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "pinealon"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/pinealon",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "pinealon"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:01-07:00",
      "updated_at": "2026-08-04T16:28:01-07:00",
      "audit": "/api/work/task/WT-0013/audit",
      "submit_to": "/api/work/task/WT-0013/submit"
    },
    {
      "task_id": "WT-0014",
      "kind": "work",
      "objective": "Rewrite /a/vip from its 59-byte stub to a canonical article about vip only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "vip"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "vip",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "vip",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "vip"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/vip",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "vip"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:01-07:00",
      "updated_at": "2026-08-04T16:28:01-07:00",
      "audit": "/api/work/task/WT-0014/audit",
      "submit_to": "/api/work/task/WT-0014/submit"
    },
    {
      "task_id": "WT-0015",
      "kind": "work",
      "objective": "Rewrite /a/humanin from its 59-byte stub to a canonical article about humanin only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "humanin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "humanin",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "humanin",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "humanin"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/humanin",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "humanin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:02-07:00",
      "updated_at": "2026-08-04T16:28:02-07:00",
      "audit": "/api/work/task/WT-0015/audit",
      "submit_to": "/api/work/task/WT-0015/submit"
    },
    {
      "task_id": "WT-0016",
      "kind": "work",
      "objective": "Rewrite /a/tesamorelin from its 59-byte stub to a canonical article about tesamorelin only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "tesamorelin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "tesamorelin",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "tesamorelin",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "tesamorelin"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/tesamorelin",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "tesamorelin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:02-07:00",
      "updated_at": "2026-08-04T16:28:02-07:00",
      "audit": "/api/work/task/WT-0016/audit",
      "submit_to": "/api/work/task/WT-0016/submit"
    },
    {
      "task_id": "WT-0017",
      "kind": "work",
      "objective": "Rewrite /a/ipamorelin from its 59-byte stub to a canonical article about ipamorelin only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "ipamorelin"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "ipamorelin",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "ipamorelin",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "ipamorelin"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/ipamorelin",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "ipamorelin"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:02-07:00",
      "updated_at": "2026-08-04T16:28:02-07:00",
      "audit": "/api/work/task/WT-0017/audit",
      "submit_to": "/api/work/task/WT-0017/submit"
    },
    {
      "task_id": "WT-0018",
      "kind": "work",
      "objective": "Rewrite /a/cjc-1295 from its 59-byte stub to a canonical article about cjc-1295 only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "cjc-1295"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "cjc-1295",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "cjc-1295",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "cjc-1295"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/cjc-1295",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "cjc-1295"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:03-07:00",
      "updated_at": "2026-08-04T16:28:03-07:00",
      "audit": "/api/work/task/WT-0018/audit",
      "submit_to": "/api/work/task/WT-0018/submit"
    },
    {
      "task_id": "WT-0019",
      "kind": "work",
      "objective": "Rewrite /a/mk-677 from its 59-byte stub to a canonical article about mk-677 only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "mk-677"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "mk-677",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "mk-677",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "mk-677"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/mk-677",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "mk-677"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:03-07:00",
      "updated_at": "2026-08-04T16:28:03-07:00",
      "audit": "/api/work/task/WT-0019/audit",
      "submit_to": "/api/work/task/WT-0019/submit"
    },
    {
      "task_id": "WT-0020",
      "kind": "work",
      "objective": "Rewrite /a/aod-9604 from its 59-byte stub to a canonical article about aod-9604 only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "aod-9604"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "aod-9604",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "aod-9604",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "aod-9604"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/aod-9604",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "aod-9604"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:03-07:00",
      "updated_at": "2026-08-04T16:28:03-07:00",
      "audit": "/api/work/task/WT-0020/audit",
      "submit_to": "/api/work/task/WT-0020/submit"
    },
    {
      "task_id": "WT-0021",
      "kind": "work",
      "objective": "Rewrite /a/melanotan-ii from its 59-byte stub to a canonical article about melanotan-ii only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "melanotan-ii"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "melanotan-ii",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "melanotan-ii",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "melanotan-ii"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/melanotan-ii",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "melanotan-ii"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:03-07:00",
      "updated_at": "2026-08-04T16:28:03-07:00",
      "audit": "/api/work/task/WT-0021/audit",
      "submit_to": "/api/work/task/WT-0021/submit"
    },
    {
      "task_id": "WT-0022",
      "kind": "work",
      "objective": "Rewrite /a/nad-plus from its 59-byte stub to a canonical article about nad-plus only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "nad-plus"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "nad-plus",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "nad-plus",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "nad-plus"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/nad-plus",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "nad-plus"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:04-07:00",
      "updated_at": "2026-08-04T16:28:04-07:00",
      "audit": "/api/work/task/WT-0022/audit",
      "submit_to": "/api/work/task/WT-0022/submit"
    },
    {
      "task_id": "WT-0023",
      "kind": "work",
      "objective": "Rewrite /a/glutathione from its 59-byte stub to a canonical article about glutathione only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "glutathione"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "glutathione",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "glutathione",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "glutathione"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/glutathione",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "glutathione"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:04-07:00",
      "updated_at": "2026-08-04T16:28:04-07:00",
      "audit": "/api/work/task/WT-0023/audit",
      "submit_to": "/api/work/task/WT-0023/submit"
    },
    {
      "task_id": "WT-0024",
      "kind": "work",
      "objective": "Rewrite /a/matrixyl from its 59-byte stub to a canonical article about matrixyl only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "matrixyl"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "matrixyl",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "matrixyl",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "matrixyl"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/matrixyl",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "matrixyl"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:04-07:00",
      "updated_at": "2026-08-04T16:28:04-07:00",
      "audit": "/api/work/task/WT-0024/audit",
      "submit_to": "/api/work/task/WT-0024/submit"
    },
    {
      "task_id": "WT-0025",
      "kind": "work",
      "objective": "Rewrite /a/glow-70 from its 59-byte stub to a canonical article about glow-70 only",
      "detail": "Read the writing law first. The article is about this compound and nothing else — no condition framing in the title or in any section heading; the write path refuses that class. 2,500+ words, 5+ real sources with verbatim quotes, the human-evidence position stated plainly in the opening, the counted self-reported record with its denominator, commercial relationship disclosed in the body without naming the seller, hero image with no text in the pixels.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task/<id>/submit",
        "GET /api/articles/<slug>",
        "PUT /api/articles/<slug>",
        "PATCH /api/articles/<slug>",
        "GET /api/articles/writing-law/skill",
        "WEB_FETCH",
        "pubmed eutils",
        "ARCADS_GENERATE",
        "ARCADS_TO_R2",
        "REDDIT_SEARCH",
        "REDDIT_THREAD"
      ],
      "acceptance_tests": [
        {
          "id": "exists",
          "type": "article_exists",
          "slug": "glow-70"
        },
        {
          "id": "words",
          "type": "article_min_words",
          "slug": "glow-70",
          "min": 2500
        },
        {
          "id": "sources",
          "type": "article_min_sources",
          "slug": "glow-70",
          "min": 5
        },
        {
          "id": "published",
          "type": "article_published",
          "slug": "glow-70"
        },
        {
          "id": "renders",
          "type": "contains",
          "url": "/a/glow-70",
          "needle": "<article"
        },
        {
          "id": "hero",
          "type": "article_has_hero",
          "slug": "glow-70"
        }
      ],
      "required_evidence": [
        "rendered_url",
        "hero_inspection_note",
        "sources_added",
        "counted_self_reported_record"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:05-07:00",
      "updated_at": "2026-08-04T16:28:05-07:00",
      "audit": "/api/work/task/WT-0025/audit",
      "submit_to": "/api/work/task/WT-0025/submit"
    },
    {
      "task_id": "WT-0040",
      "kind": "work",
      "objective": "probe",
      "detail": "",
      "state": "superseded",
      "priority": 5,
      "revision": 2,
      "depends_on": [],
      "permitted_capabilities": [],
      "acceptance_tests": [],
      "required_evidence": [],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T17:45:10-07:00",
      "updated_at": "2026-08-04T17:54:55-07:00",
      "audit": "/api/work/task/WT-0040/audit",
      "submit_to": "/api/work/task/WT-0040/submit"
    },
    {
      "task_id": "WT-0055",
      "kind": "work",
      "objective": "Re-scope WT-0052: the 804 quote-less sources are in the build documentation corpus, not the health corpus",
      "detail": "WT-0052 reads as though 152 health articles need repair. They do not. A per-article scan on 2026-08-04 found exactly one health-corpus article with quote-less sources (retatrutide-stimulants, now repaired). The 804 sit in the build and compliance documentation — the-build-end-to-end 39, opos-formal-audit 26, proven-work 21, and a long tail of spec articles — where many sources are internal cross-references and specification citations, for which a verbatim quotation means something different from a study quotation. Decide the right contract for those source types, then either repair them to it or record the exemption in source_law.js so the ceiling stops implying work that should not be done.",
      "state": "open",
      "priority": 5,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "functions/_lib/source_law.js",
        "scripts/check-source-quotes.mjs",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "evidence",
          "type": "evidence_present",
          "field": "decision"
        }
      ],
      "required_evidence": [
        "decision",
        "articles_touched",
        "new_ceiling"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T19:22:32-07:00",
      "updated_at": "2026-08-04T19:22:32-07:00",
      "audit": "/api/work/task/WT-0055/audit",
      "submit_to": "/api/work/task/WT-0055/submit"
    },
    {
      "task_id": "WT-0037",
      "kind": "work",
      "objective": "Import the remaining 605 combination-page rows from the spreadsheet projection into canonical task objects",
      "detail": "The spreadsheet tabs CHIRO ARTICLE PRIORITY and CHIRO WRITE QUEUE are non-authoritative projections of a scoring pass. Import every remaining row as a task object with its score as priority, then mark the tabs as projections in their header rows so no agent treats them as a queue.",
      "state": "open",
      "priority": 7,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task",
        "APPS_SCRIPT_RUN sheets_replace_tab"
      ],
      "acceptance_tests": [
        {
          "id": "tasks_imported",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM work_tasks",
          "min": 650
        }
      ],
      "required_evidence": [
        "rows_imported",
        "sheet_header_updated"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:08-07:00",
      "updated_at": "2026-08-04T16:28:08-07:00",
      "audit": "/api/work/task/WT-0037/audit",
      "submit_to": "/api/work/task/WT-0037/submit"
    },
    {
      "task_id": "WT-0038",
      "kind": "work",
      "objective": "Import the 21 open builder_queue rows into canonical task objects and retire the parallel queue",
      "detail": "builder_queue holds 21 open rows with priorities but no acceptance tests, no lease and no audit. Import each as a work task with acceptance tests derived from its proof field, then leave builder_queue readable as a historical projection with a header row saying it is not authoritative.",
      "state": "open",
      "priority": 7,
      "revision": 1,
      "depends_on": [],
      "permitted_capabilities": [
        "GET /api/work",
        "POST /api/work/task",
        "D1_QUERY"
      ],
      "acceptance_tests": [
        {
          "id": "imported",
          "type": "sql_count_at_least",
          "sql": "SELECT COUNT(*) AS n FROM work_tasks WHERE objective LIKE '%builder_queue%' OR detail LIKE '%builder_queue%'",
          "min": 1
        }
      ],
      "required_evidence": [
        "rows_imported",
        "projection_marked"
      ],
      "parent_task": null,
      "supersedes": null,
      "failure": null,
      "failure_count": 0,
      "last_result": null,
      "lease": null,
      "completed_at": null,
      "created_at": "2026-08-04T16:28:09-07:00",
      "updated_at": "2026-08-04T16:28:09-07:00",
      "audit": "/api/work/task/WT-0038/audit",
      "submit_to": "/api/work/task/WT-0038/submit"
    }
  ],
  "audit": {
    "head_hash": "b5f846345ef223d55d5bb11403b9c4c0a296e2c721f0802fbfdbaaacf68b1bf8",
    "head_action": 123,
    "recent": [
      {
        "id": 123,
        "ts": "2026-08-04T19:22:32-07:00",
        "task_id": "WT-0055",
        "action": "create",
        "agent": "opus-5 (claude-code)",
        "model": null,
        "result": "recorded",
        "hash": "b5f846345ef223d55d5bb11403b9c4c0a296e2c721f0802fbfdbaaacf68b1bf8"
      },
      {
        "id": 122,
        "ts": "2026-08-04T19:22:31-07:00",
        "task_id": "WT-0054",
        "action": "create",
        "agent": "opus-5 (claude-code)",
        "model": null,
        "result": "recorded",
        "hash": "d70a631d64b830443e1455bb27795ee266655b7e0bab2f95ca4c0a7a30f243dd"
      },
      {
        "id": 121,
        "ts": "2026-08-04T18:54:49-07:00",
        "task_id": "WT-0051",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "086e432f0ebaa9ebf437244f1b2e458fe14edb309e0de3dbca2bad04241ebb47"
      },
      {
        "id": 120,
        "ts": "2026-08-04T18:54:49-07:00",
        "task_id": "WT-0051",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "abc51cb99ea1b39ff472f0ba7ddd579216e2dae28854240b6833fe7c147f85c5"
      },
      {
        "id": 119,
        "ts": "2026-08-04T18:54:48-07:00",
        "task_id": "WT-0051",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "90f9584747ee6bfb98b90451bd99c018f417ade9b75f219b3aeb8d4114e7fa50"
      },
      {
        "id": 118,
        "ts": "2026-08-04T18:54:17-07:00",
        "task_id": "WT-0051",
        "action": "refuse",
        "agent": "infrastructure",
        "model": null,
        "result": "refused",
        "hash": "e6bf5a7f739ac3ead1a97da0760e449c2c8def5dd73aff6f7602ac2d419a1dbf"
      },
      {
        "id": 117,
        "ts": "2026-08-04T18:54:17-07:00",
        "task_id": "WT-0051",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "refused",
        "hash": "17e0a0c6cc25001ac9d25dc60b90c61c06046060345c2eae4eafaf6fc14c6ae7"
      },
      {
        "id": 116,
        "ts": "2026-08-04T18:54:17-07:00",
        "task_id": "WT-0051",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "f6541d507b8c5d60ada06606d747969ca2ac1f771d65632e73fc62700f67876b"
      },
      {
        "id": 115,
        "ts": "2026-08-04T18:49:36-07:00",
        "task_id": "WT-0048",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "f9443935d6155e83bb1825c49d8fbccf3a1d5e2b4df8cc6546ae5f5192da20c5"
      },
      {
        "id": 114,
        "ts": "2026-08-04T18:49:36-07:00",
        "task_id": "WT-0048",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "2e2587283bd29ff5ff2fb2980d9c9b25fa6cad922d4563b4760dfe36f593aefb"
      },
      {
        "id": 113,
        "ts": "2026-08-04T18:49:35-07:00",
        "task_id": "WT-0048",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "bce978c1049ab6a4db5671397eee7ab5b99eebcd63378bae42c54c636079e895"
      },
      {
        "id": 112,
        "ts": "2026-08-04T18:48:50-07:00",
        "task_id": "WT-0048",
        "action": "refuse",
        "agent": "infrastructure",
        "model": null,
        "result": "refused",
        "hash": "a1afc8cdc052043ac950d2e438f76130044a1d7e6f0268e758f1c3c0e67a458c"
      },
      {
        "id": 111,
        "ts": "2026-08-04T18:48:45-07:00",
        "task_id": "WT-0048",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "refused",
        "hash": "31180adfd6a22835d2c4624350e890415c65df42219a328d95f9f52c09e29529"
      },
      {
        "id": 110,
        "ts": "2026-08-04T18:48:43-07:00",
        "task_id": "WT-0048",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "5ef830be83df6ab3a4f41c1db371e46da4143d061d6ad1ae0f0067b9b442e619"
      },
      {
        "id": 109,
        "ts": "2026-08-04T18:47:32-07:00",
        "task_id": "WT-0047",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "c13b647feaa5b237ad12dd13e27318eab16175d6e189ea04216c24a89efabb02"
      },
      {
        "id": 108,
        "ts": "2026-08-04T18:47:28-07:00",
        "task_id": "WT-0047",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "0adb28aef2d9beb67b510e3ca976d4be7983e1cc540f047c72ea3417095f0e07"
      },
      {
        "id": 107,
        "ts": "2026-08-04T18:47:28-07:00",
        "task_id": "WT-0047",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "08e7f6c4ed2bde4d41a68333efbf5fd75722e49106fd6d83317b024733c7f598"
      },
      {
        "id": 106,
        "ts": "2026-08-04T18:46:00-07:00",
        "task_id": "WT-0050",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "aa7faa43bbcb77401fc5d8f012dffe34931dab4026ca847d5242897416a92e25"
      },
      {
        "id": 105,
        "ts": "2026-08-04T18:45:55-07:00",
        "task_id": "WT-0050",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "30bc18e887f8a381f6054f9308d124c99269740a0dab7324dc80fbd24e7657ed"
      },
      {
        "id": 104,
        "ts": "2026-08-04T18:45:54-07:00",
        "task_id": "WT-0050",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "6fd8197dc66f52c8ae832b5a6598d6ed2b91892f0451865f936a1810703e3e64"
      },
      {
        "id": 103,
        "ts": "2026-08-04T18:44:14-07:00",
        "task_id": "WT-0049",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "f373d6fda84034c59b43a9a878c9966a0a6bfd3b0fa7d123f1262a9d0888c2b5"
      },
      {
        "id": 102,
        "ts": "2026-08-04T18:44:13-07:00",
        "task_id": "WT-0049",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "6547f8e1df8dde64f80329d2639eafdf2299a94589b4f6b1901c8865ca28720b"
      },
      {
        "id": 101,
        "ts": "2026-08-04T18:44:13-07:00",
        "task_id": "WT-0049",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "a11475c6fb7dd28e5ea32fa763193eb8a8044b33f1543c22170ffe2e1f2714c1"
      },
      {
        "id": 100,
        "ts": "2026-08-04T18:42:14-07:00",
        "task_id": "WT-0045",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "e5d402d04052336e5d8bb8eed161c4f806a38cfb6e80d6a7df1c8fa8aea9503c"
      },
      {
        "id": 99,
        "ts": "2026-08-04T18:42:09-07:00",
        "task_id": "WT-0045",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "f051dcfa00547c1a29ff16689aab77671812ee38ea616e47719f867fd08e7448"
      },
      {
        "id": 98,
        "ts": "2026-08-04T18:42:09-07:00",
        "task_id": "WT-0045",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "36d280797b8d744eec243dadc8b9f8aa434238c303bdc941054f11342513caa6"
      },
      {
        "id": 97,
        "ts": "2026-08-04T18:40:50-07:00",
        "task_id": "WT-0046",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "d0316fb6d4607c332668de8c8aabe609608d70fe9e13b64bbc5b021fe7bcd97e"
      },
      {
        "id": 96,
        "ts": "2026-08-04T18:40:50-07:00",
        "task_id": "WT-0046",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "296dd4424312e357d53d20b3db7d095b6abd6c8d8bb86cd333806755c498dbd4"
      },
      {
        "id": 95,
        "ts": "2026-08-04T18:40:48-07:00",
        "task_id": "WT-0046",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "6d4c538cbce93b435594dac6e7f09ae8e1bba8a88dab570a34d70ef74815b970"
      },
      {
        "id": 94,
        "ts": "2026-08-04T18:40:01-07:00",
        "task_id": "WT-0046",
        "action": "refuse",
        "agent": "infrastructure",
        "model": null,
        "result": "refused",
        "hash": "ac9eb7a865c647a47a9a5e880f71663d85477bd3a033b7de27d7f27b3d2cef27"
      },
      {
        "id": 93,
        "ts": "2026-08-04T18:39:56-07:00",
        "task_id": "WT-0046",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "refused",
        "hash": "3bea1991cd93f698bd933eb3ee03225f5f470a168d60425f27599447ce2d1889"
      },
      {
        "id": 92,
        "ts": "2026-08-04T18:39:55-07:00",
        "task_id": "WT-0046",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "4f4749d75b6c320283d9024b91f79b24cfea2b37b1841cc0ae4a315813d2ded2"
      },
      {
        "id": 91,
        "ts": "2026-08-04T18:31:02-07:00",
        "task_id": "WT-0043",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "92bfa62b1192ec826b765f2de9c452d1f37d3dbc7e1f19d261b0d88b57cdd83b"
      },
      {
        "id": 90,
        "ts": "2026-08-04T18:30:58-07:00",
        "task_id": "WT-0043",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "3fb52d60919ac833af25ef78e36081810968cb9d4070db164efe1c83fd5cf871"
      },
      {
        "id": 89,
        "ts": "2026-08-04T18:30:57-07:00",
        "task_id": "WT-0043",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "c9bf5bb99c1f584cb4d8c733e83f8680baa8e6222d7b01d79dff131ba9a98bfb"
      },
      {
        "id": 88,
        "ts": "2026-08-04T18:28:44-07:00",
        "task_id": "WT-0044",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "7b08b005f024eee1218a10182cdb7bca6e20b05aa78d0a8ee550ee7dcb70b071"
      },
      {
        "id": 87,
        "ts": "2026-08-04T18:28:40-07:00",
        "task_id": "WT-0044",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "25ea173523879c86d197717058d9bf47043f6c7570b98a013bef1e391cf1ee84"
      },
      {
        "id": 86,
        "ts": "2026-08-04T18:28:39-07:00",
        "task_id": "WT-0044",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "f6c63edd94b575f1a51a018c6fda8f50e322d14f057a6ef337591540a0fac70a"
      },
      {
        "id": 85,
        "ts": "2026-08-04T18:27:07-07:00",
        "task_id": "WT-0042",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "c7fc24800d11024bfe23eddb3db54cd95fcf7c7c7559ecaeb6fe5ab62e70c75d"
      },
      {
        "id": 84,
        "ts": "2026-08-04T18:27:05-07:00",
        "task_id": "WT-0042",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "580ad591355b65871f4afc7db420c93f5fac372e36ba6e0938d743258061c8e0"
      },
      {
        "id": 83,
        "ts": "2026-08-04T18:27:05-07:00",
        "task_id": "WT-0042",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "4365e0a3b02fabf7c0e3b86923fc8e70472959ea0ac62c3ad7249bbd72d873dd"
      },
      {
        "id": 82,
        "ts": "2026-08-04T18:15:52-07:00",
        "task_id": "WT-0053",
        "action": "create",
        "agent": "opus-5 (claude-code)",
        "model": null,
        "result": "recorded",
        "hash": "2892d29bd20d4b14020e290f6f7663637f26b13841804ccc8942df3eff7a4995"
      },
      {
        "id": 81,
        "ts": "2026-08-04T18:12:58-07:00",
        "task_id": "WT-0041",
        "action": "accept",
        "agent": "infrastructure",
        "model": null,
        "result": "accepted",
        "hash": "dc99c367144e68abbda20fe2429f2fd3dde06e57baae0c6eca6dd40f5a2dd48e"
      },
      {
        "id": 80,
        "ts": "2026-08-04T18:12:57-07:00",
        "task_id": "WT-0041",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "accepted",
        "hash": "958bbd3bb4e5bff997282f24bdc234b058c73cf9f1fff764567ff5cee0c357de"
      },
      {
        "id": 79,
        "ts": "2026-08-04T18:12:56-07:00",
        "task_id": "WT-0041",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "17b2af635ea67bba8a7a03756b65010ad118666d8fc2779c3d271ae04242a82d"
      },
      {
        "id": 78,
        "ts": "2026-08-04T18:00:32-07:00",
        "task_id": "WF-0001",
        "action": "create",
        "agent": "infrastructure",
        "model": null,
        "result": "recorded",
        "hash": "ef4e11e28ddc2c36f7e143bd11b8d846595ac17914605f9c63e76d37a4682ced"
      },
      {
        "id": 77,
        "ts": "2026-08-04T18:00:32-07:00",
        "task_id": "WT-0041",
        "action": "fail",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "c4719be95900f1b014a3c8685a9dbae72ba83614ccb8f53734785fe3a0325c66"
      },
      {
        "id": 76,
        "ts": "2026-08-04T17:59:43-07:00",
        "task_id": "WT-0041",
        "action": "refuse",
        "agent": "infrastructure",
        "model": null,
        "result": "refused",
        "hash": "d8aac48345c91d8d4349665963863553b29f38a97f769f72abe62638f1f9be69"
      },
      {
        "id": 75,
        "ts": "2026-08-04T17:59:43-07:00",
        "task_id": "WT-0041",
        "action": "submit",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "refused",
        "hash": "dc71e6b99e8f42092956d18b08185bed1e6278ff415f0054aa522139137ca406"
      },
      {
        "id": 74,
        "ts": "2026-08-04T17:55:25-07:00",
        "task_id": "WT-0041",
        "action": "lease",
        "agent": "opus-5 (claude-code)",
        "model": "claude-opus-5",
        "result": "recorded",
        "hash": "698c3d8163cf48644821fc3713675d9c68b96bd398f26bb9385c532d98713fb5"
      }
    ],
    "full": "https://miscsubjects.com/api/work/audit"
  },
  "unresolved_bypasses": [
    {
      "path": "D1_EXEC / D1_QUERY direct SQL via /api/dispatch",
      "effect": "writes to articles and to work_tasks without running acceptance tests or appending a work_actions row",
      "status": "open — owner-key only; the post-deploy sweeps catch content defects after the fact"
    },
    {
      "path": "PUT/PATCH /api/articles/<slug> outside a leased task",
      "effect": "article content can change without a task object recording why",
      "status": "partially closed — content guards (register, one-object, signature, plain-language) run server-side on both verbs; the task linkage is not yet required"
    },
    {
      "path": "wrangler pages deploy run by hand instead of scripts/ship.mjs",
      "effect": "skips every deploy gate",
      "status": "open — convention only"
    }
  ]
}