Close deferred reporting before final delivery
This commit is contained in:
@@ -136,7 +136,9 @@ installation alongside aliases and integration commands.
|
||||
`Report()` for formatted substantive values and optional text templates;
|
||||
use `Output()` or `RenderOutput()` for deliberate raw output. Use `Warn`, `Info`,
|
||||
`Progress`, and `Debug` for categorized messages. Queue a summary with
|
||||
`AtEnd().Info` when it belongs after the handler returns. The
|
||||
`AtEnd().Info` when it belongs after the handler returns. Deferred submissions
|
||||
are accepted until finalization begins; later submissions return
|
||||
`ErrReporterClosed`. The
|
||||
[CLI reference](../cli.md#reporting) owns flag grammar, visibility, prefixes,
|
||||
and status behavior.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Consolidated audit catalog
|
||||
|
||||
Status: **25 distinct open findings: three P2 and 22 P3**, consolidated from 30
|
||||
Status: **24 distinct open findings: two P2 and 22 P3**, consolidated from 30
|
||||
numbered entries in seven audit documents. Reviewed audit state:
|
||||
`db732e3a1de55c844f77870e1c6db683c2685d5d`.
|
||||
|
||||
@@ -76,6 +76,12 @@ Also noted in the [documentation cross-references](13-documentation.md#previousl
|
||||
|
||||
## F03 — P2: Finalization can discard an accepted deferred message
|
||||
|
||||
**Complete.** The acceptance cutoff and batch detachment now share one locked
|
||||
transition. A deterministic regression reproduces the former lost submission and
|
||||
checks late empty/hidden submissions, accepted delivery, completion, and terminal
|
||||
ordering. Focused reporter tests passed normally and under the race detector;
|
||||
existing tests cover visibility and presentation failures.
|
||||
|
||||
Core reporter finalization detaches the deferred batch before closing
|
||||
acceptance. A concurrent submission can return success while presentation is in
|
||||
progress, then be discarded when finalization clears the queue. The returned
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Audit remediation implementation plan
|
||||
|
||||
Status: in progress; Stages 1–2 complete.
|
||||
Status: in progress; Stages 1–3 complete.
|
||||
|
||||
Baseline: `d492c7747175c01a53261206c2b4356e53453621`. Before this sprint,
|
||||
intervening changes recorded decisions and retired the completed older
|
||||
@@ -163,6 +163,13 @@ Complete when both binding replay and per-kind seed boundaries are isolated.
|
||||
|
||||
## Stage 3 — Close deferred acceptance atomically
|
||||
|
||||
**Complete.** Finalization closes deferred acceptance while detaching its
|
||||
batch; completion and terminal reporting remain available. The channel-controlled
|
||||
regression failed against the original code and now passes alongside focused
|
||||
reporter and hidden-deferred tests, both normally and with `-race -count=1`, in
|
||||
the aligned Go 1.27.0 workspace with offline, read-only module resolution. The
|
||||
old reporter test wrappers were replaced with real selection and finalization.
|
||||
|
||||
Findings: F03 and the reporter-lifecycle portion of F24. Source: `reporter.go`.
|
||||
|
||||
1. Add a private deferred-acceptance/finalization state distinct from the final
|
||||
|
||||
Reference in New Issue
Block a user