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:
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
- Small bugs often point to system-level issues.
- The order of transformations matters more than the transformations themselves.
- Defaults are not stable contracts; they can change unexpectedly.
- 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