mirror of
https://github.com/max-sixty/worktrunk.git
synced 2026-09-14 20:00:38 +08:00
964533f89f
Two internal execution paths maintained duplicate type layers: background hooks projected prepared commands into pipeline-only DTOs and rebuilt their context, while list collection paired each runtime task kind with a trait and zero-sized marker type. This PR removes those parallel models so each subsystem has one canonical representation. Background pipeline JSON now carries `PreparedStep` directly in a small process envelope. The runner preserves each command's prepared context and derives its log directory from the reopened repository. List work items dispatch through an exhaustive `TaskKind::compute`; private computations return `anyhow::Result`, and the dispatch boundary attaches the task-specific error once. The change removes 311 net lines and the `pipeline_spec` module without changing CLI or configuration behavior. Verification: `cargo run -- hook pre-merge --yes` passed all 4,719 tests, with one skipped and no snapshot changes. Two direct unit tests cover the task-input preconditions that the refactor moved into the patch coverage window. > _This was written by Codex on behalf of max-sixty_