Architecture: How should libs-structural libraries be consolidated without...

Documentation for Sessions

🏗️ Architecture: How should libs-structural libraries be consolidated without...

Date: 2026-02-28
Time: 21:40:06 UTC
Session: gspace1-156.5
Agent: architecture
Confidence: 95%
Status: ✅ Documented


📋 Decision Context

Question:

How should libs-structural libraries be consolidated without losing reusability?

Task: Not specified


🎯 Decision Made

Chosen:

Reusability-first: DELETE only structure-management (5,661 LOC, 0 consumers). KEEP module-browser-lib (584 LOC, 2+ consumers, generic module selector), platform-shell (904 LOC, quick-switcher reusable across extensions/mobile/desktop), module-editor-lib (939 LOC, clean domain). Deprecation path for space-map-lib→universe-map and modular-universe→universe-canvas. 16→15 libs.

Options Considered:


💭 Reasoning

ROOT CAUSE: Initial analysis recommended merging 3 libs into others (module-browser-lib→modularity-lib, platform-shell→core-angular). User correctly pushed back: small libs with clear domain boundaries and reuse potential should stay independent. Re-analysis showed: module-browser-lib is a generic 'pick a module' component usable by any builder tool; platform-shell's quick-switcher (Cmd+K) and PresenceOverlay are platform-wide utilities that should be adopted by Chrome/VSCode extensions, desktop, and mobile; module-editor-lib has a clean domain (file editing) at the right size. Only structure-management was truly orphaned (0 imports across entire codebase, 8 components duplicated by space-map-lib/universe-canvas). Types it defined already exist in @libs-foundational/core-models.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation