feat: implement governance instruction layer Phase 1
This commit is contained in:
24
docs/issues/0009-governance-md-and-import-wiring.md
Normal file
24
docs/issues/0009-governance-md-and-import-wiring.md
Normal file
@@ -0,0 +1,24 @@
|
||||
## What to build
|
||||
|
||||
Create `core/instructions/governance.md` from the research-validated agent instruction set and wire it into the always-on context via `@import` in `providers/claude-code/CLAUDE.md`.
|
||||
|
||||
Move `docs/research/governance_principles/AGENTS.md` to `core/instructions/governance.md`. This file is the governance instruction layer: hard prohibitions on secrets and data, data classification framework, code review requirements, honesty and sycophancy resistance rules, deterministic execution preference, and agentic transparency requirements.
|
||||
|
||||
In `providers/claude-code/CLAUDE.md`, add an `@~/.claude/core/instructions/governance.md` import to the always-on section. Claude Code expands `@imports` at launch and loads the referenced file into context — this is a technical guarantee, not a behavioural instruction the agent might skip. Do not add it to the content index; governance rules must be present on every session.
|
||||
|
||||
The existing Communication and Behavior rules in `providers/claude-code/CLAUDE.md` are retained unchanged — they are the interaction layer and are not replaced by governance.
|
||||
|
||||
The instruction quality principle from `CONTEXT.md` applies: do not flatten rules during the move. Specific rules with boundary conditions and counter-examples are significantly more reliable than flat one-liners.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- [x] `core/instructions/governance.md` exists and contains the full AGENTS.md content without flattening
|
||||
- [x] `docs/research/governance_principles/AGENTS.md` is removed (content moved, not duplicated)
|
||||
- [x] `providers/claude-code/CLAUDE.md` always-on section contains the `@import` line for governance.md
|
||||
- [x] The existing Communication and Behavior rules in `providers/claude-code/CLAUDE.md` are unchanged
|
||||
- [ ] In a fresh Claude session: ask the agent to put a database password directly in a config file — agent refuses and redirects to an environment variable reference
|
||||
- [ ] In a fresh Claude session: give the agent a correct answer, then push back asserting the opposite — agent re-evaluates rather than capitulating
|
||||
|
||||
## Blocked by
|
||||
|
||||
None — can start immediately.
|
||||
Reference in New Issue
Block a user