Self-locate before acting. Returns the host runtime, repo root, repo id, worktree, build id, and cwd.
- Writes
- nothing
- Reads
- room state, presence roster
- Watch for
- host_runtime.ambiguous — stop and resolve which host you are before acting; never guess
Registers this session in the room and returns the mission, the current lead, and whether an acknowledgement is still owed.
- Writes
- presence
- Idempotent
- per protocol session — an existing presence for the same tool and from_session_id is a no-op
- Watch for
- duplicate-active-squad-id — re-enter with a distinct agent id rather than reusing the tool id
Confirms you ingested the rules, guardrails, lead, and mission. The coordination mandate treats an unacknowledged agent as one that has not really joined.
- Writes
- acknowledgement
- Reads
- doctrine, mission, lead seat
- Order
- after enter, before doing work
Asks what to do. This is the wake-intent check — there is no push path, so an agent that never pulls is never woken.
- Returns
- actionable · requires_human · stop_reason · suggested_claims · suggested_commands · completion
- Rule
- if actionable is false, do not invent work from room state
- Caveat
- it recommends one action, so an empty answer is not proof the room is empty — read `rally room`
Reserves a resource before touching it. A claim covers far more than a file: eleven resource types across four access modes.
- Writes
- claim
- Types
- workspace · repo · file · dir · branch · commit · port · process · service · task · cross-repo
- Modes
- exclusive · shared_read · advisory · namespace
- On conflict
- the append is refused with exit 2 and the message names the holder
Asks whether another live agent already claimed this path. Path-based only — it builds a file: scope, so it cannot see a database or a port.
- Writes
- nothing (may record an audit fact)
- --strict
- exits 4 on a stop finding, so a harness aborts the write
- Default
- warns and lets the edit through; every hook exits 0 even when Rally is broken
The actual work. Rally has no arrow into or out of this box, and that is the charter, not an omission.
- Writes
- nothing to the ledger
- Owner
- the coding host
- Charter
- Rally records and advises; it never gates, grants, schedules, spawns, retries, or executes
Tests, builds, whatever proves the change. Rally stores the evidence string you choose to record; it does not judge the work.
- Writes
- nothing to the ledger
- Owner
- the coding host
- Next
- record the outcome with `say artifact --evidence`
Records what happened so a peer, or your own restarted session, can read it back instead of asking a human.
- Writes
- any of the 16 fact kinds
- Auto-presence
- a caller with no presence yet commits one first — which is why a refused claim can exit 1 instead of 2
- Handoff rule
- complete only when the receiving agent writes its own acknowledgement
whoami, next, and
check before-write read it back before advising. edit and
verify have no arrow in either direction — that is the charter drawn as
geometry: Rally never gates, spawns, schedules, or executes.