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 ## 34. Decide Whether To Retain The Legacy Capacity Client Wrapper
**Decision-dependent architectural cleanup.** The old capacity client wrapper **Accepted architectural cleanup; implementation pending.** The old capacity
is used by tests, whereas production dispatch uses the generation coordinator. client wrapper is used only by tests; production dispatch uses the generation
It is also explicitly retained in current internal documentation; the dead-code coordinator. [Decision 6](#decision-6-retention-of-the-legacy-capacity-client-wrapper)
audit does not classify it as obsolete functionality. If that retention decision selects removal of the production wrapper and its retention documentation.
is revised, exercise the production coordinator in runner tests and move any Migrate the runner scheduling test to the production coordinator and preserve
needed one-shot capacity scaffolding into tests before retiring the wrapper. useful FIFO, cancellation, independent-pool, and panic-release coverage with
Preserve FIFO, cancellation, independent-pool, and panic-release coverage. the owning components. Keep any useful one-shot scaffolding test-only. This
This is not a second scheduling algorithm or a confirmed concurrency defect. 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), 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). [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 guidance. No new recurring release gate or general consumer security advisory
work is introduced. This record does not itself update the installed toolchain. 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 ### Decision 6: Retention Of The Legacy Capacity Client Wrapper
**Related finding:** [34](#34-decide-whether-to-retain-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 **Status:** Accepted; implementation pending.
currently documented test-focused purpose?
**Recommendation:** Retire the production wrapper after moving the runner's **Decision:** Retire the legacy production capacity client wrapper. Move the
integration test to the production generation coordinator. Keep direct manager runner's initial-generation and repair scheduling test to the production
coverage and any useful one-shot scaffolding in tests. This reduces maintenance generation coordinator. Preserve useful FIFO, cancellation, independent-backend,
and makes assembled scheduling tests reflect production while preserving the and panic-release coverage in tests of the components that own those behaviors.
actual FIFO, cancellation, independent-pool, and panic-release scenarios. 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 **Rationale:** All current wrapper callers are tests. Production already uses
adapter. This avoids test migration and preserves that convenient composition, the generation coordinator with the same capacity manager. Removal reduces
but keeps a second assembly surface to understand and maintain. Existing maintenance surface and makes the runner test reflect actual engine assembly,
self-tests alone do not establish a future production need. without changing the public API or production scheduling behavior.
**Resolve before removal:** Confirm the intended retention decision and test **Alternative considered:** Retaining the small wrapper as an internal
ownership. This cleanup can be deferred without blocking the behavioral fixes; convenience would avoid test migration, but no current production need justifies
it is not evidence of a second scheduler or a concurrency defect. 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.