{
  "schema": "org-topic@v1",
  "contract": "https://mnstry.org/contracts/org/org-topic.v1.schema.json",
  "id": "org:courses:approval",
  "topic": "Approval",
  "framing": "Five rooms on the difference between an approval and a record of one. A\nmarker that has to travel in the diff it approves, an exception list allowed\nto move in only one direction, a permission strong enough to fail the build,\na disclosure the format refuses to call reversible, and an erasure that\nactually works. The through-line is not diligence. It is whether the shape\nof the record leaves room for the thing a person actually decided.",
  "readingOrder": [
    {
      "id": "org:writing:justification-travels-in-the-diff",
      "title": "Justification travels in the diff",
      "transition": "Start with where an approval has to sit in order to be one, which turns out to be inside the change it approves and nowhere else at all.",
      "junction": {
        "brick": "org:writing:signed-stones",
        "transition": "Or step across to the older version of the same joint, where the mark saying who cut a stone is carved into the stone rather than filed in a ledger beside it.",
        "targetCourse": "org:courses:artifact"
      },
      "url": "https://mnstry.org/writing/justification-travels-in-the-diff/",
      "json": "https://mnstry.org/writing/justification-travels-in-the-diff.json"
    },
    {
      "id": "org:writing:the-ratchet",
      "title": "The ratchet",
      "transition": "Some approvals are standing rather than single, and the honest form of a standing exception is a list that is only ever allowed to get shorter.",
      "url": "https://mnstry.org/writing/the-ratchet/",
      "json": "https://mnstry.org/writing/the-ratchet.json"
    },
    {
      "id": "org:writing:consent-that-fails-ci",
      "title": "Consent that fails CI",
      "transition": "Move from an exception a reviewer grants to a permission a person gave, and put it somewhere the build refuses to compile without it.",
      "url": "https://mnstry.org/writing/consent-that-fails-ci/",
      "json": "https://mnstry.org/writing/consent-that-fails-ci.json"
    },
    {
      "id": "org:writing:disclosure-is-irrevocable",
      "title": "Disclosure is irrevocable",
      "transition": "Then the approvals that cannot be withdrawn once given, which the cleanest systems record as permanent rather than promise to reverse later.",
      "url": "https://mnstry.org/writing/disclosure-is-irrevocable/",
      "json": "https://mnstry.org/writing/disclosure-is-irrevocable.json"
    },
    {
      "id": "org:writing:destroy-the-key",
      "title": "Destroy the key",
      "transition": "End on the one thing that genuinely can be taken back, and on the precise reason it can, which is that erasure has something to destroy and a reading does not.",
      "url": "https://mnstry.org/writing/destroy-the-key/",
      "json": "https://mnstry.org/writing/destroy-the-key.json"
    }
  ],
  "completion": "You have walked The approval that travels end to end: where a reason has to sit, how a standing exception stays honest, what a permission looks like when the build enforces it, which decisions are permanent on arrival, and what remains recoverable after all. None of these turned on anyone being more careful. Every one turned on whether the record could express the thing a careful person would want to say.",
  "practice": "Take one approval you gave this month, a merged change, a signed-off document, a yes in a thread. Find where the reason for it is written down. If the reason lives anywhere other than alongside the thing it approved, move it, or write one sentence there now. Then notice how much of what you approved had no recorded reason at all, and whether you could reconstruct any of them today.",
  "graph": "https://mnstry.org/kg.json"
}