← ClaudeAtlas

agent-locklisted

Take a short-lived local lock on a set of filenames and/or an address range before editing them, so parallel agents/forks in this repo don't grind the same files or ROM range at once. Use before touching shared files (headers, config/rombuild-versions.txt, build/) in any multi-agent or orchestrator workflow, before migrating a class whose address range another agent might also be working, or when a build/edit fails in a way that looks like another process touched the same files concurrently. NOT for coordinating with other human contributors over the network - that is tools/claims.py / CLAIMS.md / tangos.dev.
tangosdev/sm64ds-decomp · ★ 154 · AI & Automation · score 80
Install: claude install-skill tangosdev/sm64ds-decomp
# Local agent locking (Redis, this machine only) `tools/agentlock.py` is a **local** lock, backed by a Redis container in `local-infra/`. It exists for the case `tools/claims.py` doesn't cover: several agents (forks, worktrees, a Workflow's parallel stages) running on **this machine** in **this session**, about to edit the same file or the same address range at the same time. It is not a substitute for `tools/claims.py` — that one coordinates with other contributors over the network and only understands address ranges. This one also locks plain filenames, has near-zero latency, and every lock expires on its own (crash-safe). ## When to reach for it - An orchestrator is about to fan out several agents/forks that each edit files — especially shared ones like headers, `config/rombuild-versions.txt`, `CLAIMS.md`, or anything under `build/` (concurrent builds there already fake failures — see memory `concurrent-builds-fake-failures`). - Two agents might independently pick the same class/function address range to migrate or byte-match in the same run. - You're not sure two agents' file sets overlap — cheaper to lock and find out than to debug a corrupted merge afterward. Skip it for read-only work (matching research, reading source, running `fdiff`) and for a single agent working alone — it's overhead with no payoff there. ## Setup (once per machine, or after a restart) ``` docker compose -f local-infra/docker-compose.yml up -d ``` No persistence by design — a res