# AGENTS.md **Read [CLAUDE.md](CLAUDE.md) first and treat it as binding.** It is written for whichever agent is driving this repo, not for one vendor: the live-Revit bridge, the IronPython 2.7 rules, the unit conventions, and the rules that exist because breaking them killed Revit. Nothing in it is restated here, because two copies of a hard rule drift and the copy that drifts is the one that takes the model down. Then read [docs/handoff.md](docs/handoff.md) for the state of the work: what is done, what is knowingly approximate, and what to pick up first. ## Harness notes Instruction files are loaded by the harness's `agent-instructions` plugin, which reads `AGENTS.md` and `CLAUDE.md` in each directory from the project root down. Two files with the same content collapse to one; two with different content both load. That is why this file is a pointer and not a copy — it costs a few lines and leaves CLAUDE.md as the single source. **The plugin ships disabled in the default `web` profile.** If neither file appears in the session's context, enable it in `~/.dsh/profiles/web/cordis.patch.yml`: ```yaml - id: agent-instructions disabled: false ``` Check what is actually composed with `dsh --profile web --dump-config`. An agent working here without CLAUDE.md loaded will reload pyRevit sooner or later, and that ends the Revit session.