{
  "id": 18290612,
  "title": "Fence the Human-Owned Paragraphs: A Markdown Contract for Model-Assisted Docs",
  "url": "https://urgent.news/2026/11/05/fence-the-human-owned-paragraphs-a-markdown-contract-for-model",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-05T10:45:49.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/github_7727/fence-the-human-owned-paragraphs-a-markdown-contract-for-model-assisted-docs-1mc9"
  },
  "original_language": "en",
  "account": "Human-authored paragraphs must be fenced to prevent a model from rewriting them in a documentation generator. This approach helps maintain the integrity of human-written content by assigning specific write permissions to different block classes within Markdown files. The three block classes are:\n\n1. Facts: Contains factual information such as configuration keys, script-generated content, and routing tables. Only a script reading the repository or build output can modify this block.\n2. Prose: Includes human-authored content like motivation, tutorial steps, examples, and comparisons. A named person is responsible for any changes within this block, and any model-authored change will fail the build.\n3. Deprecations: Contains deprecation warnings, security caveats, migration orders, and cost warnings. Only a named person may edit this block, and any model-authored change will also fail the build.\n\nEach block is fenced using a consistent syntax with an 'owner' attribute (human, prose, or facts) and a unique 'id'. These fences prevent any model from writing outside the allowed blocks, and a linter ensures structural integrity during pull requests. By enforcing these block classes and write permissions, the documentation generator maintains the correct balance between model assistance and human oversight.",
  "summary": "The cheapest control you can put on a documentation generator is not a stricter prompt. It is a file format that gives the model no legal place to write except the prose blocks you hand it. This post defines three block classes in Markdown, a linter that fails on structural drift, and a splice step that can only rewrite the blocks it was granted. When a model tries to \"improve\" the deprecation…",
  "key_points": [
    "Human-authored paragraphs fenced to prevent model rewriting",
    "Three block classes: Facts, Prose, Deprecations",
    "Each block fenced with owner attribute and unique id"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}