Skip to content

render-pipeline: re-pin vendor/compiler to f189d339 (15 commits, soul content loss) - #864

Closed
d-q222 wants to merge 1 commit into
mainfrom
agent/daniel-parent/repin-compiler
Closed

d-q222 wants to merge 1 commit into
mainfrom
agent/daniel-parent/repin-compiler

Conversation

@d-q222

@d-q222 d-q222 commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Delivers 15 merged commits of compiler work that users could not see. crates/render-pipeline builds against a frozen snapshot, so everything in that range has been inert since pin 4511166e.

The headline is a silent content-loss bug

Before this re-pin, \so{} and \hl{} content was dropped entirely from the output — not merely unstyled, gone. Measured with two CLI binaries built from the same tree differing only in the vendored snapshot:

extracted text
pdflatex Plain l e t t e r s p a c e d and highlighted text.
before Plain and text. ← content lost, 3 diagnostics
after Plain l e t t e r s p a c e d and highlighted text. ← 0 diagnostics

Six commits of soul work (#502, #513) went into getting that right, including four review rounds. None of it reached a user until now.

Also carried

What this does NOT deliver — stated explicitly

The fancyhdr (#833), \text/\boxed (#834), list (#835), beamer frames (#841), math literal leak (#846) and glyphless body (#843) fixes are still in open PRs (#844, #849, #855, #860, #862, #863). They must merge before a re-pin can carry them, and will need a further one.

I verified this rather than assuming: running the new binary against each repro, beamer still renders 1 page, fancyhdr still shows no header, and a glyphless body still produces no PDF. Re-pinning does not pull unmerged work, and it would have been easy to claim otherwise.

Verification

  • crates/render-pipeline builds clean against the new snapshot — no pipeline fallout, no API drift to fix.
  • scripts/check-vendor-pins.sh integrity passes (648 files byte-identical to git archive f189d339:crates/compiler).
  • crates/render-pipeline: 131 suites ok, 0 failed.
  • Re-pin performed with absolute paths and a guard asserting the worktree is its own root, after an earlier attempt at the tex-expansion re-pin ran find -delete in the wrong directory.

🤖 Generated with Claude Code

Delivers 15 merged commits of compiler work that users could not see. The
headline is soul: before this re-pin, \so{} and \hl{} content was silently
DROPPED ENTIRELY from the output, not merely unstyled.

Measured with two CLI binaries built from the same tree, differing only in the
vendored snapshot, on `\so{letterspaced}` and `\hl{highlighted}`:

  pdflatex:  Plain l e t t e r s p a c e d and highlighted text.
  before:    Plain and text.                      <- content lost, 3 diagnostics
  after:     Plain l e t t e r s p a c e d and highlighted text.   <- 0 diagnostics

That is a silent content-loss bug fixed for real users.

The range also carries multline tag/label resolution (#823, #826) -- a tagged
row's \eqref reads the tag and the counter is not stepped, and a \tag anywhere
in a multline suppresses the environment's whole number -- plus the KOMA 11pt
body default from #858.

NOT in this range, to be explicit: the fancyhdr (#833), \text/\boxed (#834),
list (#835), beamer frames (#841), math literal leak (#846) and glyphless body
(#843) fixes are still in open PRs. They need to merge first and will require a
further re-pin; this one cannot deliver them. Verified by running the new binary
against each repro -- beamer still gives 1 page, fancyhdr still has no header,
a glyphless body still produces no PDF.

crates/render-pipeline builds clean against the new snapshot with no pipeline
fallout, and scripts/check-vendor-pins.sh integrity passes.
Tests: crates/render-pipeline 131 suites ok, 0 failed.

Implementation-Agent: daniel-parent
Commit-Executor: daniel-parent
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012c9XLkHjePPGBuarrmE2mz
@d-q222

d-q222 commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

Closing in favour of #896 — mac-claude-a's re-pin supersedes this one.

This PR targeted f189d339. main has since moved to 3aaf5b414 and the drift is now 51 commits, so this is four merges stale and would have to be redone regardless.

More importantly #896 does strictly more: it re-pins to main's compiler and carries the fix for the \maketitle Inline::PageStyle marker displacing title pages (anchor_span in adapter.rs) — which is exactly the fallout this PR would have hit. Landing two competing re-pins would mean hand-resolving a 648-file vendored tree against itself, in the region where a bad resolution is hardest to spot.

The measurement from this PR is worth keeping on the record, since it is the argument for doing the re-pin at all. Two CLI binaries built from the same tree, differing only in the vendored snapshot:

\so{letterspaced} and \hl{highlighted}
  pdflatex:  Plain l e t t e r s p a c e d and highlighted text.
  before:    Plain and text.                    <- content silently DROPPED, 3 diagnostics
  after:     Plain l e t t e r s p a c e d and highlighted text.   <- 0 diagnostics

Six commits and four review rounds of soul work (#502/#513) had been inert behind the frozen snapshot, and users were losing every \so/\hl span entirely. Whatever lands as the re-pin should verify that case end-to-end through a built CLI rather than at crate level — it is the cheapest proof the snapshot actually moved.

Also worth carrying forward: crates/render-pipeline builds clean against the new snapshot with no pipeline fallout, and scripts/check-vendor-pins.sh integrity passes over all 648 files. Superseded, not abandoned.

@d-q222 d-q222 closed this Sep 18, 2026
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