Release reporter destination references after finalization

This commit is contained in:
2026-11-07 15:44:55 +00:00
parent 7c7d1df13f
commit 8dbb25aba9
4 changed files with 50 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
# Consolidated audit catalog
Status: **20 distinct open findings: 20 P3**, consolidated from 30
Status: **19 distinct open findings: 19 P3**, consolidated from 30
numbered entries in seven audit documents. Reviewed audit state:
`db732e3a1de55c844f77870e1c6db683c2685d5d`.
@@ -159,6 +159,10 @@ Also noted in the [documentation cross-references](13-documentation.md#previousl
## F07 — P3: Closed reporting handles retain both borrowed destinations
**Complete.** Finalization drops direct destination references after presentation
is captured. Focused reporter tests cover successful, failed and canceled outcomes,
closed handles, retained causes, and caller ownership.
A retained closed `Reporter`, `Output`, or `DeferredReporter` keeps the shared
reporting state and both destination writers reachable. Applications retaining a
closed handle can therefore retain large buffers or resource-bearing writer

View File

@@ -1,6 +1,6 @@
# Audit remediation implementation plan
Status: in progress; Stages 1–6 complete.
Status: in progress; Stages 1–7 complete.
Baseline: `d492c7747175c01a53261206c2b4356e53453621`. Before this sprint,
intervening changes recorded decisions and retired the completed older
@@ -280,6 +280,11 @@ script/shell validation. Stage 14 relies on this repaired fixture.
## Stage 7 — Release finalized reporter destination references
**Complete.** Finalization clears both borrowed writer references after
capturing presentation, without closing them. Tests cover success, operational
failure, cancellation, late handles and writer ownership; focused reporter tests
pass in the offline aligned Go 1.27.0 workspace with `-mod=readonly`.
Findings: F07. Source: `reporter.go`; builds on stage 3.
1. After deferred/completion/terminal presentation and capture of observations,