Skip to content

CC_patchbuilder-churn-risk #230

Description

@flyingrobots

Migrated from Method backlog

GitHub Issues are now the live work tracker. Repository docs remain Method evidence.

Field Value
Source backlog docs/method/backlog/bad-code/OWN_patchbuilder-churn-risk.md
Archived source docs/archive/backlog/github-issue-migration-2026-06-01/docs/method/backlog/bad-code/OWN_patchbuilder-churn-risk.md
Original lane bad-code
Original id OWN_patchbuilder-churn-risk
Original legend OWN
Original feature api-capabilities
Original release home v18.0.0

Original backlog card

CC_patchbuilder-churn-risk

Title: PatchBuilderV2 is the highest-churn file with 76 commits in 3 months
Effort: M

Issue

PatchBuilderV2.js has 76 commits (most-changed file after WarpGraph.js
facade), 1101 LOC, fan-out=11, and change-couples with JoinReducer
(20x), CheckpointService (22x), WarpGraph (22x), SyncProtocol (18x),
and Writer (17x). Its commit() method is 128 lines. Every change to the
patch format ripples through 5+ files.

Fix

The change-coupling numbers suggest PatchBuilderV2 is doing too much.
The commit() method should be decomposed: op validation, version vector
management, persistence, and trailer encoding are separate concerns.
Extract a PatchCommitService or similar.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiPrimary work area: api.priority:nextNext in line after active work.status:blockedBlocked by an explicit dependency or external condition.type:debtDebt, rot, or structural risk.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions