diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-04 15:45:48 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-12-04 15:45:48 +0000 |
| commit | 8c129a4aeab3288f8193ccb820adf00860c50d74 (patch) | |
| tree | c7ac3ca0b408fe3a03c37e7dbfa93a902f33700c | |
| parent | 819866330c7e2f535a155d1d7efaf2e12dc15dc2 (diff) | |
docs: add guidance to keep architecture docs updated
- Added CRITICAL warning section to AGENTS.md about treating architecture
docs as living documents
- Mark 'Keep Architecture Docs Updated' item as fixed in grasp-01 learnings
- Mark 'Document actual architecture' technical debt item as fixed
This addresses a key learning from GRASP-01 where docs described plans
rather than implementation, causing confusion.
| -rw-r--r-- | AGENTS.md | 11 | ||||
| -rw-r--r-- | docs/learnings/grasp-01-implementation.md | 6 |
2 files changed, 15 insertions, 2 deletions
| @@ -172,6 +172,17 @@ fn test_audit_tags_automatically_added() { | |||
| 172 | 172 | ||
| 173 | ## Documentation | 173 | ## Documentation |
| 174 | 174 | ||
| 175 | **⚠️ CRITICAL: Keep Architecture Docs Updated** | ||
| 176 | |||
| 177 | Architecture and design documents are LIVING DOCUMENTS. When implementation diverges from the documented plan: | ||
| 178 | |||
| 179 | 1. **Update the doc IMMEDIATELY** - Don't wait until "later" | ||
| 180 | 2. **Document what was actually built**, not what was originally planned | ||
| 181 | 3. **Note why decisions changed** - Future readers need this context | ||
| 182 | 4. **Files to watch:** `docs/explanation/architecture.md`, `docs/explanation/decisions.md` | ||
| 183 | |||
| 184 | This was a key learning from GRASP-01: docs described plans, not implementation, causing confusion. | ||
| 185 | |||
| 175 | **Diátaxis Framework Used:** | 186 | **Diátaxis Framework Used:** |
| 176 | 187 | ||
| 177 | - `docs/tutorials/` - Learning-oriented | 188 | - `docs/tutorials/` - Learning-oriented |
diff --git a/docs/learnings/grasp-01-implementation.md b/docs/learnings/grasp-01-implementation.md index 719f751..14ab452 100644 --- a/docs/learnings/grasp-01-implementation.md +++ b/docs/learnings/grasp-01-implementation.md | |||
| @@ -150,12 +150,14 @@ This enables parallel CI runs without interference. | |||
| 150 | 150 | ||
| 151 | ## What I'd Do Differently | 151 | ## What I'd Do Differently |
| 152 | 152 | ||
| 153 | ### 1. Keep Architecture Docs Updated | 153 | ### 1. ~~Keep Architecture Docs Updated~~ ✅ FIXED |
| 154 | 154 | ||
| 155 | **What happened:** Architecture design docs were essential to start - they guided the implementation. But as we made decisions (e.g., hyper instead of actix-web), the docs weren't updated to reflect reality. | 155 | **What happened:** Architecture design docs were essential to start - they guided the implementation. But as we made decisions (e.g., hyper instead of actix-web), the docs weren't updated to reflect reality. |
| 156 | 156 | ||
| 157 | **Better approach:** Treat architecture docs as living documents. When implementation diverges from the plan, update the doc immediately. The initial design document was valuable and should remain, but it should reflect what was built. | 157 | **Better approach:** Treat architecture docs as living documents. When implementation diverges from the plan, update the doc immediately. The initial design document was valuable and should remain, but it should reflect what was built. |
| 158 | 158 | ||
| 159 | **Resolution:** Added prominent warning to [`AGENTS.md`](../../AGENTS.md) with explicit guidance to keep architecture docs updated as living documents. | ||
| 160 | |||
| 159 | ### 2. ~~Smaller Nip34WritePolicy~~ ✅ DONE | 161 | ### 2. ~~Smaller Nip34WritePolicy~~ ✅ DONE |
| 160 | 162 | ||
| 161 | **What happened:** The `Nip34WritePolicy` grew to ~900 lines handling all event types. | 163 | **What happened:** The `Nip34WritePolicy` grew to ~900 lines handling all event types. |
| @@ -192,7 +194,7 @@ The main [`Nip34WritePolicy`](src/nostr/builder.rs:51) now delegates to these su | |||
| 192 | 194 | ||
| 193 | 1. ~~**Split `Nip34WritePolicy`**~~ ✅ DONE - Split into sub-policies in [`src/nostr/policy/`](src/nostr/policy/mod.rs:1) | 195 | 1. ~~**Split `Nip34WritePolicy`**~~ ✅ DONE - Split into sub-policies in [`src/nostr/policy/`](src/nostr/policy/mod.rs:1) |
| 194 | 2. **Add unit tests for policy logic** - Currently relies on integration tests | 196 | 2. **Add unit tests for policy logic** - Currently relies on integration tests |
| 195 | 3. **Document actual architecture** - Docs describe plans, not implementation | 197 | 3. ~~**Document actual architecture**~~ ✅ FIXED - Added guidance to AGENTS.md to keep docs updated as living documents |
| 196 | 198 | ||
| 197 | ### Medium Priority | 199 | ### Medium Priority |
| 198 | 200 | ||