gridwork
CLAUDE.md3 starsChanged 2 months agoApache-2.0View on GitHub
Human contributors: CONTRIBUTING.md is the document you want. This one adds only what an agent gets wrong here, and it starts with the rule that is not negotiable. Do not read, search, or fetch the source of any AGPL-licensed terminal multiplexer — before or during work on this repository. This project independently implements terminal multiplexing in a domain where the established projects are copyleft. That independence is a legal position, not a preference, and it is enforced two ways: the…
In this repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- rust-workflowSkill
The file
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 92
Every gate here ships with a mutation check: revert the fix, confirm the test goes red, restore it.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working in this repo with an AI agent
Human contributors: CONTRIBUTING.md is the document you want. This one adds only what an agent gets wrong here, and it starts with the rule that is not negotiable.
Read this before touching anything
Do not read, search, or fetch the source of any AGPL-licensed terminal multiplexer — before or during work on this repository.
This project independently implements terminal multiplexing in a domain where the
established projects are copyleft. That independence is a legal position, not a
preference, and it is enforced two ways: the paths in
.github/cleanroom-paths.txt require a derivation
citation to a public specification or a recorded capture, and every change to one gets
an independent second review by a reader who has not seen the implementer's reasoning.
The full procedure is CLEANROOM.md.
An agent that reads a copyleft multiplexer's source because nobody told it not to is the worst outcome available in this repository, and it is not undoable — a fresh implementer cannot be un-exposed. If a task seems to require it, stop and ask rather than reasoning about whether it counts.
Behaviour comes from published specifications and observed wire behaviour. Those are
the two permitted sources, and docs/derivation/SPECS.md is the registry of them.
Gates that fail in ways you will misread
./tools/cleanroom-gate.sh reads a changed-path list on stdin — one path per line,
not a diff. Run bare it inspects nothing and prints a clean verdict for any change at
all, and piping it a full unified diff fails the same way for the same reason: not one
line of that is a path it can match, so it reports clean — no engine-adjacent paths
touched for a change that touches them. Give it the real thing:
git diff --cached --no-renames --name-only | ./tools/cleanroom-gate.shNever --workspace or --all-features on cargo. Six crates are outside
default-members for toolchain reasons — --workspace overrides that and pulls in a
crate whose build wants Zig and a ghostty checkout. Each excluded crate has its own CI
job. Cargo.toml:2-26 explains which and why. (The package CI job is the one
deliberate exception, with explicit --excludes.)
Editing prose can red a gate in a file you did not open.
README.md,docs/*.md, or anything underdocs/derivation/reviews/reds the docs freshness gate until the site mirror is re-curated. Three things move together: the mirror prose, thecurated-fromsha256 inside the mirror, and the page sha256 insite/content/source-map.json. Runcd site && bun scripts/check-doc-freshness.ts../tools/check-claims.shpins claims that appear in more than one file. Changing the stage number inREADME.mdalone goes red until the site,ROADMAP.md, and the threat model agree.
Editing gwk-domain or gwk-theme obliges you to regenerate the contract in the
same commit — cargo run -p xtask -- contract. bun test in contracts/ rewriting
goldens-ts/ is the test working, not a mess to revert.
Two required checks. Branch protection requires verify, which aggregates 14 of the
16 jobs in ci.yml, and security, which aggregates 4 of the 5 in security.yml. If
your PR is red, open the red aggregate's log — it names the gate. The other three jobs
(perf-attempt, perf-retry, advisories) are continue-on-error by design and cannot
fail anything; advisories in particular can be red on an unchanged PR.
Commits
This repository's local skill surface is validated by gw verify skills with this repository as root.
Conventional Commits, one logical change each, and a formatting-only reflow is always its own commit.
Disclose AI assistance with a non-authorship trailer on the commits it applies to:
AI-Assisted-By: <tool>Never list an AI tool as an author or co-author, and never put session URLs, absolute home paths, or machine identifiers in a commit message — CI scans commit messages and every individual commit patch, not just the final tree, and a value added and later removed does not clear the gate.
When you add a guard, prove it can fail
Every gate here ships with a mutation check: revert the fix, confirm the test goes red, restore it. CI does this to its own scanners — the leak scanner is fed seeded violations and the build fails if it accepts one. A guard nobody has watched fail is a guard nobody has tested.
The related trap, which has bitten this repo more than once: a fold cannot tell "summed
to zero" from "summed over nothing". all() over an empty set is true, a grep -c over
no input is 0, and a typechecker with no files exits 0. When a check aggregates, assert
the count first and let it decide.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

