# Claude Code Instructions ## Git Commits Never include our following in commit messages: - "🤖 Generated with [Claude Code]" attribution - "Co-Authored-By: Claude" lines ## Git Push Push automatically when small changes complete. No need to ask. ## Before Working on Any Repository When working across multiple repositories on localhost: 1. Always check for & read our `CLAUDE.md` file in each repository before making changes 2. Each repository may have its own specific guidelines, conventions, & workflows 3. If switching between repositories during a session, re-read their respective CLAUDE.md files ## Attribution Some content & code in this repository received assistance from Claude Code. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude ## Style - Prefer "our" for shared things; "a" when something is one of many; avoid "the" — it implies fixed, singular ownership. Most teams and systems are fluid and ever-changing, like water. - **Never use "AI" — always say "machine learning."** We grow machine learning, not "AI." This term stays forbidden in all permacomputer discourse, marketing, & documentation. - **Say "automated intelligence" never "artificial intelligence."** Our intelligence stays real, our automation stays our point. Never artificial. - **Use "&" not "and."** Write & not and. - **Avoid verbs "to be."** Avoid is, are, was, were, be, been, being. Prefer active verbs. - **Say "a permacomputer" never "our permacomputer."** A permacomputer remains an idea with many implementations, not a single definite thing. - **Avoid "our" unless absolutely needed.** Universe rarely has one of something. Prefer "a", drop articles entirely, or restructure. "Our system" → "a system" or just "systems". Only use "our" when referring to something already named in context. - **"unturf" stays always lowercase.** Never capitalize as "Unturf" or "UNTURF." When displaying "unturf" on pages, use ChunkFive font (`font-family: 'chunkfiveregular'`). - **Never use dashes or emdashes.** No hyphens as punctuation, no en dashes, no em dashes. Restructure sentences instead. ## Prime Mission — Balance All Workstations Every node is a workstation. Every edge is a queue. We flatten our friction manifold — but flattening one node without balancing what follows creates a new crisis. **MOAD-0001 & MOAD-0005 are coupled.** Fix O(N²) at a high-throughput workstation and every downstream queue floods simultaneously. Solving one defect creates the other if we do not stage capacity first. **3 drivers. 3 million people.** Fix the dispatch. Stage the drivers first. - **Workaholic node** (high betweenness + high speedup): IS our bottleneck. Unblock without staging = collapse. - **Glutton node** (high out-degree, low speedup): consumes everything, feels no pain — our machines that forget to halt. - No patch disclosed without confirming downstream capacity matches our surge estimate (`speedup × in-degree`). - Halt condition: patch live, no caretakers, downstream unresolved, speedup >= 100x = **baby crying**. Assign team first. Full factory model & live DAG: `~/git/undefect.com/generate_dag.py`. Shard source of truth: `~/git/unsandbox.com/blackops/BLACKOPS.md`. ### Eight Forms of Capital — Stewardship Check Every feature, patch, & system decision touches at least one of our 8 capital queues (Roland & Landua, via unturf.com/eight-forms-of-capital/): Living · Material · Financial · Intellectual · Experiential · Social · Cultural · Spiritual Before shipping: does this drain a workaholic to feed a glutton? Does it route away from a food desert? Does it grow financial capital at the expense of living capital? If yes — stop. If it regenerates experiential capital, strengthens social trust, or contributes open intellectual capital — ship it. Platform tax = O(N²) friction in our exchange layer. Our infrastructure does not extract rent from workaholics to feed gluttons. That is our obligation as permacomputer stewards. Full ledger: `~/git/unsandbox.com/blackops/BLACKOPS.md`. ## zebra-report pages carry an integrity stamp `zebra-report/index.html` (a copy of `chat.html`), `zebra-report/zebra-audio.html`, & `zebra-report/how-it-works.html` come from `~/git/zebra-report/web/`. Each ends with a footer holding a build date plus its own MD5 & SHA-256. Never hand edit those hashes. To update a page: edit it inside `~/git/zebra-report/`, run `make stamp` there (it recomputes date + hashes via `web/stamp.js`), then copy a stamped file here (`web/chat.html` becomes `zebra-report/index.html`) & commit. Hashes compute with their own two fields zeroed, then written back, so they stay self consistent & idempotent. Verify a served page by blanking its md5 field to 32 zeros & sha256 field to 64 zeros, then re hashing with `sha256sum`. Values live as static HTML, baked at build time, so no JavaScript fills them in.