Skip to content

lang: en

worker_casestudies — Run Report

Stand: 2026-06-24

Mechanical worker that grounds case studies from RAW into a 5-section body. No LLM, no external research — every fact in the body traces to (a) the page’s own frontmatter (human authored) and (b) RAW/<slug>.md.

Summary

  • Pages considered: 0

Output rules

  • done — body composed from RAW + frontmatter; page promoted to status: emerging, grounding: secondary, distilled_by: worker_casestudies_mechanical, verified: <date>, draft dropped, held_reason dropped.
  • skipped:done — body already substantive; no change.
  • skipped:draft — explicitly draft: true; leave alone.
  • held:no-raw — no RAW/<slug>.md; page marked draft: true with held_reason: no-raw.
  • held:raw-thin — RAW present but yields < 200 chars of clean text (cookie wall, 404 page, etc.); marked draft: true with held_reason: raw-too-thin.
  • error:write — IO or serialise failure; the page is left untouched and the error message is logged.

Body composition

  1. Clean RAW to plain prose (HTML/markdown noise stripped).
  2. Pull 8 short excerpts (~380 chars each) from the cleaned text. Skip cookie/JS/lorem boilerplate.
  3. Weave them into 5 sections — Context, Goal, Strategy & Tactics, Outcome, Lessons — using the page’s frontmatter country, region, years, issue, summary, tactics, outcome, lessons fields.
  4. Tactic names that resolve to real concept slugs become [[wikilinks]]; the rest stay as plain text.
  5. Every factual sentence carries [source: <slug>] so qc_check accepts the page.
  6. Sections without RAW coverage get a 1-line placeholder pointing at the frontmatter structured record.

Anti-hallucination contract

The worker is mechanical and deterministic. It does NOT fabricate facts. If the RAW is silent on a section, the section gets an honest placeholder. If the RAW is missing or useless, the page is NOT filled — it stays draft: true and is held back by the publish gate.