🧠 Manage Decisions (Architectural Memory)
Context
We must avoid "Ambulance Chasing" development where we restart or revert decisions because we forgot why they were made.
1. When to create an ADR?
- •Changing a core library (e.g.,
PyDrive2->Google API Client). - •Restructuring a package (e.g.,
operations.py->operations/__init__.py). - •Adding a key pattern (e.g., "All UI must use SignalBus").
2. ADR Template
Create a file in .agent/memory/ADR-00X-title.md (Sequential numbering).
markdown
# ADR-00X: [Title] > **Status:** Accepted | Proposed | Deprecated > **Date:** YYYY-MM-DD ## Context What caused this decision? What was the problem? > "The operations.py file grew to 500 lines and mixed Responsibilities." ## Decision What are we doing? > "We split operations.py into a package with `crud.py` and `paths.py`." ## Consequences * **Positive:** Better SRP, easier testing. * **Negative:** More frequent imports needed.
3. Workflow
- •Check: Look at existing ADRs in
.agent/memoryto ensure no conflict. - •Draft: Create the new ADR file.
- •Commit: Add it to git history.