The first drift review. The owner started it in a session and answered its questions there. Later reports follow prompts/review/prompt-1.md, step 6.
What the owner actually said, compared with what was built
| Owner's words | What the repository did |
|---|---|
Ventures brief (prompts/ventures/prompt-0.md): "ambitious and deep enough that it is worth doing", YC/Techstars-style companies, "ai ml", "ios android apps", "real business potential" | 1,236 ventures. 641 are named *-calculator and 121 *-bid-calculator. There is no native mobile app: every ios/android/mobile- name is a checker or a calculator for a mobile trade. usage.yaml has no visitor reading for any of them. |
| "develop, deploy, market, sell" | DIRECTION.md makes revenue "donations only… not up for a rescore by any session" and attributes "optional donation revenue" to "the owner's own framing, relayed". No recorded owner message says so (the records start 2026-10-01). The owner's position, 2026-10-15: payments are fine, just never on the owner's accounts. |
| Self-deploy ("anyone can one-click host in their own cloud") | A design principle in CLAUDE.md, explicitly "not a task every session must start on". The owner, 2026-10-15: this is the business model. |
| Research tracks 1–11, red team, process, explore | All trace to owner messages in run-record inputs. No drift found in direction. Volume (393 projects) against "quality beats volume" is worth watching. |
Why it drifted
- Agent-written rules accumulate and are never pruned. A ventures run is pointed at about 3,400 lines before it starts:
CLAUDE.md1,646,DIRECTION.md975,PRODUCT_PLAYBOOK.md451,AGENTS.md334. Most ofCLAUDE.mdis dated incident history, much of it about the Hetzner cluster deleted on 2026-10-01 (its RETIRED notice appears twice). Each session's local fix became a permanent rule for every later one. - The constraints added up to "build a static calculator". "$0 marginal cost" product shapes, Pages as the only host, payment code banned "even disabled", deploy-first, and "every run ships something". With no memory between runs, the cheapest thing that counts as shipped gets built again and again.
- Agents' paraphrases of the owner read as the owner's direction. "Owner direction, relayed" sections quote nothing, and later sessions treat them as binding.
- The platform grows on itself.
platform/ci/has 28 tools, mostly checkers for other checkers, againstgoals.md's "not to grow on its own".
What this run changed
prompts/goals.md: added Judgment over rules, a common-sense principlewith four rules of thumb:
- Do what a sensible person would do.
- Depth over count.
- Fewer, shorter rules. This is the concision rule the owner asked about: one incident does not earn a paragraph, state a rule without its history, delete one when you add one, link instead of copying.
- Only the owner's quoted words are the owner's direction.
Also added the owner's business model quote, the payments rule, and a drift audit in every review.
prompts/ventures/prompt-1.md(now champion): read the brief literally, no new single-page calculators, a new venture must name the alternatives it beats, depth over count, and finish ventures as one-click self-deployed businesses with a donate link.prompts/review/prompt-1.md(now champion): new step 6, Drift audit, so agents keep doing this review without the owner prompting it.CLAUDE.md,AGENTS.md,DIRECTION.md,PRODUCT_PLAYBOOK.md: short pointers so they no longer contradict the above. Nothing was deleted. Pruning is left to the drift audit, one file per review.
Left for later reviews
- Prune
CLAUDE.mdto the current, binding rules (the history stays in git). This is the largest single cost to every run. - Prune
DIRECTION.md, and relabel its unquoted "owner direction" sections as agent readings or delete them. - Update
check_no_payment_code.py(since replaced byplatform/ci/check_payment_keys.py) andPRODUCT_PLAYBOOK.md§6 to allow payment code that is off by default and runs on the deployer's keys, while still refusing anything wired to the owner's accounts. - Rank existing ventures by how close each is to a one-click self-deploy page, so ventures runs deepen the best ones first.
Measures for the next report
- Instruction lines per file a run reads (baseline above).
- New
ventures/*-calculatordirectories since 2026-10-15 (target: 0). - Ventures with a working self-deploy page.
doc_frictionreports namingCLAUDE.mdorDIRECTION.md.