Skip to content

[workspace-split] Epic: monolithic crate → Cargo workspace #68

Description

@yaohaowei0914

Workspace Split — Epic

Integration branch: V1
Design doc: docs/superpowers/specs/2026-04-20-workspace-split-design.md

Why

Today the Rust source is one crate (~92k LOC, 356 files). Any edit triggers full-crate re-codegen. After switching to rust-lld (commit 620e7ad), incremental cargo build is ~7.5s — still dominated by per-crate codegen.

Target: after splitting into a workspace, editing a single tool touches ~3s.

Dependency analysis (source: grep use crate::X;)

  • Leaves (zero internal deps): types, auth, observability, skills, keybindings, bootstrap
  • Cycles (must be broken): tools::agentengine::lifecycle, enginecommands, via narrow call sites (1–3 files each)

Phased execution

Each child issue is an independently mergeable PR on V1. Build and test must pass at every phase.

Acceptance

  • Incremental build after editing one tool: <3s (baseline 7.5s)
  • Clean release build within 10% of current (~2m)
  • cargo test green at every phase boundary
  • No new public API, no new runtime deps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions