Skip to main content

Source of truth

home/readonly_AGENTS.md is the generated always-loaded core SOP. Rules with an accepted ablation/evaluation record (passed or current no-live mechanical-only) may live in point-of-use consumers such as skills, with ownership recorded in the policy manifest and disposition files.

This page is the maintenance map for changing the prompt without editing rendered $HOME outputs directly.

The core SOP owns the default response style: lead with the answer or next action, use bounded actionable steps, show current state and errors, cut filler and tangents, and keep prose direct and specific without weakening evidence or uncertainty. It synthesizes the applicable guidance from Stop Slop and i-have-adhd: their core skills, linked style references, examples, evaluation cases/rubric, and always-on implementation patterns.

Mental model

RuleWhy it matters
Platform/system/developer rules stay authoritativekeeps harness contracts above user-level policy
Global SOP beats weaker project-local SOPsprevents repo-local instructions from erasing safety gates
Load matching skillsmoves intent-specific rules out of the global prompt
Do not pause mid-taskkeeps execution aligned with the user's requested stopping point

Using it

Update the source and then verify the rendered effect.

StepCommand / check
Edit sourcecore rules in home/readonly_AGENTS.md; moved rules in their declared consumer plus disposition/ablation records
Generatepython3 scripts/compile_ai_policy.py generate
Review renderchezmoi diff
Applychezmoi apply
Verify effectmake verify-agent-policy plus the runtime/content check for the changed consumer

Reference: do not edit these directly

TargetReason
~/AGENTS.mdrendered output from chezmoi
~/CLAUDE.mdsymlink to ~/AGENTS.md
~/.gemini/GEMINI.mdsymlink to ~/AGENTS.md
~/.cursor/AGENTS.mdsymlink to ~/AGENTS.md
~/.codex/AGENTS.mdsymlink to ~/AGENTS.md
~/.config/opencode/AGENTS.mdsymlink to ~/AGENTS.md
~/.copilot/copilot-instructions.mdsymlink to ~/AGENTS.md
~/.agents/skills/*/SKILL.mdrendered from home/exact_dot_agents/exact_skills/

Compiled ownership (policy compiler)

scripts/compile_ai_policy.py compiles home/readonly_AGENTS.md from a versioned policy IR (scripts/ai_policy_ir.py) instead of treating the file as hand-authored prose. Stage 1 established byte-for-byte compilation from one IR rule per numbered SOP heading. Stage 2 moves ablated rules out of the always-loaded core by changing their disposition and consumer while freezing their original text for provenance.

ArtifactRole
scripts/ai_policy_ir.pyrule schema + legacy-file splitter/renderer
scripts/ai_harness_capabilities.pyfails closed when a rule claims a capability (hook, pinned-model overlay) the snapshot doesn't prove
home/dot_config/ai/readonly_harness-capabilities.v1.jsonper-harness evidence: instruction entrypoint, hook support level, model mutability
scripts/compile_ai_policy.pygenerate / verify / verify-budgets / audit-coverage / explain / measure
home/dot_config/ai/readonly_policy-manifest.v1.jsoncommitted provenance: per-rule hash, disposition, consumer, risk tier, eval ref
home/dot_config/ai/readonly_policy-dispositions.v1.jsonStage 2 disposition overrides for moved rules, including frozen original text
home/dot_config/ai/readonly_policy-ablations.v1.jsonaccepted ablation/evaluation records (passed or current no-live mechanical-only) before any rule leaves core
home/dot_config/ai/readonly_policy-rule-inventory.v1.jsonpermanent rule inventory so split rules cannot disappear after core shrinks
scripts/eval_ai_policy.pyplan emits the cross-product cell count/cost estimate; verify-routing/verify-behavior report every cell blocked — live eval execution is a separate, explicitly user-approved spend, never automatic