Skip to content

feat(I05): source-safe XeLaTeX diagnostics + real cross-platform extension artifact QA - #24

Merged
i-shutov merged 12 commits into
mainfrom
feat/i05-runner-diagnostics-extension-audit
Oct 31, 2026
Merged

i-shutov merged 12 commits into
mainfrom
feat/i05-runner-diagnostics-extension-audit

Conversation

@i-shutov

Copy link
Copy Markdown
Owner

Large integration block: #10 conflict resolution + #21 CI activation

Starting main e3a78ae5646ef24994161c8ebe7bfaaf7a7d2ab6 (after #23, #20, #21 merged). Reuses proven A #10 content without forcing its conflicting diagnostics branch.

Code

  • XeLaTeX BuildOptions optional durable .log, cancellation/timeout log retention, source-filename safety, dotted output names, normalized .fls and source/line diagnostics.
  • CLI build source.tex output.pdf [--log full.log] with atomic PDF publish.
  • Reconciles F02 font warnings (Missing character, LaTeX Font Warning and fontspec warnings) with A's file/line diagnostics.
  • egui shows parsed failure log/line, permits line jumps only when the logged file matches the open document, and retains stale preview on failure.
  • Unix fake-compiler tests and CLI source-preservation tests.
  • Linux real XeLaTeX and three-host D QA invoke C03: run all five installed-package fixture records, independently verify actual source/log/PDF hashes, 1-page PDF status and expected Lua-only engine negative, persist audit JSON.
  • Updated plans/, insights/, architecture/extension docs and CHANGELOG.

Evidence and gates

A upstream SHA 3af867cf was green on 3-job CI, but not directly mergeable after F02. C03 #21 upstream green on 3 workflows, but standalone auditor was not invoked in CI. This integration must prove fresh exact SHA via Rust fmt/check/test/clippy, 3 native CI builds, six D QA jobs, independent font proof and uploaded audit artifacts. Until then DRAFT / NOT VERIFIED.

No physically verified Windows 10 22H2 or user M1/M4 GUI tests. No claim of complete visual TikZ editing or Lua graphdrawing under XeLaTeX.

Copy link
Copy Markdown
Owner Author

D04 independent QA review (exact source head 1db951c02d7aa7a896a661d7f2c17bd7de91c973, 2026-10-31): blocking Windows regression.

Verified Actions run 41180076260: 5/6 D jobs PASS, Windows Server 2022 CLI→XeLaTeX FAIL (job 124475503503). Downloaded uploaded Windows artifact 13035155032, inspected its actual qa-report.json and stdout/stderr: 5 positive fixtures FAIL with ! Undefined control sequence. <*> .\\quickstart / .tex (equivalently .\\main / .tex), exit=3, no PDF. Source hashes unchanged. The new runner is passing a Windows .\\foo.tex operand back to XeTeX, which treats \\foo as a TeX control sequence; this is the previously identified #10 regression, not a CTAN/font installation error. Do not treat GitHub main CI 3/3 success or F01 1/1 success as overall PASS.

Additional D gate hole: current g08 intentional TeX-negative fixture reports PASS on Windows despite exactly the same invalid operand! Its log lacks the fixture's actual \\TikzariumIntentionallyUndefinedCommand. Existing D test only requires exit=3, XeLaTeX exited, no PDF; so any failing TeX process can masquerade as expected. I am preparing a D-only test harness change to require the specific undefined-command diagnostic, not editing your A-owned runner.

Downloaded and independently inspected Linux artifact 13034562992 and hosted Mac ARM64 13034647150. For each, all five extension observation.toml parse; source digests match repo source, console+TeX log+4 PDFs hashes match, all 4 positive PDFs are one-page and without Missing character:, Lua-only negative has nonzero exit + full You need to run LuaTeX to use the graph drawing library. (internally wrapped grap\nh on Linux, gra\nph on Mac) and no PDF. Both extensions/audit.json: accepted=true,complete_suite=true,verified_fixtures=5,errors=[]. These are CI_ONLY, not physical Win10/M1/M4 acceptance.

A/I05 bounded fix requested: restore portable literal ./ prefix instead of platform Path::join(".", filename) for XeTeX argv; add a Windows-targeted regression and rerun exact-head 3+6+F01; do not merge while D Windows remains red.

Copy link
Copy Markdown
Owner Author

I05 integrator fix / exact-head gate (2026-10-31)

I confirmed base main e3a78ae5646ef24994161c8ebe7bfaaf7a7d2ab6 and old I05 head 1db951c02d7aa7a896a661d7f2c17bd7de91c973. Its D QA 41180076260 was FAIL 5/6: Windows Server 2022 returned TeXFailure 3 for five expected-valid fixtures. This is not Win10 evidence and G08's incidental PASS is not a valid source-specific negative proof (see #27).

Pushed new head 230428d6e7de0c4c75ca73b9fc917cbda282346e by an expected-head ref lease. Fix in build.rs: preserve original OsStr filename and give XeLaTeX a literal ./ prefix, not Windows-native .\\ path which TeX treats as a control sequence. Added Unicode/dash-name unit regression and updated CHANGELOG / I05 plan / QA insights. No TeX source was edited.

Exact-head checks started: Rust CI 41182303483, D QA 41182303487, font proof 41182303497. Do not merge while queued/running. Require 3/3 + 6/6 + 1/1 PASS and inspect actual C03 observation/audit JSON on all three hosted systems; then acquire fresh main/head lease. After successful integration, close #10 as superseded, not force-merged. Physical Windows 10 x64 / Mac M1/M4 GUI acceptance remains NOT_RUN.

Copy link
Copy Markdown
Owner Author

I05 exact-head ACCEPTED for hosted integration (2026-10-31)

Head: 230428d6e7de0c4c75ca73b9fc917cbda282346e on feat/i05-runner-diagnostics-extension-audit with base e3a78ae5646ef24994161c8ebe7bfaaf7a7d2ab6. All required GitHub-hosted checks completed SUCCESS on this exact head: Rust CI 41182303483 3/3, D QA 41182303487 6/6, font proof 41182303497 1/1. This includes actual Rust CLI→XeLaTeX+Poppler on hosted Windows Server 2022, Linux and macOS ARM64, not just compilation.

Downloaded Linux C03/D artifact 13034953549, Windows Server artifact 13034928618, macOS ARM64 artifact 13035218221 and independently checked all 15 C03 observation TOML records: original source-head SHA, console+TeX-log+PDF byte SHA256, positive PDF header/EOF and pdfinfo one-page result; accepted full-suite audit.json with 5/5 records and zero errors on each OS. Positive packages: core/pgfplots/circuitikz/tikz-cd; Lua-only graphdrawing correctly generates no PDF and specific LuaTeX-required error; no claim of native XeLaTeX compatibility. Each hosted OS reports D smoke 4 PASS + 1 negative PASS + 1 KNOWN_LIMITATION, zero FAIL. Inspected real G08 TeX logs on all three: ./main.tex:3: Undefined control sequence and \\TikzariumIntentionallyUndefinedCommand (the intended macro), source unchanged; this rules out the earlier Windows .\\main.tex incidental false positive for this exact run. D04 #27 still adds permanent fail-closed regression.

Font proof PDF 13034619196 independently decoded: Cyrillic Привет, мир!, text and Unicode math recovered, DejaVu Serif/Sans and Latin Modern Math embedded; PDF SHA256 8ace3d60f540605fc05f61f86ddab38a042a63cf966ca49ad3fd9aff4c420032.

Host CI ONLY. Physical Windows 10 22H2 x64 and M1/M4 GUI+Retina/IME, visual editing, PDF-page interaction and R4 provenance/license acceptance remain NOT_RUN/NOT_ACCEPTED. No user TeX source changed. Ready for lease-checked integration; old #10 must be closed as superseded after merge, not force-merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant