Skip to content

Refactor large work graph and operator UI source files #307

@cbusillo

Description

@cbusillo

Objective

Reduce the largest Launchplane source files so future work graph, service API, and operator UI changes can land without repeatedly editing multi-thousand-line files.

Finish Line

Work graph/UI changes land without editing giant files

Current Status

State: Backend/frontend refactor sprint is parked after a substantial cleanup pass. frontend/src/App.tsx is down to 1,907 lines; control_plane/service.py is down to 7,589 lines after extracting work-graph, product-config, and runtime-key-safety route adapters. The oversized control_plane/cli.py cleanup was split into #421 so it does not expand this issue's scope.
Next action: If #307 resumes, choose one more narrow route adapter or close/narrow the issue after confirming common work graph/operator UI changes no longer require editing giant implementation blocks.
Blocked by: No active blocker. Work is intentionally paused because the user said we are done landing changes for now.
Last verified: 2026-05-07 after PRs #422, #423, and #425 merged, post-merge CI/Security/CodeQL passed, deploy succeeded, and live health returned launchplane_req_2280daeb174548d48f43e4382471031d.

Scope

  • Extract work graph HTTP route/adaptor code from the broad service module behind existing authorization and contract boundaries.
  • Split operator cockpit rendering into focused frontend components without changing the user-facing workflow.
  • Consider splitting workflow deploy helper shell blocks only after runtime behavior is stable.
  • Keep changes mechanical and separately verified; avoid broad style rewrites.

Acceptance Criteria

  • Refactor PRs preserve existing behavior and tests.
  • Each PR reduces a concrete large-file hotspot or narrows a repeated edit surface.
  • Work graph/provider changes can be made in focused modules without editing the broad service or app shell for common cases.
  • Docs are updated only where ownership or operational behavior changes.

Relationships

Validation

  • Existing unit tests for work graph contracts, service snapshot/rank routes, and GitHub Project provider continue to pass.
  • Frontend typecheck/build continue to pass after component extraction.
  • Targeted browser fixture review for any UI component split that changes markup or layout.

Decisions

Open Questions

  • Should service route extraction use a small local router module first, or wait for a broader service boundary pass?
  • Which frontend split creates the most review value: What-next row rendering, chooser controls, or data-loading state?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:activeCurrent active plan

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions