@@ -31,6 +31,26 @@ LLVM toolchain and `-O0 -g`. Checkout versus extracted archive/execution context
3131is now an observed distinction; it is not an established cause. The CA issue is
3232queued separately and is outside this task.
3333
34+ ## First native diagnostic result and remaining uncertainty
35+
36+ Native diagnostic run ` 39974555288 ` , job ` 120485650697 ` , passes all four existing
37+ cases with zero failures using the exact c0 archive plus the live stderr trace
38+ overlay. The header case takes 303.347 ms. Its actual timer sequence 8 fires,
39+ applies result 0, resumes, matches the current deadline, enforces timeout,
40+ releases the connection and closes the native socket successfully near 300 ms.
41+ A snapshot with no deadline occurs between timer application and watchdog
42+ resumption; a later host wait receives a wake. The original f91/c0 untraced
43+ archive failures remain unexplained. Passing under tracing is neither a fix nor
44+ proof that the failure is independent of this path.
45+
46+ Source review of that handoff finds registration retirement/reset under the
47+ backend mutex, followed by notify; notify and wake acknowledgment share that
48+ mutex. Snapshots borrow handles; dispatch-held leases end before the host returns
49+ to waiting. No violated race invariant or decisive forced-interleaving regression
50+ was established from this successful trace. The next checkpoint reduces trace
51+ perturbation and records actual notify/signal/ack states to distinguish missing
52+ wake from retained lease when a failure is observed.
53+
3454## Action items
3555
3656- [x] Preserve and read prior/current evidence without repeating the closed Linux probe.
@@ -42,20 +62,30 @@ queued separately and is outside this task.
4262 jobs explicitly on manual dispatch.
4363- [x] Check enabled/disabled trace compilation, bounded output, errno preservation,
4464 ordinary-build argument elision, workflow syntax and changed-file lint.
45- - [ ] Execute the native diagnostic and retain actual installed-library provenance.
65+ - [x] Execute the first native diagnostic and retain actual installed-library provenance.
66+ - [x] Prepare bounded in-memory capture with deferred output and explicit event timestamps.
67+ - [ ] Execute one reviewed buffered-trace native diagnostic against the same exact archive.
4668- [ ] Establish cause from native evidence, then write and observe a failing
4769 regression before applying a narrow repair.
4870- [ ] Remove all temporary trace code/header and workflow edits before final merge.
4971- [ ] Run task-relevant final checks and Groundwork validation/finalization.
5072
5173## Checkpoint scope and checks
5274
53- ` HTTPSERVER_DIAG_HEADER_DEADLINE ` enables temporary stderr records, capped at 64
54- per call site. Correlation uses connection IDs, operation pointers/sequences,
55- socket descriptors and registration generations. Time points are converted with
56- ` duration_cast<nanoseconds> ` ; header durations are explicit milliseconds. No
57- request bytes, credentials or peer content are logged. Ordinary builds erase
58- trace argument evaluation.
75+ ` HTTPSERVER_DIAG_HEADER_DEADLINE ` enables temporary typed metadata capture,
76+ capped at 64 records per call site and 2,048 records overall. Each record stores
77+ an explicit monotonic ` event_ns ` , a static format and copied scalar/pointer
78+ values in fixed storage in the compiled library. Capture performs no formatting,
79+ stderr writes, allocation or application mutex locking. The installed test and
80+ library use that same buffer. Only after all four test fixtures have stopped and
81+ the suite has completed does the test call flush to format and emit stderr.
82+ Correlation uses connection IDs, operation pointers/sequences, socket descriptors
83+ and registration generations; new notify/signal/ack metadata covers the observed
84+ wake/retirement handoff. Time points use ` duration_cast<nanoseconds> ` ; header
85+ durations are explicit milliseconds. No request bytes, credentials or peer
86+ content are retained. Capture and flush preserve errno; ordinary builds erase
87+ trace argument evaluation, storage and diagnostic symbols. A discarded compile
88+ branch retains format checking without executing stderr writes during capture.
5989
6090Manual dispatch runs macOS only, preserving its selected compiler/runtime,
6191provider setup and artifact upload. It builds and installs TLS-off libraries at
@@ -96,7 +126,16 @@ workflow extraction/overlay block passes, all eight original overlay files match
96126the exact base, and the private trace header is present. All eight affected
97127translation units also pass diagnostic-enabled syntax/format checks using only
98128the extracted source/include paths. Workflow syntax passes again; only workflow provenance and this task record change in the follow-up.
99- Darwin execution and the original required gate remain incomplete.
129+ The buffered capture contract was tested RED/GREEN: live stderr output first
130+ fails the deferred-output assertion; the new buffer passes. Enabled/disabled
131+ checks link the actual io_operation implementation as a shared library and prove
132+ no output before flush, 64/site caps across concurrent producers, errno
133+ preservation, typed field formatting, positive per-event timestamps, one buffer
134+ shared by executable/library events, and no diagnostic symbols or argument
135+ evaluation in ordinary builds. The updated literal archive overlay and
136+ workflow/test-preservation checks pass; both enabled/disabled extracted-source
137+ syntax checks and changed-file lint pass. Buffered native execution and the
138+ original required gate remain incomplete.
100139
101140The caller reviews/publishes only this task branch and dispatches the existing
102141workflow, then resumes this same worktree with actual native evidence. No root
0 commit comments