Editor's Guide — From Pipeline Draft to Published Post
The Pipeline's Job
The pipeline is your structured notetaker. It:
- Captures real incident data (commands, errors, attempts)
- Structures the narrative (struggle-first format)
- Provides technical accuracy
- Hits word count targets
Your Job
You are the writer. You:
- Fix the voice (remove corporate-speak, add dryness)
- Cut fake content (invented attempts, dramatic metaphors)
- Add emotional honesty (the real thought at the worst moment)
- Tighten everything (400-600 words, not 978)
Edit Checklist
Opening
- [ ] Cut scene-setting ("It was a quiet evening...")
- [ ] Start with the problem: "Notes.hoffdesk.com was down."
- [ ] Add the specific error: "Error 1033."
- [ ] Include the immediate thought: "I stared at the screen."
Pipeline: "It was a quiet evening in my living room when chaos struck. Notes.hoffdesk.com had gone silent, and the dreaded Error 1033 flashed across my screen like a harbinger of doom."
You: "Notes.hoffdesk.com was down. Not the dramatic kind of down where something exploded — the quiet kind where you refresh the page, squint, and wonder if your brain is the problem. Error 1033. Cloudflare couldn't reach the origin."
What I Should Have Done First
- [ ] One command. One sentence.
- [ ] No explanation. No buildup.
- [ ] The thing you knew but didn't do.
Pipeline: Doesn't have this section.
You: "Run systemctl cat cloudflared.service. That's it. One command, ten seconds, problem found."
Attempts
- [ ] Keep only real attempts (usually 2-3)
- [ ] Delete attempts 4+ (they're hallucinated padding)
- [ ] Each attempt: What you tried. What happened. Why it failed.
- [ ] Include the specific command with exact flags.
- [ ] Add the internal thought: "I knew this. I'd fixed this before."
Pipeline: "The first thing I did was check the health of uvicorn with curl. I fired up the terminal and typed:"
You: "Attempt 1: Checked uvicorn with curl. It was running, but bound to 127.0.0.1. Cloudflared on the same machine couldn't reach it. I knew about binding addresses. I'd fixed this exact problem before. But under pressure, I stared at a working health check and assumed the problem was elsewhere."
The Fix
- [ ] Exact commands. No fluff.
- [ ] The emotional reaction: not "I felt accomplished" but "I felt stupid."
- [ ] Why it was frustrating: "Because I'd made this exact mistake before."
Pipeline: "With renewed determination, I removed the stale override.conf file..."
You: "Removed the stale override.conf, reloaded systemd, restarted cloudflared. notes.hoffdesk.com came back. The site worked, but I didn't feel victorious. I felt stupid. Not because the problem was hard — it wasn't. Because I'd made this exact category of mistake before, and I'd told myself I'd learned."
The Cost
- [ ] Time lost (be specific: "2.5 hours")
- [ ] Sleep lost ("My spouse woke up to me still at the desk")
- [ ] Relationship friction ("There's a specific kind of frustration...")
Pipeline: "The cost of this ordeal was significant. Hours had slipped away into the night..."
You: "2.5 hours. Sleep lost. My spouse, who'd gone to bed hours ago, woke up to me still at the desk, muttering about DNS. There's a specific kind of frustration that comes from knowing you're the reason you're still awake."
What I Actually Learned
- [ ] Not generic advice. The specific thing you forgot under pressure.
- [ ] Not "check drop-ins" — "pressure makes you skip steps you know by heart"
- [ ] The habit, not the knowledge.
- [ ] Optional: add the bitter truth ("Also: go to bed.")
Pipeline: "Reflecting on the experience, I learned a few valuable lessons. First, under pressure, it's easy to forget even the basics you know well."
You: "Not 'check systemd drop-ins.' I already knew that. What I learned is that pressure makes you skip steps you know by heart. That systemctl cat isn't a command — it's a habit, and habits break under stress. Also: go to bed. The override.conf will still be there in the morning, and so will your capacity for coherent thought."
What to Cut
Corporate-Speak
| Pipeline | You |
|---|---|
| "a harbinger of doom" | delete |
| "chaos struck" | "was down" |
| "determined not to let defeat win" | "tried again" |
| "renewed determination" | "removed the file" |
| "a wave of relief washed over me" | "it worked" |
| "every challenge is an opportunity" | delete |
| "peeling back layers of the onion" | delete |
Fake Content
- Attempts 4+ (firewall, DNS flush, etc.)
- Dialogue you didn't actually have ("my spouse said...")
- Emotions you didn't actually feel ("I felt victorious")
Filler
- Scene-setting paragraphs
- Transitions between attempts ("Frustration mounting...")
- Explanations of why you're doing what you're doing
Target Length
| Section | Pipeline | You |
|---|---|---|
| Opening | 100 words | 30 words |
| What I Should Have Done | 0 words | 20 words |
| Attempts | 400 words | 200 words |
| The Fix | 150 words | 80 words |
| The Cost | 100 words | 50 words |
| What I Learned | 228 words | 70 words |
| Total | 978 words | 450 words |
Time Budget
| Task | Time |
|---|---|
| Pipeline generation | 35 seconds |
| Your edit | 5-10 minutes |
| Total | 6-11 minutes |
The Goal
A reader should finish the post and think:
- "This person actually did this"
- "I've been there"
- "I learned something specific, not generic"
Not:
- "This reads like a corporate blog"
- "They padded this to hit a word count"
- "The reflection could apply to anything"
Quick Test
Before publishing, read the last paragraph out loud. If it sounds like something you'd say to a friend over coffee, publish. If it sounds like a LinkedIn post, rewrite.
Pipeline Settings
For best results, configure pipeline with:
- temperature=0.6 (factual, not creative)
- max_tokens=1500 (forces conciseness)
- style_reference="direct-voice" (if available)
- Post-processing: strip_dates(), strip_names()
- Target: 600 words, not 1200
Remember
The pipeline saves you the blank page. It doesn't save you from writing. The edit is where the post becomes yours.