Compound Labs
Get the newsletter
THE STANDUPAnthropic fixes Claude 5.1 error spikesERROR SPIKES, FIX DEPLOYEDCOMPOUND MASTODONSkillWorks records inactive files beside their roster status22 INACTIVE FILES STILL LOADCTXWINDOWContext Window tracks AI lab changes and filters their evidenceFILTERS KEEP EVIDENCE TOGETHERAGENTWIREmicrosoft/agent-governance-toolkit - AI Agent Governance ToolkitPOLICY ENFORCEMENT FOR AI AGENTSCOMPOUND FACEBOOKCompound Portfolio restores its sweep after a missing module stops desk dataSWEEP RESTORED, DESK DATA WRITTENBLOCKDEXBlockDex shows no destination for captured rows with rejected slash names31 ROWS, NO DESTINATIONCONTEXT WINDOWOpenAI adds 1024p image pricing: $0.50 and $0.251024P IMAGE, $0.50 AND $0.25COMPOUND BLUESKYCompound Labs renamed job labels so job-run finds breaker stateBREAKER STATE, NOW FINDABLECTXWINDOWContext Window tracks document changes but failed mobileMOBILE WORKFLOW, ONE COLUMNAGENTWIREMineDojo Voyager: Open-Ended Embodied AgentOPEN-ENDED EMBODIED AGENTFOUNDER BLUESKYdeploy.sh now fails false Vercel production landingsFALSE LANDINGS NOW FAILCOMPOUNDlast known fixes redirect tracking after migrationSTUDIO SOURCES NOW SAY COMPOUNDCONTEXT WINDOWOpenAI adds sora-2-pro pricing720P VIDEO, $0.15, $0.30FOUNDER LINKEDINdeploy.sh now stops failed promotes from marking production landedFAILED PROMOTES NO LONGER LANDUSINGITUPUsing It Up records a receipt fixing a wobbling wooden tableONE RECEIPT, TABLE STAYED LEVELCOMPOUNDpnpm v12.4.2POSIX BIN SHIMS REPLACEDFOUNDER PEERLISTCompound Labs' deploy runner rejects failed promotesFAILED PROMOTES NO LONGER LANDTRUSTDESKTrustDesk fixes host migration redirects while keeping /api/ outOLD HOST, 308; API STAYS LIVE
Independent product R&D labFounded and run by Isaiah Kim, @kyisaiah47Newest commit Sep 16, 2026, AgentwireNewest writing Sep 16, 2026Site changelog Sep 16, 2026
Aug 30, 20263 min read

Eight entries on our build checklist could never fail, and every one was written by a different agent run

We keep a list of every feature we said a site would have, and eight lines on it had quietly become decoration. Each of those eight could report its feature as not built yet, forever. None of them could ever report one as broken.

The list is a JSON file in the shared shell that UsingItUp, Still Mornings and Soft Money Journal are all built from. During a deploy, a check reads it, opens the deployed page in a headless Chromium, and asks each entry's question against the live page: does pressing a key open the panel, does that element exist, does that variable resolve to a colour. An entry marked done that the page does not have exits non-zero and stops the deploy.

The field that decides whether an entry can fail

The verdict is one expression. If the check finds the thing, the entry reads present. If it does not find it, the entry reads REGRESSED when its stored state says done, and reads missing otherwise. Missing is reported and never fails, because a backlog is meant to be read rather than to block a release.

An entry with no stored state at all lands in that second branch. It reads missing whether it broke or was never built, which means it sits in the backlog permanently and the one thing the file exists to catch, a claim of done that nobody rechecked, cannot happen to it.

On 2026-08-08 six entries had the field absent and two had it set to null: eight lines that could not fail. All eight covered UsingItUp, Still Mornings and Soft Money Journal, and all eight were added by a run that was working on those products and checked something else. Several agent sessions edit that one file at the same time, each adding entries for whatever it is building and running the check against its own target. In the file, an entry nobody has ever executed looks exactly like an entry that passes every night.

Terminal window displaying build checklist validation report with eight entries and test results, Shows specific failed checks: missing state fields, features unable to deploy, broken feature detection, entries from 2026-08-08 still unfixable, disabled regression detection.
Terminal window displaying build checklist validation report with eight entries and test results, Shows specific failed checks: missing state fields, features unable to deploy, broken feature detection, entries from 2026-08-08 still unfixable, disabled regression detection.

Three shapes an entry takes when it cannot fail

The entryWhy it cannot failWhenWhat happens now
No stored stateReads missing whether it broke or was never built2026-08-08The check prints every stateless entry by name and says an item that cannot fail is a comment
A question type with no code behind itIt fell into none of the three result buckets, so it printed nothing, counted nothing, and exited zero2026-08-06, both asking about a colour variableFatal, because a typo in a question type must not be able to reach done
A question no machine should answer, such as whether a work grid opens on four siblings from one sprintNever passes and never fails, by designEvery runReported as manual, so it stays on the list with its question instead of going quiet

What we changed

We gave every entry a state, and we made the check name any stateless entry it finds, then proved it both directions: removing the field from one entry fires the report, putting it back goes silent. An entry marked done is now a commitment the next deploy tests, and an entry that arrives from another session with no state announces itself instead of joining the backlog.

Have a look at what the list is guarding.

<caption>Eight entries on our build checklist had no done flag, so they could never fail, and now the check names them.</caption>

---

One shipped product, taken apart, once a month. What it does, what it cost to build, what the pipeline behind it looks like, and what the numbers did, read off the repository and the live site, not written from memory. Join the list.

All writing