Phase 01: Core Infrastructure & Security - 5 plans in 3 waves - 3 parallel (Wave 1-2), 1 sequential (Wave 3) - Ready for execution Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9.9 KiB
Roadmap: Debate
Overview
Debate transforms Linux distribution customization from command-line complexity into visual creativity. The roadmap follows a dependency-driven path: secure infrastructure first, then overlay and build systems, then user-facing features (accounts, 2D interface, speeches), and finally polish (3D visualization, advanced dependency resolution, multi-distribution content). Each phase delivers verifiable user value, building toward a platform where non-experts can visually customize Linux distributions with confidence.
Phases
Phase Numbering:
- Integer phases (1, 2, 3): Planned milestone work
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
Decimal phases appear between their surrounding integers in numeric order.
- Phase 1: Core Infrastructure & Security - Foundation with sandboxed build environment
- Phase 2: Overlay System Foundation - Layer management and composition engine
- Phase 3: Build Queue & Workers - ISO generation with archiso
- Phase 4: User Accounts - Authentication and user profiles
- Phase 5: Builder Interface (2D) - Functional UI without 3D visualization
- Phase 6: Speeches & Community - Save, share, and discover configurations
- Phase 7: 3D Visualization - Interactive stack visualization (core differentiator)
- Phase 8: Advanced Dependency Resolution - SAT solver with visual conflict resolution
- Phase 9: Distribution Content - Multiple platforms and opening statements
Phase Details
Phase 1: Core Infrastructure & Security
Goal: Production-ready backend infrastructure with security-hardened build environment Depends on: Nothing (first phase) Requirements: INFR-01, INFR-02, INFR-03, INFR-04, INFR-05, INFR-06, INFR-07, ISO-04 Success Criteria (what must be TRUE):
- FastAPI backend serves requests with <200ms p95 latency
- PostgreSQL database accepts connections with daily backups configured
- All traffic flows over HTTPS with valid certificates
- API endpoints enforce rate limiting and CSRF protection
- ISO builds execute in sandboxed containers (systemd-nspawn) with no host access
- Build environment produces deterministic ISOs (identical input = identical hash) Plans: 5 plans
Plans:
- 01-01-PLAN.md — FastAPI project setup with health endpoints
- 01-02-PLAN.md — PostgreSQL database with async SQLAlchemy and Alembic
- 01-03-PLAN.md — Security middleware (rate limiting, CSRF, headers)
- 01-04-PLAN.md — Caddy HTTPS and database backup automation
- 01-05-PLAN.md — systemd-nspawn sandbox with deterministic builds
Phase 2: Overlay System Foundation
Goal: Layer-based configuration system with dependency tracking and composition Depends on: Phase 1 Requirements: OVLY-01, OVLY-02, OVLY-03, OVLY-04, OVLY-05, OVLY-06, OVLY-07, OVLY-10 Success Criteria (what must be TRUE):
- System can store overlay manifests with metadata (name, version, type, description, author, license)
- Manifests define relationships (requires, conflicts, provides, replaces) via YAML schema
- Manifests support user-configurable options (toggle, select, text, number)
- System detects direct conflicts between selected overlays before build
- System enforces layer hierarchy: Opening Statement → Platform → Rhetoric → Talking Points → Closing Argument
- System builds dependency graph from selected overlays
- Overlay engine merges layers with correct precedence (higher layers override lower) Plans: TBD
Plans:
- 02-01: TBD (during phase planning)
Phase 3: Build Queue & Workers
Goal: Asynchronous ISO generation with queue management and caching Depends on: Phase 2 Requirements: ISO-01, ISO-02, ISO-03, ISO-05, ISO-06, ISO-07 Success Criteria (what must be TRUE):
- User can initiate ISO build when configuration is valid
- User sees queue position and estimated wait time
- User sees build progress with stage updates (package install, customization, ISO creation)
- ISO builds complete within 15 minutes
- Identical configurations serve cached ISO immediately (no rebuild)
- User can download completed ISO
- Build failures show clear error messages explaining what went wrong Plans: TBD
Plans:
- 03-01: TBD (during phase planning)
Phase 4: User Accounts
Goal: User authentication, profiles, and personal dashboard Depends on: Phase 1 Requirements: USER-01, USER-02, USER-03, USER-04, USER-05, USER-06, USER-07, USER-08, USER-09, USER-10, USER-11, USER-12, USER-13, USER-14, USER-15 Success Criteria (what must be TRUE):
- User can register with email/password or via GitHub/Google OAuth
- User receives email verification after registration
- User can log in and session persists across browser refresh
- User can reset forgotten password via email link
- User can set unique username, upload avatar, and write bio
- User can view dashboard showing saved speeches, published speeches, and build history
- Other users can view public profiles (username, avatar, bio, published speeches) Plans: TBD
Plans:
- 04-01: TBD (during phase planning)
Phase 5: Builder Interface (2D)
Goal: Functional configuration UI with layer management (no 3D yet) Depends on: Phase 2, Phase 3 Requirements: BUILD-04, BUILD-05, BUILD-06, BUILD-09, BUILD-10, BUILD-11 Success Criteria (what must be TRUE):
- User can browse and search available overlays in layer panel with filtering
- User can add layers to configuration from panel
- User can remove layers from configuration
- When conflicts arise, user sees "Objection!" modal with conflict details
- User can resolve conflicts via Concede (remove layer), Rebut (swap layer), or Withdraw (undo)
- User can access 2D fallback interface on low-end devices
- User can build valid configuration and initiate ISO generation from UI Plans: TBD
Plans:
- 05-01: TBD (during phase planning)
Phase 6: Speeches & Community
Goal: Save, publish, browse, and discover community configurations Depends on: Phase 4, Phase 5 Requirements: SPCH-01, SPCH-02, SPCH-03, SPCH-04, SPCH-05, SPCH-06, SPCH-07, SPCH-08, SPCH-09, SPCH-10, SPCH-11, SPCH-12, OVLY-11, OVLY-12, OVLY-13, OVLY-14 Success Criteria (what must be TRUE):
- User can save current configuration as named speech with description and topics (tags)
- Non-authenticated users can save speeches locally in browser storage
- Authenticated users can publish speeches publicly
- User can browse community speeches in grid view with mini previews
- User can filter speeches by topics, base distribution, window manager, author
- User can sort speeches by popularity, rating, recent, trending
- User can load community speech into builder
- User can rate community speeches
- Users can submit new overlays via GitHub PR workflow
- Submitted overlays undergo automated schema validation and security scanning
- Approved overlays appear in builder Plans: TBD
Plans:
- 06-01: TBD (during phase planning)
Phase 7: 3D Visualization
Goal: Interactive 3D stack visualization making configuration tangible Depends on: Phase 5 Requirements: BUILD-01, BUILD-02, BUILD-03, BUILD-07, BUILD-08 Success Criteria (what must be TRUE):
- User sees configuration as interactive 3D stack of layers
- User can rotate and zoom the 3D visualization with mouse/touch
- User can click a layer in 3D space to select it and see details
- 3D visualization runs at 60fps on mid-range hardware (Intel UHD Graphics)
- Conflicting layers visually pulse red and lift off the stack
- Animations are smooth and responsive to user interaction Plans: TBD
Plans:
- 07-01: TBD (during phase planning)
Phase 8: Advanced Dependency Resolution
Goal: SAT solver-based dependency resolution with intelligent conflict suggestions Depends on: Phase 2, Phase 5 Requirements: OVLY-08, OVLY-09 Success Criteria (what must be TRUE):
- System detects missing requirements and shows clear warnings
- System suggests compatible alternative overlays when conflicts arise
- System topologically sorts overlays for correct application order
- Dependency resolution completes in <1 second for typical configurations (50-100 overlays)
- Conflict explanations help users understand why overlays are incompatible
- Alternative suggestions are contextually relevant (same type, similar features) Plans: TBD
Plans:
- 08-01: TBD (during phase planning)
Phase 9: Distribution Content
Goal: Multiple window managers and base distributions available Depends on: Phase 2 Requirements: DIST-01, DIST-02, DIST-03, DIST-04, DIST-05, DIST-06, DIST-07, DIST-08, DIST-09, DIST-10 Success Criteria (what must be TRUE):
- CachyOS available as Opening Statement
- Pure Arch and EndeavourOS available as Opening Statements
- Omarchy opinions (theming, apps, configs) mapped to overlays
- Hyprland, Sway, and i3 available as Platform overlays
- KDE Plasma, COSMIC, and GNOME available as Platform overlays
- User can select any base distribution and combine with any compatible platform
- Each platform includes working configuration that boots successfully Plans: TBD
Plans:
- 09-01: TBD (during phase planning)
Progress
Execution Order: Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9
| Phase | Plans Complete | Status | Completed |
|---|---|---|---|
| 1. Core Infrastructure & Security | 0/5 | Planned | - |
| 2. Overlay System Foundation | 0/TBD | Not started | - |
| 3. Build Queue & Workers | 0/TBD | Not started | - |
| 4. User Accounts | 0/TBD | Not started | - |
| 5. Builder Interface (2D) | 0/TBD | Not started | - |
| 6. Speeches & Community | 0/TBD | Not started | - |
| 7. 3D Visualization | 0/TBD | Not started | - |
| 8. Advanced Dependency Resolution | 0/TBD | Not started | - |
| 9. Distribution Content | 0/TBD | Not started | - |