Record legacy capacity wrapper retirement decision
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user