The Pipeline Is the Product

Categories: ai, engineering, debugging


I started with what seemed like a simple resume tweak.

One bullet point included a percentage sign. In the PDF, however, the sentence just stopped.

It wasn’t truncated or wrapped—just gone.

That’s usually a smell.


1. The “It’s Just a Percent Sign” Bug

My first instinct was correct:

LaTeX treats % as a comment.

So, I escaped it, moved on, and thought I was done.

Except, I wasn’t done.

Escaping the percent sign kind of worked, but then the output started looking weird in other places.

That’s when it stopped being a simple formatting issue and revealed itself as a pipeline problem.


2. Follow the Pipeline, Not the Symptom

The resume wasn’t just a LaTeX file; it was the product of a pipeline:

Resume pipeline diagram


3. The Real Bug: Escaping in the Wrong Order

The problem wasn’t whether the % symbol was escaped.

It was when backslashes were processed before percent signs, which meant:

  • Already escaped sequences got escaped again
  • Output became corrupted in subtle ways

Broken (old order)

escape_backslashes()
escape_percent()

Fixed (new order)

preserve_existing_escapes()
escape_percent()
escape_remaining_sequences()

Once I corrected the order:

  • Percentages rendered correctly
  • Text stopped disappearing
  • Output stabilized

💡 If a formatting bug behaves inconsistently, it’s probably a transformation-order bug.


4. Then the Colors Broke

The output was technically correct, but visually wrong.

It was flatter, with less contrast—not the same resume.


5. Version Drift Is a Silent Killer

Same template (moderncv). Different result.

Cause:

  • Dependency drift
  • Theme defaults changed
  • Color aliases resolved differently

The Fix: Pin Everything

\definecolor{color1}{HTML}{3873B3}
\definecolor{color2}{HTML}{737373}

6. One More Bug (Because Of Course)

The mission bullets no longer aligned with the rest of the layout.

Cause:

  • Used \itemize
  • which bypassed the moderncv layout system.

Fix:

\cvlistitem{...}

Alignment was instantly restored.


7. What This Actually Was

This entire process started as:

Why is one sentence broken?

But it became:

  • Pipeline debugging
  • Transformation correctness
  • Dependency control
  • Layout system alignment

Lessons Learned

  1. Small bugs often point to system-level issues.
  2. The order of transformations matters more than the transformations themselves.
  3. Defaults are not stable contracts; they can change unexpectedly.
  4. Layout systems demand semantic consistency.

Closing Thought

This wasn’t really about LaTeX.

The pipeline is a product. Treat it like one.

Up Next

In the next post, I’ll walk through what happened after the pipeline was fixed:

  • Rewriting the resume for Staff-level roles
  • Working with AI without over-claiming experience
  • Creating multiple narrative variants intentionally