{"slug": "prose-is-the-actual-control-plane-in-llm-agents", "title": "Prose is the actual control plane in LLM agents", "summary": "A developer discovered that Claude Code's co-authorship attribution was disabled not by a config file but by a single sentence in a rules file, revealing that prose in LLM agent systems functions as the actual control plane. The developer, who manages 19 specialized agents via Claude Code, found that a deprecated config key referenced in a rules file caused the model to behave as if the feature was off, overriding the actual default-on state. This incident underscores the need to treat .md rules and system prompts with the same rigor as structured configs, as they can silently alter agent behavior.", "body_md": "# Prose is the actual control plane in LLM agents\n\n[Claude](/en/tags/claude/)'s co-authorship attribution in my commits, so I started tearing through every possible config file. I checked\n\n`~/.claude/settings.json`\n\n, `settings.local.json`\n\n, and scanned 38 different project entries. I even ran a sweep of my entire user directory for any `.json`\n\nor `.md`\n\nfiles that might contain the key. Nothing.The \"switch\" I thought I had flipped was actually just a single sentence in a rules file:\n\n```\nNote: Attribution disabled globally via ~/.claude/settings.json.\n```\n\nThis line lived in `~/.claude/rules/ecc/common/git-workflow.md`\n\n. Because rules files are loaded into every session, the model simply accepted this statement as a factual constraint of its environment. The actual configuration key it referenced (`includeCoAuthoredBy`\n\n) was deprecated, and the current one (`attribution`\n\n) wasn't even in my config. By default, the feature was active, but because the prose told the model it was off, the model behaved as if it were off. The description of reality overrode reality itself.\n\n## The danger of \"invisible\" configuration\n\nThis highlights a massive shift in how we think about AI workflow management. In a traditional software stack, documentation describes the system. In an agentic system, prose *is* the system.\n\nI manage a complex multi-agent setup using [Claude Code](/en/tags/claude%20code/)—19 specialized agents coordinating via on-disk artifacts. I use a combination of always-loaded rules files and system prompts filled with handwritten constraints. To a developer, these look like documentation or \"guidance.\" To the LLM, these are hard constraints.\n\nThe problem is that these \"prose configs\" have none of the guardrails of a real control plane:\n\n**No Schema:** There is no validator to tell you if a sentence is contradictory.**No Type Checking:** You can't \"lint\" a paragraph to see if it's still applicable.**No Version Control Accountability:** Unless you're meticulously tracking every rule file, a single sentence can change the global behavior of your agent without leaving a trace in your primary settings.\n\n## When constants outlive their source\n\nI saw this again with a \"frozen\" constant in a system prompt. I had a subscriber count hardcoded as a literal string, marked as \"FROZEN\" so the LLM wouldn't paraphrase it. I updated the number in all my structured source documents, but the LLM kept spitting out the old, incorrect figure in generated artifacts.\n\nThe structured data was correct, but the system prompt—the \"prose\" layer—still held the old value. Because the prompt is the ultimate authority for the model during a session, the \"canonical\" data in the files was ignored in favor of the literal string in the instructions.\n\nFor anyone building a deep dive into LLM agents, the lesson is clear: treat your `.md`\n\nrules and system prompts with the same rigor as your `.yaml`\n\nor `.json`\n\nconfigs. If you put a claim in a rules file, you aren't just documenting the behavior—you are programming it.\n\n[Next Can you actually trust your LLM eval suite to catch a regression? →](/en/threads/6302/)\n\n[an AI side-hustle playbook](https://tanyan888.com/), with plenty of directly applicable cases.\n\n## All Replies （0）\n\nNo replies yet — be the first!", "url": "https://wpnews.pro/news/prose-is-the-actual-control-plane-in-llm-agents", "canonical_source": "https://promptcube3.com/en/threads/6303/", "published_at": "2026-08-14 16:47:26+00:00", "updated_at": "2026-08-14 16:49:33.339282+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-tools"], "entities": ["Claude", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/prose-is-the-actual-control-plane-in-llm-agents", "markdown": "https://wpnews.pro/news/prose-is-the-actual-control-plane-in-llm-agents.md", "text": "https://wpnews.pro/news/prose-is-the-actual-control-plane-in-llm-agents.txt", "jsonld": "https://wpnews.pro/news/prose-is-the-actual-control-plane-in-llm-agents.jsonld"}}