A rebuild from scratch simulation and games engine framework set up to assimilate and optimize techniques and implementations useful for games, simulations, robotics.
Find a file
tegwick bb35fcb168 CB-WP-0005 T01: spec->code link over every numbered spec and every crate
AGGREGATE becomes a list of source roots and rule patterns become
per-spec, so the link runs over every numbered spec x every crate rather
than GroundRules.md x games/ground/src/lib.rs.

The prediction held on the first run:

  AM-1b kernel spec->code link: 15/18 (83%) across 10 source files
    unlinked: K10 K14 K18

Kernel rules are link-only by design, and the output says so: they are
kernel invariants with no aggregate, setup preset or command vocabulary,
so scenarios/kernel/*.yaml with covers: [K11] would be a tag in a
directory the runner cannot dispatch. Claiming scenario coverage for them
is the inflation this gate exists to prevent.

Per ADR-0005 §5 the kernel arm reports without feeding the exit code
until 2026-08-31, then binds — the date in the tool, not in prose, with
days remaining printed every run, because open-ended "gate it later" is
how AM-4's targets went unratified for four workplans. The self-test
asserts the gate returns 0 before that date and 2 after.

The zero-rules positive control is replicated on the new denominator: a
kernel regex that stops matching aborts rather than printing 0/0 as
though it were 100%.

The self-test passed while the tool was completely broken. A print(
inside say() became say(), so every real `make coverage` died with
RecursionError while --self-test reported all-ok — it only ever called
kernel_arm(quiet=True) and never executed the reporting path. The control
named the behaviour and did not assert it, which is precisely what this
workplan is about. Fixed by exercising the loud path and asserting it
prints, then verified by re-breaking say() and confirming both new checks
go red. Seventh instance of the harness-does-nothing shape, in the tool
written to find that shape.

Also caught by its own gate: a self-test label that printed "0 K-ids"
beside a passing ">5" assertion, because the detail string rebuilt the
pattern with different escaping. A label that contradicts its own check
is worse than no label.

k_rules, k_linked and k_unlinked are registered facts under facts-check.
A limit of that checker is recorded rather than patched: it is
line-based, so a tagged value that prose-wraps fails.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 16:54:07 +02:00
.forgejo/workflows T01: audit every InnerLoop rule, and make the checkable ones executable 2026-07-31 09:16:00 +02:00
benchmarks/baselines T11: dated rates and staleness become data, ahead of the 2026-08-31 flip 2026-07-31 09:23:29 +02:00
crates T08: give provisional defaults an owner, a date, and a visible age 2026-07-31 09:29:40 +02:00
decisions ADR-0005 + CB-WP-0005: count assertions, not names 2026-07-31 14:25:26 +02:00
evidence CB-WP-0004 T05: control loop — 6 points recovered, not 25-30 2026-07-31 10:27:09 +02:00
games/ground CI: enforce every gate; close the silent-skip holes 2026-07-31 04:02:33 +02:00
history CB-RES-0004: the instruments count names, not assertions 2026-07-31 14:19:30 +02:00
research CB-RES-0004: the instruments count names, not assertions 2026-07-31 14:19:30 +02:00
scenarios/ground T08: give provisional defaults an owner, a date, and a visible age 2026-07-31 09:29:40 +02:00
specs CB-WP-0005 T01: spec->code link over every numbered spec and every crate 2026-07-31 16:54:07 +02:00
tools CB-WP-0005 T01: spec->code link over every numbered spec and every crate 2026-07-31 16:54:07 +02:00
workplans CB-WP-0005 T01: spec->code link over every numbered spec and every crate 2026-07-31 16:54:07 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-07-31 03:11:56 +02:00
.gitignore T07: Cargo workspace scaffold — cb-kernel/cb-events/cb-game-runtime/games-ground/cb-sim, HashMap deny-lint, scenario format + runner stub, Criterion skeleton, Makefile, CI 2026-07-31 01:57:13 +02:00
Cargo.lock T07: Cargo workspace scaffold — cb-kernel/cb-events/cb-game-runtime/games-ground/cb-sim, HashMap deny-lint, scenario format + runner stub, Criterion skeleton, Makefile, CI 2026-07-31 01:57:13 +02:00
Cargo.toml AM-4: gate scenario YAML, retarget on audited source, re-measure 2026-07-31 03:35:41 +02:00
clippy.toml T07: Cargo workspace scaffold — cb-kernel/cb-events/cb-game-runtime/games-ground/cb-sim, HashMap deny-lint, scenario format + runner stub, Criterion skeleton, Makefile, CI 2026-07-31 01:57:13 +02:00
facts.toml CB-WP-0005 T01: spec->code link over every numbered spec and every crate 2026-07-31 16:54:07 +02:00
INTENT.md Adopt TRSL V1C1 license; link ground-game and target-revenue sister repos 2026-07-31 00:25:30 +02:00
LICENSE Adopt TRSL V1C1 license; link ground-game and target-revenue sister repos 2026-07-31 00:25:30 +02:00
Makefile CB-WP-0004 T04: fact registry and make facts-check — DFD gets a gate 2026-07-31 10:24:39 +02:00
README.md CB-WP-0004 T01: fix environment friction at the root 2026-07-31 10:13:52 +02:00
rust-toolchain.toml T07: Cargo workspace scaffold — cb-kernel/cb-events/cb-game-runtime/games-ground/cb-sim, HashMap deny-lint, scenario format + runner stub, Criterion skeleton, Makefile, CI 2026-07-31 01:57:13 +02:00
WORK-RECORDS.md Sync hub IDs for CB-WP-0005 and work-record index 2026-07-31 14:25:54 +02:00

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; canonical text lives in the org's target-revenue repository.

Running the gates

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.