clay-borg/README.md
tegwick 3f1dbac164 CB-WP-0004 T01: fix environment friction at the root
CB-RES-0003 measured 84 turns and $15.33 — the largest mechanical
category — spent prefixing commands with `cd` and
`export PATH="$HOME/.cargo/bin:$PATH"`. Both causes are now fixed once
instead of per-leaf.

tools/repo.py resolves the repo root from __file__ and cargo from PATH
then the standard rustup locations. Every tool imports ROOT from it, so
the repo path is stated once rather than redefined in four files —
single source of fact, the rule DFD earned in InnerLoop v1.2.
rule-coverage and dep-weight now call enter_root(), which is why their
relative paths did not need rewriting one by one.

The Makefile derives REPO from MAKEFILE_LIST and resolves CARGO the same
way, so `make -C <repo> <target>` works from any directory with no
prefix.

make env-test is the positive control, and is in `make all`: every tool
runs from / with PATH=/usr/bin:/bin. Without it this fix could regress
silently and invalidate T05's measurement — the whole point of the
control loop.

dep-weight's "cargo not on PATH" error is kept rather than deleted. It
should now be unreachable, and --self-test asserts cargo_bin() resolves
unaided; a control that never fires is cheaper than a regression.

loop-lint failed on repo.py on its first run — a reporting tool with a
positive control but no --self-test entry point. Second time the gate
has caught work from its own pass within the hour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 10:13:52 +02:00

32 lines
No EOL
1.6 KiB
Markdown

# clay-borg
A rebuild from scratch simulation and games engine framework set up to assimilate and optimize techniques and implementations useful for games, simulations, robotics.
Licensed under the Target Revenue Source License (TRSL V1C1) — see [LICENSE](LICENSE); canonical text lives in the org's `target-revenue` repository.
## Running the gates
```sh
make all # every gate, from a clean shell
make -C /path/to/clay-borg all # …or from any other directory
```
**There is no environment setup step.** No `cd`, no `export PATH`, no
activation script. `make` locates the repo from its own path and `cargo`
from the standard rustup locations; the Python tools do the same via
`tools/repo.py`. The only prerequisites are a rustup toolchain and Python
3.11+.
This is deliberate and enforced: `make env-test` runs every tool from `/`
with a PATH containing no cargo, and `make all` includes it. CB-RES-0003
measured 84 agent turns and $15.33 spent prefixing commands with `cd` and
`export PATH` before that friction was fixed at the root (CB-WP-0004 T01).
Other useful targets: `make cost` (spend per task), `make cost-budget`
(spend since the last commit), `make cost-mix` (mechanical vs judgment
turns), `make loop-lint` (executable InnerLoop rules), `make self-tests`
(every tool's positive control).
## GROUND
The first product vertical is a virtual tabletop implementation of **GROUND — A Game of Bonds and Rivalry: DARVO Edition**. The boardgame itself (rules, editions, content) is at home in the sister repository **`ground-game`** — that repo is authoritative for what GROUND *is*; clay-borg implements the engine that runs it.