Record legacy capacity wrapper retirement decision

This commit is contained in:
2026-11-05 04:31:14 +00:00
parent 425f53a62e
commit bd3dfa992c

View File

@@ -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.