|
| 1 | +# FEATURE-ci-windows-stage-compiler: retain the native fixture compiler diagnostic |
| 2 | + |
| 3 | +Status: In Progress — diagnostic checkpoint ready; native compiler cause and repair pending. |
| 4 | +Base: `v3` at `6fc672326b9cad8f4aa068b9641fc03e21218e31`. |
| 5 | + |
| 6 | +The fresh native Windows package job `120607477636` and archive job |
| 7 | +`120608161470` reach the fixture's C compiler check, then report that the compiler |
| 8 | +cannot create executables. The fixture's configure stdout omits the actual |
| 9 | +compiler/linker stderr, and class cleanup removes its temporary `config.log`. |
| 10 | +The existing Windows package artifact `12526449139` retains the successful outer |
| 11 | +configure log, but not the failing inner fixture log. The native cause is unknown. |
| 12 | + |
| 13 | +The first checkpoint reports the last actual configure check before cleanup, |
| 14 | +excluding cache/output-variable sections and the failed source dump. Long check |
| 15 | +output retains its first and last 1000 bytes with a truncation marker. This keeps |
| 16 | +the command and diagnostic near the end of the exception for the installed |
| 17 | +matrix's final-3000-byte error report. Configure failure still raises |
| 18 | +`RuntimeError`, and normal temporary-directory cleanup still runs. |
| 19 | + |
| 20 | +Action items: |
| 21 | + |
| 22 | +- [x] Read primary CLAUDE.md/AGENTS.md, saved plan, literal journal, complete fixture, |
| 23 | + existing workflow, and retained outer Windows configure/command context. |
| 24 | +- [x] Create the isolated Groundwork worktree from the exact v3 base; preserve |
| 25 | + unrelated work. |
| 26 | +- [x] Prove RED with actual configure and a deterministic invalid clang option: |
| 27 | + compiler stderr exists in `config.log` but is absent from the original exception. |
| 28 | +- [x] Add bounded failure reporting before cleanup; preserve the original failure. |
| 29 | +- [x] Prove GREEN with actual configure, including an over-budget real compiler |
| 30 | + diagnostic; retain compiler command/stderr in the final 3000 output bytes. |
| 31 | +- [x] Preserve all eight original test-method ASTs, configured `D:/ci/prefix`, MSYS |
| 32 | + shell/path handoffs, real libtool operations, and production Makefile drivers. |
| 33 | +- [x] Run the healthy eight-case fixture and affected syntax/workflow checks. |
| 34 | +- [x] Prepare a temporary branch-only `windows_only` manual dispatch input in the |
| 35 | + existing package workflow; keep the Windows job and normal push/PR behavior |
| 36 | + unchanged. The three other jobs are explicitly skipped for that selection. |
| 37 | +- [ ] Caller: review checkpoint, publish only this task branch, and dispatch one |
| 38 | + manual Windows-only native control using `windows_only=true`. |
| 39 | +- [ ] Read the actual native diagnostic and adjudicate the cause. If the control |
| 40 | + passes, record intermittency/uncertainty and stop; do not retry unchanged. |
| 41 | +- [ ] Resume this same task for a proven minimal repair with relevant TDD. |
| 42 | +- [ ] Remove every temporary workflow change, restoring the exact base workflow |
| 43 | + before final validation and merge into v3. |
| 44 | +- [ ] Caller: complete required Groundwork validation and finalization. |
| 45 | + |
| 46 | +Checkpoint verification: |
| 47 | + |
| 48 | +- Bootstrap passes with the existing .PHONY / AC_OUTPUT warnings. |
| 49 | +- Original healthy fixture: all 8 tests pass in 19.173s. |
| 50 | +- Actual-configure RED fails because the emitted exception omits clang's |
| 51 | + `unknown argument` diagnostic; the original `RuntimeError` and cleanup are |
| 52 | + observed. GREEN retains the actual command and compiler stderr in the final |
| 53 | + 3000 bytes; the same proof with 80 invalid options verifies bounded truncation. |
| 54 | +- Changed healthy fixture: all 8 tests pass in 20.183s. |
| 55 | +- Python syntax, original eight test ASTs, unchanged setup outside failure |
| 56 | + reporting, unchanged MSYS handoffs and production driver bytes pass. |
| 57 | +- All 4 existing package workflow tests pass. Actionlint 1.7.7 passes with its |
| 58 | + optional shellcheck integration disabled (shellcheck is unavailable locally). |
| 59 | + `bash -n` passes for all 18 existing shell step bodies. Parsed workflow |
| 60 | + comparison confirms the entire Windows job, action pins, privileges and normal |
| 61 | + workflow are unchanged apart from the temporary dispatch/job selectors. |
| 62 | +- `git diff --check` passes. CLAUDE.md's C++ cpplint does not apply to these Python, |
| 63 | + YAML and task-record changes; no Python linter is documented. |
| 64 | + |
| 65 | +Evidence and the task-local executable probes are retained in the primary |
| 66 | +checkout at `.debug/ci-windows-stage-compiler-lbpdh7hb/implementation/`; the literal |
| 67 | +journal is `.debug/ci-windows-stage-compiler-lbpdh7hb/journal.md`. |
| 68 | +No native Windows execution, compiler/flag/runtime repair, full validation, |
| 69 | +publication or merge is claimed at this checkpoint. Native capture, the accepted |
| 70 | +repair, workflow restoration and final checks remain incomplete. Other platform |
| 71 | +failures and earlier bounded investigations are outside this checkpoint. |
0 commit comments