Skip to content

Epic: Client Hierarchy & Workspace Organization #14

Closed

Description

@rororowyourboat

Overview

Extend t3code with a persistent Client entity that groups Projects into organizational units, introduce a file tree panel, and add drag-and-drop operations for reassigning workspace artifacts across those units.

Goal: Users can organize work across multiple clients with zero cross-contamination of context, using direct manipulation (drag-and-drop) to manage the hierarchy.

Implementation Phases

Phase 1 — Foundation (P1) ✅

# Feature Issue Status
F1 Client CRUD #4 ✅ Done
F2 Client-Project Binding #5 ✅ Done
F3 Sidebar Hierarchy #6 ✅ Done
F4 Drag-Reorder Clients #7 ✅ Done
F5 Drag Project Between Clients #8 ✅ Done
F6 Project Group Migration #9 ✅ Done

Phase 2 — File Awareness (P2) ✅

# Feature Issue Status
F7 File Tree Panel #10 ✅ Done
F8 Drag File References #11 ✅ Done (copy @mention)

Phase 3 — Advanced (P3)

# Feature Issue Status
F9 Terminal Reassignment #12 ⬜ Deferred (requires terminal Manager refactor)
F10 Agent Session Draggable #13 ✅ Done

Architecture Notes

  • All state mutations flow through the existing event-sourced command pipeline (decider → events → projector)
  • Client is a new aggregate type (aggregateKind: "client") alongside existing "project" and "thread"
  • Backward compatibility: new fields use Schema.optional / Schema.withDecodingDefault so existing snapshots decode cleanly
  • Replaces the fragile localStorage-only project-group system with server-persisted hierarchy
  • F6 auto-migrates existing localStorage groups to Clients on first boot

Commits

  • 4d83190e — F1+F2+F3: Client entity, project binding, sidebar hierarchy
  • f34589ee — F4: Client reorder/rename/delete + New Client button
  • f112c13e — F5: Project-client assignment via context menu
  • 5a44b392 — F6: Auto-migrate localStorage groups to Clients
  • 0ccb9827 — F7: File tree panel with directory listing RPC
  • ce5675ce — F8: Copy @mention from file tree
  • 17109db6 — F10: Thread-project reassignment within same client

Activity

  1. rororowyourboat commented on Apr 10, 2026

    @rororowyourboat
    OwnerAuthor

    All features complete. F1-F10 implemented, plus #3 embed status bridge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    client-hierarchyClient hierarchy & workspace organizationepicEpic / tracking issue

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions