Finalize audit remediation decisions for implementation planning
This commit is contained in:
@@ -15,9 +15,11 @@ and request isolation lead; blocked validation,
|
|||||||
resource retention, and consumer contracts precede scaling and maintainability
|
resource retention, and consumer contracts precede scaling and maintainability
|
||||||
work; editorial and historical navigation issues follow.
|
work; editorial and historical navigation issues follow.
|
||||||
|
|
||||||
The [remediation analysis](remediation-analysis.md) tracks unresolved choices
|
The [remediation analysis](remediation-analysis.md) records the completed design
|
||||||
and recommendations for sequential discussion. Accepted conclusions are recorded
|
review and its rationale. All choices identified for discussion have been
|
||||||
in this catalog; analysis alone does not select a remedy.
|
resolved; no further product or architectural decision is required before
|
||||||
|
implementation planning. Accepted conclusions are recorded in this catalog;
|
||||||
|
all 27 findings still require remediation and validation.
|
||||||
|
|
||||||
Three pairs describe the same underlying issue: correctness C2/concurrency N2,
|
Three pairs describe the same underlying issue: correctness C2/concurrency N2,
|
||||||
correctness C4/concurrency N3, and complexity M6/responsibility R1. Other
|
correctness C4/concurrency N3, and complexity M6/responsibility R1. Other
|
||||||
@@ -306,9 +308,12 @@ ckconfig's `captureSuite` interleaves scope and selector capture, validation,
|
|||||||
comparison-binding renaming, binding attachment, operation unions, and discovery
|
comparison-binding renaming, binding attachment, operation unions, and discovery
|
||||||
inventory. Several partially populated collections must be understood together.
|
inventory. Several partially populated collections must be understood together.
|
||||||
|
|
||||||
Extract cohesive private phases over the existing prepared types, keeping
|
**Decision:** extract cohesive scope capture/validation and selector attachment
|
||||||
related loops together. Preserve retained error order, declaration ownership,
|
responsibilities, and make operation bindings and discovery inventory
|
||||||
scope and binding identity, and metadata-only construction.
|
construction explicit. Use existing prepared types and keep related loops
|
||||||
|
together. Preserve retained error order, declaration ownership, scope and binding
|
||||||
|
identity, and metadata-only construction. Do not create new intermediate records
|
||||||
|
or a helper for each loop merely to shorten the function.
|
||||||
|
|
||||||
**Original:** [03-complexity M1](03-complexity.md#m1--p3-scope-capture-combines-several-compilation-phases).
|
**Original:** [03-complexity M1](03-complexity.md#m1--p3-scope-capture-combines-several-compilation-phases).
|
||||||
|
|
||||||
@@ -319,10 +324,12 @@ combinations, help selection, capabilities, pointer parsing, plan assembly,
|
|||||||
ordinary inputs, and independent comparison inputs. Understanding one operation
|
ordinary inputs, and independent comparison inputs. Understanding one operation
|
||||||
requires reasoning through irrelevant submodes.
|
requires reasoning through irrelevant submodes.
|
||||||
|
|
||||||
Separate operation options, shared selection, and comparison preparation with
|
**Decision:** separate operation-specific option checks, shared scope/capability
|
||||||
small private functions. Preserve the ordering of checks, input factories,
|
selection, and comparison input preparation with small private functions. Keep
|
||||||
binding application, state construction, and acquisition; no generic operation
|
the overall sequence explicit, including explain's help path, aggregate checks
|
||||||
engine is needed.
|
before input construction, independent comparison sides, and input checks before
|
||||||
|
shared state creation and acquisition. Extract flag groups where this clarifies
|
||||||
|
their purpose; no generic operation engine or rule registry is selected.
|
||||||
|
|
||||||
**Original:** [03-complexity M2](03-complexity.md#m2--p3-configuration-preflight-mixes-shared-and-operation-specific-rules).
|
**Original:** [03-complexity M2](03-complexity.md#m2--p3-configuration-preflight-mixes-shared-and-operation-specific-rules).
|
||||||
|
|
||||||
@@ -333,9 +340,13 @@ spelling, occurrence identities, application order, required flags, operands,
|
|||||||
and prepared callbacks. Captured binding replay depends on those shared
|
and prepared callbacks. Captured binding replay depends on those shared
|
||||||
identities across another code path.
|
identities across another code path.
|
||||||
|
|
||||||
Extract cohesive error translation, flag/occurrence preparation, and argument
|
**Decision:** make small extractions for conversion-error attribution and operand
|
||||||
preparation. Retain the selected dense reconstruction and heap merge, binding
|
preparation. Keep flag preparation, occurrence identity, and order reconstruction
|
||||||
identity, conversion-before-factory ordering, and error identity.
|
together; that block may remain in the orchestration function if extraction
|
||||||
|
requires excessive plumbing. Retain dense reconstruction, the captured-replay
|
||||||
|
heap merge, binding identity, supplied-state distinctions, conversion before
|
||||||
|
input factories, and error identity. No new state containers or replay framework
|
||||||
|
are selected.
|
||||||
|
|
||||||
**Original:** [03-complexity M4](03-complexity.md#m4--p3-typed-preparation-combines-conversion-provenance-and-replay-assembly).
|
**Original:** [03-complexity M4](03-complexity.md#m4--p3-typed-preparation-combines-conversion-provenance-and-replay-assembly).
|
||||||
|
|
||||||
@@ -346,10 +357,18 @@ setup, render-versus-write error classification, and first-error retention.
|
|||||||
Maintaining the same presentation policy in two branches increases the chance of
|
Maintaining the same presentation policy in two branches increases the chance of
|
||||||
drift.
|
drift.
|
||||||
|
|
||||||
Extract a private helper under the existing reporting lock. Keep
|
**Decision:** extract one private detail-rendering helper under the existing
|
||||||
visibility/discard selection, headings, delivery observations, callback
|
reporting lock, returning rendering and writing errors separately. Callers retain
|
||||||
ordering, and non-reentrancy explicit. This refactor does not itself fix
|
visibility/discard selection, headings, delivery observations, and terminal
|
||||||
deferred-message loss or writer retention.
|
timing. Preserve callback order, hidden-detail execution, sticky writer failures,
|
||||||
|
and non-reentrancy; add no locks or interchangeable rendering machinery.
|
||||||
|
|
||||||
|
Keep this refactor separately reviewable from F03 and F07; it does not itself
|
||||||
|
fix deferred-message loss or writer retention. After correctness repairs, favor
|
||||||
|
F20, then F18 and F17, while keeping F19 modest. All four use private functions
|
||||||
|
and existing types, with no intended public API or CLI behavior change. The
|
||||||
|
[F17–F20 analysis](remediation-analysis.md#f17f20--proportionate-private-extractions)
|
||||||
|
records the accepted scope; implementation remains pending.
|
||||||
|
|
||||||
**Original:** [03-complexity M7](03-complexity.md#m7--p3-terminal-and-ordinary-messages-duplicate-detail-rendering-mechanics).
|
**Original:** [03-complexity M7](03-complexity.md#m7--p3-terminal-and-ordinary-messages-duplicate-detail-rendering-mechanics).
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
# Audit remediation analysis
|
# Audit remediation analysis
|
||||||
|
|
||||||
Status: discussion in progress; no implementation changes made.
|
Status: remediation decisions agreed; ready for implementation planning. No
|
||||||
|
implementation changes made.
|
||||||
|
|
||||||
This document owns analysis of unresolved remediation choices, in the discussion
|
This document records analysis of the remediation choices reviewed in the
|
||||||
order below. The [catalog](catalog.md) owns the findings, accepted remediation
|
discussion order below. The [catalog](catalog.md) owns the findings, accepted remediation
|
||||||
decisions, and their status. Original audits retain detailed evidence. Record
|
decisions, and their status. Original audits retain detailed evidence. Record
|
||||||
accepted conclusions in the catalog and mark the corresponding discussion here
|
accepted conclusions in the catalog and mark the corresponding discussion here
|
||||||
decided; a decision does not close a finding before implementation.
|
decided; a decision does not close a finding before implementation.
|
||||||
|
|
||||||
Existing catalog decisions for F03, F10, F11, F13–F16, and F21 remain selected. In
|
Existing catalog decisions for F03, F10, F11, and F13–F21 remain selected. In
|
||||||
particular, performance testing is not a prerequisite for F13–F15, and F14 and
|
particular, performance testing is not a prerequisite for F13–F15, and F14 and
|
||||||
F15 are to be designed together. CommandKit is pre-release with no consumers;
|
F15 are to be designed together. CommandKit is pre-release with no consumers;
|
||||||
consumer compatibility and migration are not constraints on these choices.
|
consumer compatibility and migration are not constraints on these choices.
|
||||||
@@ -20,7 +21,7 @@ Straightforward correctness repairs need not wait for this discussion sequence.
|
|||||||
| 2 | F21 | What narrow diagnostic adaptation API would simplify both integrations? | Decided: shared public ckconfig helper; remediation pending |
|
| 2 | F21 | What narrow diagnostic adaptation API would simplify both integrations? | Decided: shared public ckconfig helper; remediation pending |
|
||||||
| 3 | F16 | Which flag-consumption facts can parsing and completion usefully share? | Decided: shared internal mechanics, separate caller policies; remediation pending |
|
| 3 | F16 | Which flag-consumption facts can parsing and completion usefully share? | Decided: shared internal mechanics, separate caller policies; remediation pending |
|
||||||
| 4 | F14–F15 | How should both operations reuse source-prefix processing? | Decided: reuse existing resolver tree; remediation pending |
|
| 4 | F14–F15 | How should both operations reuse source-prefix processing? | Decided: reuse existing resolver tree; remediation pending |
|
||||||
| 5 | F17–F20 | Which private extractions materially simplify the existing code? | Functions reviewed; individual recommendations pending agreement |
|
| 5 | F17–F20 | Which private extractions materially simplify the existing code? | Decided: bounded private extractions, conservative F19; remediation pending |
|
||||||
|
|
||||||
## F10 — Flag declaration naming
|
## F10 — Flag declaration naming
|
||||||
|
|
||||||
@@ -96,7 +97,7 @@ without introducing a broader diagnostics framework?
|
|||||||
**Evidence:** [catalog F21](catalog.md#f21--p3-both-integrations-maintain-the-same-configkit-diagnostic-adaptation)
|
**Evidence:** [catalog F21](catalog.md#f21--p3-both-integrations-maintain-the-same-configkit-diagnostic-adaptation)
|
||||||
links both adapters and the original analysis.
|
links both adapters and the original analysis.
|
||||||
|
|
||||||
**Options to examine:** a narrow public ckconfig helper returning existing core
|
**Options considered:** a narrow public ckconfig helper returning existing core
|
||||||
diagnostics and an explanation, or retaining private implementations if the
|
diagnostics and an explanation, or retaining private implementations if the
|
||||||
shared API adds more complexity than it removes.
|
shared API adds more complexity than it removes.
|
||||||
|
|
||||||
@@ -147,7 +148,7 @@ completion retain their different handling of incomplete input?
|
|||||||
|
|
||||||
**Evidence:** [catalog F16](catalog.md#f16--p3-parsing-and-completion-duplicate-flag-consumption-grammar).
|
**Evidence:** [catalog F16](catalog.md#f16--p3-parsing-and-completion-duplicate-flag-consumption-grammar).
|
||||||
|
|
||||||
**Options to examine:** a small neutral consumption primitive or deliberate
|
**Options considered:** a small neutral consumption primitive or deliberate
|
||||||
retention of duplication where a shared helper needs extensive caller modes.
|
retention of duplication where a shared helper needs extensive caller modes.
|
||||||
|
|
||||||
**Analysis:** execution's `interpretFlagTokens` in
|
**Analysis:** execution's `interpretFlagTokens` in
|
||||||
@@ -198,7 +199,7 @@ structure without parallel indexes or changed routing semantics?
|
|||||||
**Evidence:** [catalog F14](catalog.md#f14--p3-discovery-context-preparation-repeatedly-rebuilds-shared-prefixes)
|
**Evidence:** [catalog F14](catalog.md#f14--p3-discovery-context-preparation-repeatedly-rebuilds-shared-prefixes)
|
||||||
and [F15](catalog.md#f15--p3-alias-help-scans-the-entire-source-catalog-for-each-intermediate-route).
|
and [F15](catalog.md#f15--p3-alias-help-scans-the-entire-source-catalog-for-each-intermediate-route).
|
||||||
|
|
||||||
**Options to examine:** traversal and descendant lookup through the existing
|
**Options considered:** traversal and descendant lookup through the existing
|
||||||
alias source structure, or one shared private index if the existing structure
|
alias source structure, or one shared private index if the existing structure
|
||||||
cannot serve both operations simply.
|
cannot serve both operations simply.
|
||||||
|
|
||||||
@@ -257,7 +258,7 @@ adding records, phases, or configurable mechanisms merely to shorten functions?
|
|||||||
[F19](catalog.md#f19--p3-typed-input-preparation-mixes-conversion-provenance-and-replay-assembly),
|
[F19](catalog.md#f19--p3-typed-input-preparation-mixes-conversion-provenance-and-replay-assembly),
|
||||||
and [F20](catalog.md#f20--p3-reporter-message-paths-duplicate-detail-rendering-bookkeeping).
|
and [F20](catalog.md#f20--p3-reporter-message-paths-duplicate-detail-rendering-bookkeeping).
|
||||||
|
|
||||||
**Options to examine:** cohesive functions over existing private types, or
|
**Options considered:** cohesive functions over existing private types, or
|
||||||
retaining related code together where extraction only adds indirection.
|
retaining related code together where extraction only adds indirection.
|
||||||
|
|
||||||
These are maintenance improvements, not newly established incorrect CLI
|
These are maintenance improvements, not newly established incorrect CLI
|
||||||
@@ -347,5 +348,26 @@ each resulting diff by whether responsibilities are easier to follow and
|
|||||||
existing behavioral coverage still protects the selected contracts. Tests should
|
existing behavioral coverage still protects the selected contracts. Tests should
|
||||||
not freeze new helper boundaries or incidental private call order.
|
not freeze new helper boundaries or incidental private call order.
|
||||||
|
|
||||||
**Decision:** all four recommendations pending agreement; no refactoring has
|
**Decision:** all four bounded extraction recommendations and the sequencing
|
||||||
been implemented.
|
guidance above are accepted and recorded in the catalog. F19 remains deliberately
|
||||||
|
conservative. No refactoring has been implemented.
|
||||||
|
|
||||||
|
## Readiness for implementation planning
|
||||||
|
|
||||||
|
The discussion sequence is complete. No unresolved product or architectural
|
||||||
|
choice identified in this review blocks preparation of the implementation plan.
|
||||||
|
The catalog's 27 findings remain open until their remedies are implemented and
|
||||||
|
validated.
|
||||||
|
|
||||||
|
The plan can assign work units, dependencies, and proportionate verification.
|
||||||
|
Routine details such as private helper signatures, the public diagnostic
|
||||||
|
helper's final name, and the completion fixture's replacement flag are ordinary
|
||||||
|
implementation choices within the accepted scope. Preserve the recorded
|
||||||
|
boundaries; revisit a decision only if concrete implementation evidence exposes
|
||||||
|
a conflict or a materially different tradeoff.
|
||||||
|
|
||||||
|
Keep F14–F15 together, repair F06 before validating F16, and coordinate the
|
||||||
|
reporter work in F03, F07, F20, and the relevant parts of F24 without obscuring
|
||||||
|
their separate purposes. Validation should distinguish the aligned workspace
|
||||||
|
from independent modules. No implementation plan or production changes are
|
||||||
|
included in this analysis update.
|
||||||
|
|||||||
Reference in New Issue
Block a user