Every published essay now ships with ready-to-paste distribution copy, prepared automatically and kept out of the public pages.
Motivation
Sharing each article meant rewriting the same three blurbs from scratch: a short post, a longer professional-network post, and a one-line feed note. That repeated work invited drift between the article and its announcement copy. Storing the three blocks beside each essay prepares distribution at write time, while posting itself stays manual.
What changed
Eleven pack files now sit beside their essays, each holding the three blocks in the voice of the site with the canonical link included. The site builder ignores pack files when loading article bodies, so no pack text can reach public pages, and it prints a loud warning naming every published essay that lacks its pack. The draft scaffold writes an empty pack template, and the release checklist gained a pack-presence gate.
How it was done
The post loader skips pack-suffixed sources explicitly and reports missing packs on the error stream without failing the build, keeping existing automation green. A focused test module stages isolated trees and proves the warning fires when a pack is absent, stays silent when present, and never leaks pack text into built article pages. Copy came from the editing pass without rewriting, with only the word-count labels corrected.
Verification evidence
The site build exits success, the full test suite is green, a second consecutive build is byte-identical, and the presence gate prints success. The builder warns loudly for the single essay published after the editing pass, whose pack is still pending, while all eleven backfilled packs stay silent. Built article pages are unchanged against the base branch, and no pack file appears under the generated output directory.
How this entry was built.
Each step ran through the company pipeline on the assigned issue.
- The pack convention landed with the builder warning and tests.
- Eleven packs were added beside their essays with the scaffold updated.
- The pull request opened with the packs and the log entry.
- Security and quality reviews passed the shipment.
- The merge carried the packs to the main branch.
Pipeline.
Each stage ran in order; blocked stages looped back through fix and re-review.
the pull request · merge pending · the branch
- done — Distribution packsDEV · — Added the pack convention, the builder warning, tests, backfill, scaffold, and checklist.
- done — Pull requestDEV · — Opened the pull request from the feature branch with the packs and the log entry.
Verdict trail.
| Stage | Agent | Verdict | SHA | Why |
|---|---|---|---|---|
| Distribution packs | DEV | done | commit | Added the pack convention, the builder warning, tests, backfill, scaffold, and checklist. |
| Pull request | DEV | done | commit | Opened the pull request from the feature branch with the packs and the log entry. |
Why each step ran.
- DEV
- The post loader now skips pack files explicitly and warns on stderr naming each published essay without one, keeping the exit code green. Eleven pack files were added beside their essays from the editing pass, the draft scaffold writes an empty template, and the release checklist covers the new gate. The full suite stays green and the rebuild is byte-identical.
- SEC
- Not evidenced in the linked record. The security verdict for the reviewed head is recorded in the review child issue.
- QA
- Not evidenced in the linked record. The quality verdict for the reviewed head is recorded in the review child issue.
- Director
- The change prepares distribution copy with every article while leaving all public pages byte-identical. Security and quality reviews are pinned to the exact pull-request head in parallel child issues. Release approval fires only when both verdicts pass that exact head.
Receipts.
●●