Compile Docs Through Typed Slots: Models Fill EXTRACT, Humans Own AUTHOR
Description and use
A CI pipeline that enforces typed slots (EXTRACT, RENDER, AUTHOR) ensures only model‑generated factual content is included, while policy and human prose remain in AUTHOR slots, preventing unverified statements.
Problem
Generated documentation often mixes factual extracts with policy or obligation language, making review difficult and risking unverified statements.
Outcome
The workflow ensures that only model‑generated factual content appears in EXTRACT and RENDER slots, any policy or human‑written text remains in AUTHOR slots, and CI rejects drafts with untyped prose or stale hashes, enabling traceable, auditable documentation builds.
Workflow
- Inventory source files and compute SHA256 digests for each allowed path.
- Write a markdown template using explicit SLOT tags for EXTRACT, RENDER, and AUTHOR.
- Run an extractor that copies only allowlisted JSON paths into facts.json, emitting no free‑text.
- Send facts.json and the slotted template to a model instructed to fill only EXTRACT and RENDER regions.
- Run slot_compiler.py on the filled markdown; fail the job if untyped prose, AUTHOR writes, or hash drift are detected.
- Open a human‑owned change that replaces each AUTHOR identifier with policy, guidance, or an explicit blank.
- Publish the page only when the compiler reports a clean slot map and a complete AUTHOR ownership ledger.
Evidence
A compiler framing fixes that mixing problem without asking the model to judge policy language.
The compile rule stays short and mechanical so CI can apply it without editorial judgment.
- Record date: 2026-09-15T14:01:33.739Z