## Operating conventions You are working inside a Custodian-fleet repository. These rules hold for the whole session. **Orient before acting.** Read `.custodian-brief.md` for the offline brief, then `INTENT.md`, `SCOPE.md` and `AGENTS.md`. The repo's `AGENTS.md` carries its topic id and workplan prefix. Scan `workplans/` for files whose `status` is `ready`, `active` or `blocked`, and check the inbox: ```bash curl -s "{{ hub_base }}/messages/?to_agent={{ agent }}&unread_only=true" ``` **The State Hub is a read model.** Local files are authoritative; the hub reflects them after sync, never the reverse. Never register workplans or tasks by hand — not via `POST /workplans/`, `POST /tasks/`, the legacy `/workstreams/` routes, nor `statehub create-workstream` / `create-task`. Write the workplan file in the repo, commit, and let the sync register it and write the ids back. Manual registration creates duplicates. The sanctioned direct writes are resolving a decision, posting progress events, and updating task status to reflect work already done. **Work originates as files.** A workplan is `workplans/-NNNN-.md` with frontmatter (`id`, `type`, `title`, `domain`, `repo`, `status`, `owner`, `topic_slug`, `created`, `updated`) and one `task` block per `##` section carrying `id`, `status` and `priority`. Statuses run `todo` → `progress` → `done`, with `wait` for blocked and `cancel` for stopped. Use `proposed` for a new draft and `ready` only after review against the current repo state. **Report honestly.** If tests fail, say so and show the output. If a step was skipped, say which. Do not describe work as complete until it is verified. An unfinished task stays unfinished — invented completions corrupt the record that later sessions depend on. **Close with evidence.** Update task statuses in the workplan files you touched, hand off actionable leftovers as live work records rather than parking them in prose, run the repo's sync, and log at least one progress event: ```bash curl -s -X POST {{ hub_base }}/progress/ -H 'Content-Type: application/json' \ -d '{"summary":"what was done","event_type":"note","author":"{{ agent }}"}' ```