Skip to content
[bmdpat]
All writing
5 min read

Twelve Characters Put My Government Page Live

On 2026-10-03, CI stalled on full disks before a twelve-character string cleared production. Here is how I removed myself from the merge loop.

ShareLinkedIn

A twelve-character identifier put my government page live on 2026-10-03.

The delivery pipeline broke first. Docker ran out of disk space while executing release jobs across 612 paths. Test discovery crawled. The digest chain failed across three separate model providers before any new knowledge sources landed. Security scanners reported green. That scanner checked zero out of five repositories, leaving 18 live tokens open inside runner logs.

I repaired the pipeline. Commit 905871483 added a 20 GiB host admission check to stop runners before storage fills up. Then PR #1930 merged. I passed string ZQHGNK244TU5 into the build and watched Vercel return HTTP 200 on public readback. The receipt landed. Always verify what an agent actually produced because green test badges often mask hollow runs.

Key decisions from Twelve Characters Put My Government Page Live

Why did CI run out of disk space?

The Docker host ran out of disk because test runs accumulated untracked artifacts without verifying host headroom first. Retrying failed jobs only conceals host starvation. I added a 20 GiB host admission check in commit 905871483 to block runner startup before storage exhausts.

The disk failure happened mid-run. A blind retry would burn compute and crash five minutes later when temporary directories filled. I stopped that loop. Commit 905871483 enforces the 20 GiB free space requirement across all 83 passing guard tests. The runner halts immediately. That boundary forces manual disk cleanup instead of wasting agent cycles on poisoned runs.

Why was test discovery taking six minutes?

Test discovery took 385 seconds because the runner searched every excluded directory across 612 paths. Traversal spent minutes walking ignored vendor files. Pruning excluded paths before inspection in commit b02a83c71 dropped discovery to 18 seconds on the exact same files.

Six minutes is absurd. The test runner scanned node modules, vendor directories, and build artifacts before running one check. I fixed the walker. Commit b02a83c71 trims excluded trees upfront so the engine inspects only real test files. Here is the measured difference:

MetricBefore PruningAfter Pruning
Paths checked612612
Discovery duration385 seconds18 seconds
Directory pruningNoneIgnored paths skipped upfront

That cut 367 seconds. I use BMD, see what your agents actually did to catch runner stalls across 115 vault commits. Slow discovery wastes time.

When should you take yourself out of the merge loop?

You should step out of the merge loop when human approval delays mechanical edits that passed automated verification. That day, waiting requests cost me 70 net minutes. Granting standing auto-merge for passing pull requests removes latency while preserving manual oversight for high-risk interface changes.

My desk held backlog. The value report showed 820 minutes of open requests waiting on my manual stamp. Sitting on green pull requests is not governance. I gave standing approval to auto-merge pull requests whenever all required verification checks turn green. The agents stop asking.

Save human review for judgment. At 12:58 that day, showwork 0.6.5 release copy arrived stuffed with internal field names and jargon. I rejected the draft. Vault PR #148 at commit 678a0164f fixed the text so it explains the user problem first. That refusal matches why I did not promote my smaller local model when quality bars failed. Unearned trust breaks systems.

Doubt stays beside progress. Audits that night revealed 18 live tokens open inside runner logs for 27 days. Daily finalization printed false failures. CAGE and SAM registrations remain pending across government filings. Did removing my merge gate introduce unseen edge cases? I do not know.

The only thing only I could give was twelve characters. I handed the fleet ZQHGNK244TU5. Hours later, bmdpat.com/government answered HTTP 200 with the new identifier live and the old one gone. The release receipt landed. I dropped the approvals I did not need to hold. I kept the ones I must protect.

What should you do with this?

You can protect your pipeline by stopping silent failures and cutting out manual merge bottlenecks. Simple gates outperform complicated prompts. You need admission checks before runs start, pruned test paths for speed, and standing rules for verified pull requests.

  1. Add a 20 GiB disk admission check to your runner script so execution halts before storage fills up.
  2. Prune excluded directories from test discovery to cut execution time across hundreds of paths.
  3. Enable standing auto-merge rules for clean pull requests that clear all automated CI checks.

Accompanying prompt

What the prompt does: Audits a continuous integration workflow to enforce host disk admission checks and prune unnecessary test directories.

Copy/paste this prompt:

Copy-ready prompt

Paste the exact block into your coding agent.

No article chrome, no footnotes, no formatting drift.

Role: CI Automation Engineer Context: Agent runners and automated integration pipelines fail when host disks fill silently or when test discovery crawls excluded vendor paths. Inputs: - Repo path: __ - Minimum free disk space: __ GiB - Test runner command: __ - Excluded test directories: __ Task: 1. Inspect the test discovery configuration in the repository at Repo path. 2. Add a pre-flight startup check that halts the run if free disk space is below Minimum free disk space. 3. Configure the test discovery tool to prune Excluded test directories from the search path before test collection starts. 4. Run Test runner command and compare execution elapsed seconds against the prior baseline. Output: - A shell script or CI step definition containing the disk admission check. - The updated test runner configuration pruning excluded paths. - A timing summary showing test discovery duration before and after pruning. Constraints: - Fail immediately if available host disk space is below the specified threshold. - Do not modify existing test assertions. - Use only standard shell utilities or runner flags.
26 lines1116 chars
Ready

This prompt and every other one we publish live in the free prompt library.

Copy the block above.

Audit CI pipelines and agent fleets: https://bmdpat.com/bmd

Get the Local AI Field Kit

Four copy-ready tools now, then one evidence-backed Local AI Lab Note on Friday when there is something worth sharing.

Try the free agent run check first

Get the requested artifact now, then at most one evidence-backed Local AI Lab Note on Friday when there is something worth sharing. One-click unsubscribe. No sponsored placements. Privacy.

Written by

Patrick Hughes

I build BMD and publish measured AI runs, failure reports, and reusable checks. Nashville, Tennessee.

More writing