Problem
Agents have no persistent memory of why the codebase is structured the way it is. They might suggest refactoring something that was intentionally designed a certain way, or repeat questions that were already answered in a past session.
Proposed Change
Add a manage_adr MCP tool backed by a SQLite table:
manage_adr(action='create', title='Use SQLite over PostgreSQL', context='Deployment simplicity for single-node setups', decision='SQLite with WAL mode', status='accepted')
manage_adr(action='list') -- returns all ADRs as structured JSON
manage_adr(action='get', id=3)
manage_adr(action='deprecate', id=3, superseded_by=7)
Why Agents Need This
When an agent runs get_architecture, including a summary of active ADRs gives it context that prevents it from proposing changes that violate intentional constraints. This is persistent knowledge that survives session resets.
Storage
Store in .codelens/adrs.db or as markdown files in docs/adr/ (user configurable).
Problem
Agents have no persistent memory of why the codebase is structured the way it is. They might suggest refactoring something that was intentionally designed a certain way, or repeat questions that were already answered in a past session.
Proposed Change
Add a
manage_adrMCP tool backed by a SQLite table:Why Agents Need This
When an agent runs
get_architecture, including a summary of active ADRs gives it context that prevents it from proposing changes that violate intentional constraints. This is persistent knowledge that survives session resets.Storage
Store in
.codelens/adrs.dbor as markdown files indocs/adr/(user configurable).