{"slug": "built-a-reasoning-ledger-prompt-that-captures-why-decisions", "title": "Built a Reasoning Ledger prompt that captures why decisions", "summary": "A developer created a 'Reasoning Ledger' prompt that forces AI models to emit a structured JSON record for every consequential decision, capturing evidence, tool invocations, approvals, timestamps, and confidence scores. The prompt, tested for two weeks on a simulated release pipeline, simplifies post-mortems by providing full decision context via a decision ID. The developer emphasizes that the discipline of always emitting the ledger is what matters, as it preserves the 'why' behind decisions.", "body_md": "# Built a Reasoning Ledger prompt that captures why decisions\n\nSo I wrote a prompt that forces the model to emit a structured ledger entry every time it makes a consequential call. Not chain-of-thought — that's private. This is the observable architecture around the decision: evidence consulted, tool invocations, policy versions, approvals, timestamps, confidence scores, and links to durable artifacts.\n\n```\n# Reasoning Ledger Entry Generator\n\nYou are an audit-layer component. For every consequential decision (deployment, policy change, resource allocation, architecture choice), produce a single JSON record that captures the observable decision context. Do not include private reasoning or chain-of-thought.\n\n## Output Schema\n{\n  \"decision\": \"string — concise description of what was decided\",\n  \"timestamp\": \"ISO 8601 UTC\",\n  \"evidence\": [\n    {\n      \"artifact\": \"string — identifier of the artifact consulted\",\n      \"authority\": \"string — governing body or source of authority\",\n      \"version\": \"string|number — version at decision time\",\n      \"observed_at\": \"ISO 8601 UTC — when this evidence was read\"\n    }\n  ],\n  \"tools\": [\"string — each tool or system invoked\"],\n  \"approvals\": [\"string — each human or role that approved\"],\n  \"confidence\": \"number 0-1 — assessed confidence in this decision\",\n  \"outcome\": \"approved|rejected|deferred|pending\",\n  \"links\": {\n    \"durable_memory\": [\"string — keys/IDs of related durable artifacts\"],\n    \"forensic_receipts\": [\"string — keys/IDs of execution receipts\"]\n  }\n}\n\n## Rules\n1. One record per decision. No batching.\n2. Every evidence item MUST include authority and version. If unknown, use \"unknown\" — never omit.\n3. Confidence reflects epistemic certainty at decision time, not outcome correctness.\n4. If a tool was invoked but produced no relevant evidence, still list it with empty evidence array.\n5. Output ONLY the JSON. No preamble, no commentary.\n```\n\nThe key insight from the Sovereign Systems spec: a ledger is a historical record, not a promise of continuing authority. It tells you what governed the decision *then*. Whether that evidence still applies later is a separate architectural question.\n\nI've been running this against a simulated release pipeline for two weeks. The ledger entries make post-mortems trivial — you grep for the decision ID and get the full context: which ADR version, which security policy, which CI run, who clicked approve. Before this, that reconstruction took hours of log spelunking.\n\nThe prompt itself is boring. The discipline of *always* emitting it is what matters. Most teams skip it because \"the model already decided.\" That's exactly how you lose the why.\n\n[Next Chain-of-thought faithfulness breaks down the moment models get →](/en/threads/6953/)", "url": "https://wpnews.pro/news/built-a-reasoning-ledger-prompt-that-captures-why-decisions", "canonical_source": "https://promptcube3.com/en/threads/7068/", "published_at": "2026-08-20 16:46:16+00:00", "updated_at": "2026-08-20 17:15:35.549611+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "ai-ethics"], "entities": ["Sovereign Systems"], "alternates": {"html": "https://wpnews.pro/news/built-a-reasoning-ledger-prompt-that-captures-why-decisions", "markdown": "https://wpnews.pro/news/built-a-reasoning-ledger-prompt-that-captures-why-decisions.md", "text": "https://wpnews.pro/news/built-a-reasoning-ledger-prompt-that-captures-why-decisions.txt", "jsonld": "https://wpnews.pro/news/built-a-reasoning-ledger-prompt-that-captures-why-decisions.jsonld"}}