diff --git a/doc/evolution.md b/doc/evolution.md index 0ccac0a..05e7a2a 100644 --- a/doc/evolution.md +++ b/doc/evolution.md @@ -832,10 +832,19 @@ Zero dead exported functions remain (verified via LSP + grep across all repos). ## Phase 19: EDSL Extraction & Structural Cleanup (Aug 3–4) -The declarative EDSL that powered the 9P filesystem was extracted into a -standalone, reusable library. Alongside this, accumulated cruft was removed: -dead packages, obsolete scripts, and features that no longer justified their -complexity. +The declarative EDSL created in Phase 15 was extracted into a standalone, +reusable library. This wasn't just moving code — the EDSL itself was +**created from scratch on Aug 2** to replace ~3,100 lines of imperative +filesystem code. Within 48 hours it went from concept to extracted library. + +The trajectory: +1. **Aug 2 morning**: Created the EDSL (Phase 15) — replaced imperative tree-building with declarative spec +2. **Aug 2 afternoon**: Streamlined the 9P server (Phase 16) — reduced to thin protocol handler +3. **Aug 3**: Extracted EDSL to `fsedsl/` as a reusable library +4. **Aug 4**: Structural cleanup — removed dead packages, improved `o` CLI + +This rapid iteration exemplifies the project's development style: build the +right abstraction, validate it works, then extract it for reuse. ### fsedsl: Standalone Library