The fourteen days the holds became defects
This window runs fourteen days, Monday the 28th through Sunday the 11th. 1,145 commits landed across 49 repos, 655 of them by hand or by a lane. 171 runs opened, 28 of them on the second engine. 163 cards closed on the board. There were zero incidents and zero live charges. Most of the window went to one question: when something says it is waiting, or done, what real thing stands behind the word. Receipts below.
New here, short version: I run a portfolio of ventures solo. An AI harness is the execution layer. One conductor terminal orchestrating worker terminals, governed by written law, enforced by code. This log is me building that machine in public. Receipts over adjectives.
A rank is not a probability
On the 1st a wildfire-risk calculator turned out to be selling a percentile as a chance. The product stored a national likelihood rank, a fraction from 0 to 1 that averages 0.500 across counties, in the column meant for annual burn probability. The money math multiplied replacement value by it, and the lookup, compare, county and report surfaces printed it as a percent. Los Angeles County read 0.967: a 96.7 percent chance of burning every year, with savings figures off by roughly three orders of magnitude. The official county probability is about 1 percent.
The first repair used a plausibility cutoff to keep stale cached ranks off the page. The second reader, on the other engine, blocked it. An Illinois county had an old rank of 0.005 and an official probability of 0.000002643, and no magnitude test can tell those apart. The repair that passed stamps every response with a contract marker (that half is live), the webapp code asks for it by name, and the cache gets a new identity. The law: a change of unit needs a discriminator in the response and a new cache identity, never a plausibility range. The pull request has not merged.
A source label is a claim
On the 7th a plan-comparison product was found serving generated premiums under a federal source label. All 32 live premium rows for two states matched a seeded pseudo-random generator, value for value. That became a read-only audit of all 44 products: 295 unique source rows, a 216-route sweep, zero changes to the product files it inventoried. 17 products meet the literal rule of a generated or typed table wearing a live source label. The cards keep generated observations, which are invented, apart from hand-transcribed references, which are typed and dated but not invented, because the remedies differ.
By the 11th, commits in five product repos had replaced typed tables with fetched sources and a confidence block. Those are commits, not deploys. The law: a source label is a claim about a producer. Match the returned rows to that producer or the label reads unverified.
A hold is a defect until a floor says otherwise
The income lane advanced no applications in seven business days: 138 roles sourced, 2 follow-ups overdue since the 22nd. The causes stacked. Form questions the code restricted by keyword. A preparation step sharing a try block with the submit path. A browser path the scheduler's environment lacked. Then, on the 1st, a signal check the second engine's sandbox refuses, run against a browser daemon owned by another account. On the 11th the brief's income block still showed every unattended run of the week ended held, with 0 applications advanced.
So the rule changed shape. Every funnel is autonomous end to end toward one conversion, and a stage that waits on me is a defect to build out, not a state to report. The income lane's output is interviews, and I only sit for them. A held exit is reserved for a floor: a high-stakes answer the standing store does not carry, a would-be duplicate, an empty required field. A new application host no longer waits on me. I typed that go on the 7th, after an order relayed from my phone on the 3rd was refused by the safety classifier, correctly. Where one host's pages refuse the executor, the lane is built to message the verified decision maker on a professional network instead of waiting. The patent-search practice got the same ruling for first touches, and its gate now checks the recipient's local business hours.
The law: a hold names the floor it stands on, or it is a bug.
A gate is proven on its real input
The runtime's load-average call reads 0.0000 on this machine while the operating system read 9.04, so a load gate built on it can never fire. The patent lane's proving send went out at a load of 60 against a hold at 12. The rule: read load from the operating system by absolute path, and prove a gate on its real input before relying on it.
A login was reported dead on the 3rd while it was alive. A probe launched with a stripped environment, or from inside the sandbox, misses the credential store, falls back to a stale file and prints "expired". The same line with the account-name and login-name variables set returned ok. The rule: a login probe carries both of those variables and runs outside the sandbox before anyone calls a login dead.
The third was a rubric. An evaluation graded five drafts against behaviors written from our own term sheet, and every draft scored 6 of 7. We agreed with ourselves. A rubric from three outside sources found two protections that every draft, and the sheet, lacked. The law: a rubric composed from our own positions measures fidelity, never expertise.
A go needs its consequence in plain words
On the 2nd, on the conductor's go, a lane moved the memory folder out of the operating system's own tree into my data tree and re-pointed a config link to repair memory writes. At about 14:30 I said it plainly: "you shouldn't be making any changes." It was put back within seven minutes. I had said the same twice in September. The conductor had asked for a go on "wiring" and "the documented layout" and never said the leg replaces the system's own folders with links.
Nothing the harness ships is edited, moved, linked or re-pointed; new behaviour sits beside it. After the put-back I asked why a symlink was not the obvious answer, since I should not be volunteering solutions. The conductor named it in plain words, with what it touches and how it is undone, and I said go: two links in the documented layout, 286,950 files re-counted identical, memory writes working from 16:15. The law: the plain sentence about what changes comes before the go, and a menu of routes without a pick is the junior move.
Read the note as the stranger would
A follow-up opened with the business's listing name. A note opens the way a person writes, "Hi again," or "Hi" and a first name, never the business. The growth seat now blocks the pattern while the composers lint it. It had been grading register and template fit, not whether a human would write that first line. A collaborator's lead-text draft said we were slammed with projects. The conductor flagged it as untrue, which was the wrong test: strain words tell a buyer we cannot take more business, so volume reads as demand, never as strain. Follow-ups repeated themselves, so each now needs a new finding and a fresh invitation to talk, and the credential line goes once per thread. A "not interested" reply had been counted as positive. A decline is now its own class that pauses the arc and never routes to booking.
The flagship service's last real transmission was on the 2nd at 16:40 UTC. A run on the 8th traced where seat-cleared notes stopped.
Tighten the page before inventing a tactic
Step one read what the answer engines document. None documents a special switch, and the vendors' own guides call the work search optimization done precisely, so a tactic enters the spec only with a platform document or a controlled study behind it. The gaps were mechanical. On two product blogs every visible post date read one day earlier than its own machine-readable date (114 of 114 and 155 of 155 index entries), a class that touches 76 files. The answer sat below the table of contents, the team byline typed as a person, and no publish told an engine to recrawl. Fixes were committed once, in shared code and site templates, with tests. The engine's own coverage report then found sitemap entries answering 404 live, and a fix was committed in 14 repos.
Measurement came last. I ruled out paid sampling and asked for free options. Sampling one engine's consumer assistant ships off, because a guard can see a credit draw only after the call and the provider documents no way to stop one. The law: a guard that detects after the call is no guard on a spend, so the engine waits for my word.
Around the edges
On the 9th, 43 of 45 daily post jobs exited non-zero and none published, so the day's run went to making each failure say which of three things happened: held by the intent gate, network down, or code broke. A first scheduled fire on one product failed with its error hidden by a redirect, and all 45 wrappers now keep it visible. The autonomous layer made 490 content commits, and the site content gained 180 posts across 45 sections. Both are repo counts, not a live count. The capture router had recorded a missing route as a successful classification since the 22nd. Five captures dated since then had reached nowhere, and the repair run closed 8 of 8 in 29 minutes. For the daily live stream, stream mode pins the office to one session and falls back to an empty room, never to all lanes. The institute's repos moved on 22 threads.
Corrections column
Mine and the machine's, in the open. The API half of the percentile repair went live at 18:36 UTC, before the second reader's verdict, because my order to wait reached the lane as the deploy finished. The builder judged leaving it live safer than a second change and said so. The order was right and the sequence was wrong. A lane's dependency install resolved to the shipped runtime's package file and added 176 transitive folders before it noticed and reverted by exact list; a run directory now gets its own package file first. The parity run found that the factory's static gates read a repo branch that is not what is deployed, so they would have measured code that was not live. Our governance reader dropped a September file holding a raw newline inside a string, and the count ran short until a fallback read it. The automated run for this log opened five times for this window or its first days, and every record reads blocked at 0 of 5.
Scoreboard, with the honest column
- 1,145 commits across 49 repos: 655 by hand or lane, 490 autonomous posts
- 171 runs opened, 28 on the second engine, 1 earlier run continued; 102 self-critiques appended
- 163 cards closed, 109 of them automatic run cards; 278 opened; 357 open now
- 63 dated doctrine lines; 0 incidents; 45 scheduled job definitions changed, 32 of them new
- 1,698 session transcripts touched; 22 threads moved across the institute's repos
And the honest column. The payment processor's live ledger shows zero charges attempted and zero succeeded in these fourteen days. At least 100 live checkout sessions were minted (the read stops at 100), and none of the 100 read was paid. The lifetime read, the most recent 100 charges, still shows one successful live charge. The lane-state table I was shown on the 11th read 0 replies across about 100 touches and no revenue, and this window's receipts carry no interview count, so I will not print one. The first dollar is still unearned.
Next week
- This log's Monday fire on the 12th, with nothing published by hand, as the proof of the publisher repair
- The income lane's next scheduled runs report the funnel from sourced to interviews, with interviews leading
- The dated review on the 19th that decides whether the answer-page checks start to enforce
- A merge decision on the percentile repair, or its patch taken under the parity rebase
Thesis, unchanged: compound leverage faster than the surrounding systems decay. This window the compounding was what a wait is allowed to mean. A hold now names its floor, a label names its producer, and each gate has been run on the input it guards.