Skip to content

Commit 71008fd

Browse files
committed
Merge FEATURE-ci-darwin-header-deadline: Conclude bounded diagnostic stage
2 parents c0cfdab + dbe4026 commit 71008fd

2 files changed

Lines changed: 187 additions & 0 deletions

File tree

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# FEATURE-ci-darwin-header-deadline-followup: Unresolved Darwin external deadline failure
2+
3+
Status: Pending — cause unknown; further diagnostic decision deferred until safe,
4+
confirmed independent CI fixes are finished. No new investigation is authorized
5+
by this record alone.
6+
7+
Predecessor: [bounded native diagnostic stage](FEATURE-ci-darwin-header-deadline.md).
8+
Evidence source: `v3` c0 `c0cfdabc8040273d60c610269a93d1c687ed8517` and prior
9+
f91 native archive failure. Choose the eventual implementation base when scheduled.
10+
11+
## Preserved defect and requirements
12+
13+
Installed shared TLS-off Darwin `external_http1_e2e`, case
14+
`published_header_deadline_drives_empty_dispatch`, failed in f91 archive run
15+
`39962644789` / job `120444991323` / artifact `12506406058`, and c0 archive run
16+
`39969790346` / job `120469466623` / artifact `12509855171`. On c0 the case took
17+
10,006.1 ms: original assertion 217 (`receive_close`) and 221 (`!failed`) failed;
18+
219 (`empty_dispatches > 0`) passed. Other three cases and native HTTP1 passed.
19+
Preserve the original 300 ms header deadline, 10 s host failure deadline and
20+
assertions. Original failed gates remain open/incomplete; the defect is not fixed.
21+
22+
## Completed bounded checks and limits
23+
24+
The predecessor's approved controls are finished. Live and deferred trace overlays
25+
on the exact selected archive passed the four external cases, first in runner
26+
context, then with corrected EUID 0 and original signal defaults. Their healthy
27+
~303 ms timer/continuation/enforcement/native-close sequences prove no cause;
28+
instrumentation can change scheduling. No decisive forced-interleaving regression
29+
or broken wake/lease-retirement invariant was established.
30+
31+
Final run `39990090304` / macOS job `120539322802` used unchanged selected c0
32+
archive/core/test/helpers, original package_lane setup/prelude and first two
33+
TLS-off shared suites, direct original Popen and actual EUID 0. Native HTTP1
34+
60 tests / 708 checks and external four / 52 passed; header 303.348 ms.
35+
Original receipt checks preceded the partial stop. This establishes intermittency,
36+
not cause, fix, independence or whole-matrix passage. Sampling was not triggered;
37+
actual native sampler execution remains untested. Local real-process controller
38+
checks do not substitute for native failure evidence.
39+
40+
Same-c0 checkout package job `120468733495` also passed TLS-off before a separate
41+
TLS-on CA failure. Archive versus checkout/setup was an observed contrast, not
42+
an explanation. Root execution correction did not establish a deadline cause.
43+
All temporary source/test/workflow diagnostics were removed in the predecessor;
44+
its original source/test/workflow tree equals c0 exactly.
45+
46+
## Pending work when scheduled
47+
48+
- [ ] After independent confirmed Windows staging, TLS CA fixture and FreeBSD
49+
selected-make fixes are finished, make the next explicit diagnostic decision
50+
from retained evidence. No unchanged retry or additional probe is implied.
51+
- [ ] If further investigation is authorized, define one bounded question and
52+
stopping condition; preserve source/runtime context and original failures.
53+
- [ ] Establish a concrete cause and observe a meaningful failing actual-code
54+
regression before any narrow behavior repair; preserve budgets/assertions.
55+
- [ ] Validate a proven repair with relevant local checks and assigned native CI;
56+
remove any newly authorized diagnostics before finalization.
57+
58+
The closed prior Linux parity/publication-wait uncertainty is not reopened.
59+
No dependency/policy change, broad baseline, assertion relaxation, timeout
60+
increase or unrelated repair is authorized here.
61+
62+
Primary evidence: `.debug/ci-darwin-native-69af4dxe/journal.md`, original c0/f91
63+
logs/receipts, `original-prefix-summary.json`, `original-prefix-external.log`,
64+
and retained original-prefix diagnostic/sampling/suites/commands receipts.
65+
Final control source artifact `12508482722` (run `39969790346`, attempt 1), tar
66+
SHA-256 `43124552f20bd00fceddc714856d605ca9caf017a849a991c34f16f437fcab83`.
67+
The predecessor card records complete archive and evidence ZIP bindings.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# FEATURE-ci-darwin-header-deadline: Bounded native Darwin deadline diagnostic stage
2+
3+
Status: Complete — bounded diagnostic stage only. Groundwork validation passed
4+
(1 iteration, 0 fixed, 0 unworked); the defect and full CI gates remain unresolved.
5+
6+
Base: `v3` at `c0cfdabc8040273d60c610269a93d1c687ed8517`.
7+
8+
## Goal and acceptance
9+
10+
Complete the user-approved bounded native investigation of the installed shared
11+
TLS-off Darwin external header-deadline failure, preserve the evidence and its
12+
limits, and remove every temporary implementation/test/workflow change. On
13+
2026-10-23, after the final unmodified-source control passed, the diagnostic
14+
stage was explicitly closed with an inconclusive causal outcome. This stage's
15+
acceptance does not include or claim a defect repair or a passing package gate.
16+
The original repair objective remains open in
17+
[FEATURE-ci-darwin-header-deadline-followup.md](FEATURE-ci-darwin-header-deadline-followup.md).
18+
19+
Acceptance for this diagnostic stage:
20+
21+
- [x] Preserve original failing receipts and execute only the approved bounded native controls.
22+
- [x] Record actual source, archive, installed linkage, compiler and execution context.
23+
- [x] Adjudicate successful controls as intermittency, without claiming a cause, fix or independence.
24+
- [x] Restore source, existing tests and workflows to exact base bytes; remove the temporary header.
25+
- [x] Preserve unresolved assertions/budgets, evidence and limits in a separate pending task.
26+
- [x] Verify documentation-only final delta and `git diff --check`.
27+
- [x] Caller: Groundwork validation and serial task finalization.
28+
29+
## Original failure remains open
30+
31+
The installed shared TLS-off `external_http1_e2e` case
32+
`published_header_deadline_drives_empty_dispatch` failed on f91 archive run
33+
`39962644789`, Darwin job `120444991323`, artifact `12506406058`, and again on
34+
exact c0 archive run `39969790346`, job `120469466623`, artifact `12509855171`.
35+
On c0 it took 10,006.1 ms: assertion 217 (`receive_close`) and assertion 221
36+
(`!failed`) failed; assertion 219 (`empty_dispatches > 0`) passed. Other three
37+
cases and the preceding native HTTP1 suite passed. The 300 ms header budget,
38+
10 s host failure deadline and all original assertions remain unchanged.
39+
40+
At the same c0 revision, package checkout job `120468733495` passed the TLS-off
41+
lane and failed later in a separate TLS-on CA certificate check. Checkout versus
42+
archive context was an observed contrast, never an established cause. Original
43+
archive and checkout package execution used the existing root fallback after
44+
port 443 binding failed. Earlier runner-context diagnostics did not match that
45+
privilege context; later controls corrected it. The CA issue is separate.
46+
47+
## Completed bounded evidence
48+
49+
| Native run / macOS job | Control | Observed result |
50+
| --- | --- | --- |
51+
| `39974555288` / `120485650697` | Exact c0 archive plus live trace overlay, isolated external suite, runner context | Four tests / 52 checks pass; header 303.347 ms |
52+
| `39978609885` / `120499691522` | Deferred bounded trace overlay, isolated external suite, runner context | Four / 52 pass; 677 records after statistics; healthy header near 303 ms |
53+
| `39982282514` / `120512379909` | Deferred overlay, corrected root context and original signal defaults | Four / 52 pass; actual UID/EUID/GID/EGID 0; healthy timer/enforcement/native close near 303 ms |
54+
| `39990090304` / `120539322802` | Unmodified exact c0 archive and original package prefix, direct original Popen, EUID 0 | Native HTTP1 60 / 708 and external HTTP1 four / 52 pass; header 303.348 ms |
55+
56+
The final control used driver commit
57+
`60caf5d9ec6b9bd611ede1d1367a6ade168fe1e5`, actual source c0, original
58+
`package_lane` prelude and the first two original TLS-off shared suite definitions.
59+
Original suite-result, required-case, status and persisted receipt checks completed
60+
before the explicit partial stop. Static linkage, remaining suites and TLS-on
61+
were outside that control. It is not full package matrix gate passage.
62+
63+
Existing archive helpers verified selected artifact `12508482722` from run
64+
`39969790346`, attempt 1. ZIP SHA-256:
65+
`a08eb79186b13cf12ac8c639f424e13a7de1ee09df5547aab2b4200a951a5f05`.
66+
The 3,053,890-byte archive SHA-256 is
67+
`43124552f20bd00fceddc714856d605ca9caf017a849a991c34f16f437fcab83`.
68+
The final receipt reports `source_unchanged: true`; source/helper bindings were
69+
verified. Read-only artifact credentials stayed outside privileged build/test.
70+
71+
The driver could collect one owned-process sample after a three-second stall,
72+
using the original non-reaping command ownership. Sampling was **not triggered**;
73+
actual Darwin `/usr/bin/sample` collection remains untested. Local real-process
74+
checks established controller ownership/failure propagation and stop-after-original-
75+
receipt behavior, not native sampler execution or product gate passage.
76+
77+
Successful controls establish intermittency. No violated race invariant, failing
78+
forced-interleaving regression or root cause was established. Instrumented passes
79+
can reflect changed scheduling; the final unchanged-source pass also cannot
80+
establish independence. Original failed gates remain open/incomplete. The bounded
81+
investigation is finished; no further retry, probe or speculative repair is
82+
part of this stage. A future diagnostic decision follows completion of the safe,
83+
confirmed independent CI fixes, as recorded in the pending task.
84+
85+
## Cleanup and verification
86+
87+
All seven changed private implementation files, the existing external integration
88+
test and existing `v3-package-validation.yml` were restored from exact c0 Git
89+
blobs. The added `deadline_trace.hpp` was removed. Source, test and workflow trees
90+
are exactly equal to base; the only persistent delta is this task documentation
91+
and the pending follow-up card. Prior diagnostic commits and retained evidence
92+
remain in history; no reset, rebase or amendment erased them.
93+
94+
Cleanup evidence is in the primary checkout's
95+
`.debug/ci-darwin-native-69af4dxe/diagnostic-stage-cleanup.json` and
96+
`diagnostic-stage-cleanup-check.log`. Byte/blob equality, absent trace identifiers
97+
and the documentation-only diff were checked; `git diff --check` passes. With
98+
no production/test/workflow delta, no C++ build or broad suite was rerun. Groundwork
99+
validation passed at `31ccbeac65a37e85895163666281621fa726b51d` with three
100+
approvals (1 iteration, 0 fixed, 0 unworked); caller finalization records the
101+
diagnosis-only completion. Full CI-green acceptance remains incomplete.
102+
103+
## Evidence and boundaries
104+
105+
Primary journal: `.debug/ci-darwin-native-69af4dxe/journal.md`.
106+
Final receipt summary/log: `original-prefix-summary.json`,
107+
`original-prefix-external.log`; full diagnostic, sampling, suites and commands
108+
receipts use the same `original-prefix-` prefix in that directory. Final evidence
109+
artifact `12517856733` ZIP SHA-256:
110+
`8580a5b6144ce5732aced8cfdee2f69ef413ca5e7d4bd85800bf783eba2da695`.
111+
External stdout SHA-256:
112+
`460335f8d3e88c2cd4211246cb6d29c141b51a5f19ec0071f17ea472c848ed7c`.
113+
The original plan's diagnostic-stage adjudication is recorded in
114+
`.groundwork-plans/FEATURE-ci-darwin-header-deadline-plan.md`.
115+
116+
The prior Linux publication/wait probe remains closed/uncertain in
117+
`.debug/ci-darwin-header-deadline-ybz8bi7l/journal.md`; it was not repeated or
118+
reopened. Windows staging, TLS CA fixture and FreeBSD selected-make corrections
119+
are separate queued tasks. No unrelated worktree was changed, failed gate waived,
120+
publication performed or overall CI-green objective declared complete.

0 commit comments

Comments
 (0)