From bd3dfa992c33da4da3121d3e41f468e4c6bb78a4 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Thu, 5 Nov 2026 04:31:14 +0000 Subject: [PATCH] Record legacy capacity wrapper retirement decision --- docs/roadmap/audit/catalog.md | 63 +++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/docs/roadmap/audit/catalog.md b/docs/roadmap/audit/catalog.md index 087d123..f36a7f0 100644 --- a/docs/roadmap/audit/catalog.md +++ b/docs/roadmap/audit/catalog.md @@ -446,14 +446,14 @@ Sources: [Dead code 4](12-deadcode.md#4-remove-orphan-helpers-whose-only-callers ## 34. Decide Whether To Retain The Legacy Capacity Client Wrapper -**Decision-dependent architectural cleanup.** The old capacity client wrapper -is used by tests, whereas production dispatch uses the generation coordinator. -It is also explicitly retained in current internal documentation; the dead-code -audit does not classify it as obsolete functionality. If that retention decision -is revised, exercise the production coordinator in runner tests and move any -needed one-shot capacity scaffolding into tests before retiring the wrapper. -Preserve FIFO, cancellation, independent-pool, and panic-release coverage. -This is not a second scheduling algorithm or a confirmed concurrency defect. +**Accepted architectural cleanup; implementation pending.** The old capacity +client wrapper is used only by tests; production dispatch uses the generation +coordinator. [Decision 6](#decision-6-retention-of-the-legacy-capacity-client-wrapper) +selects removal of the production wrapper and its retention documentation. +Migrate the runner scheduling test to the production coordinator and preserve +useful FIFO, cancellation, independent-pool, and panic-release coverage with +the owning components. Keep any useful one-shot scaffolding test-only. This +is not a second scheduling algorithm or a confirmed concurrency defect. Sources: [Boundaries 1](11-boundaries.md#1-retire-the-test-only-capacity-client-as-a-production-scheduling-surface), [Dead-code retention qualification](12-deadcode.md#intentional-retention-and-related-findings). @@ -631,31 +631,36 @@ reassessment and clarify ordinary development toolchain selection in contributor guidance. No new recurring release gate or general consumer security advisory work is introduced. This record does not itself update the installed toolchain. -## Open Decisions - -The remaining decision below retains its original number. It is an unresolved -choice, not an additional finding or approved contract change. It blocks only -its dependent remediation. Implementation details and optional cleanup do not -become release gates merely by appearing in this catalog. - ### Decision 6: Retention Of The Legacy Capacity Client Wrapper **Related finding:** [34](#34-decide-whether-to-retain-the-legacy-capacity-client-wrapper). -**Question:** Does the wrapper still justify a production surface for its -currently documented test-focused purpose? +**Status:** Accepted; implementation pending. -**Recommendation:** Retire the production wrapper after moving the runner's -integration test to the production generation coordinator. Keep direct manager -coverage and any useful one-shot scaffolding in tests. This reduces maintenance -and makes assembled scheduling tests reflect production while preserving the -actual FIFO, cancellation, independent-pool, and panic-release scenarios. +**Decision:** Retire the legacy production capacity client wrapper. Move the +runner's initial-generation and repair scheduling test to the production +generation coordinator. Preserve useful FIFO, cancellation, independent-backend, +and panic-release coverage in tests of the components that own those behaviors. +Keep a small one-shot wrapper as test-only scaffolding if it improves focused +capacity tests; do not retain a production constructor solely for its self-tests. -**Alternative:** Retain it if a concrete internal use justifies the small -adapter. This avoids test migration and preserves that convenient composition, -but keeps a second assembly surface to understand and maintain. Existing -self-tests alone do not establish a future production need. +**Rationale:** All current wrapper callers are tests. Production already uses +the generation coordinator with the same capacity manager. Removal reduces +maintenance surface and makes the runner test reflect actual engine assembly, +without changing the public API or production scheduling behavior. -**Resolve before removal:** Confirm the intended retention decision and test -ownership. This cleanup can be deferred without blocking the behavioral fixes; -it is not evidence of a second scheduler or a concurrency defect. +**Alternative considered:** Retaining the small wrapper as an internal +convenience would avoid test migration, but no current production need justifies +that additional assembly surface. + +**Remediation follow-through:** Migrate the useful assertions before removing +the wrapper and update its retention documentation. Keep this cleanup narrowly +scoped; do not redesign the capacity manager or generation coordinator or add +another permit-acquisition layer around the coordinator. This is not a confirmed +concurrency defect or a release blocker. This record does not implement removal. + +## Open Decisions + +All six decisions above are resolved. Their implementation remains pending; +recording acceptance does not mark the audit findings remediated. No further +open decisions are currently identified in this catalog.