diff --git a/.claude/rules/first-session.md b/.claude/rules/first-session.md index 8985638..892e2d9 100644 --- a/.claude/rules/first-session.md +++ b/.claude/rules/first-session.md @@ -17,7 +17,7 @@ roadmap phase. **Wait for approval before creating.** **Step 4 — Write the workplan file; fix-consistency registers it (ADR-001)** ``` -workplans/RAILIANCE-WP-NNNN-.md ← write this, commit it +workplans/RPF-WP-NNNN-.md ← write this, commit it ``` Then register by running the consistency check — do **not** call `create_workplan`/`create_task` yourself; manual registration duplicates what @@ -29,6 +29,11 @@ C-06 creates the hub workplan + tasks and writes `state_hub_workstream_id` (legacy frontmatter name — holds the workplan UUID) and `state_hub_task_id` back into the file. +If C-06/C-11 is skipped on a non-registrar host, commit and push the workplan, +then run `uv run --project ~/repo-manager rmgr registrar-reconcile --path . +--confirm-primary --push` once. Never export registrar authority directly or +create hub rows by hand. + **Step 5 — Record the setup** ``` add_progress_event( diff --git a/.claude/rules/session-protocol.md b/.claude/rules/session-protocol.md index a1d8b8f..4fe26b6 100644 --- a/.claude/rules/session-protocol.md +++ b/.claude/rules/session-protocol.md @@ -61,6 +61,10 @@ If no workplans: follow First Session Protocol (`first-session.md`). > and run `fix-consistency`; C-06 registers the workplan and tasks and writes > IDs back into the file. Manual registration creates duplicates when > fix-consistency runs. Work structure belongs in repo files (ADR-001). +> A non-registrar C-06/C-11 skip is handled once with +> `uv run --project ~/repo-manager rmgr registrar-reconcile --path . +> --confirm-primary --push` after committing and pushing file-backed work. +> Never set registrar authority directly or retry the same sync repeatedly. > > Legacy: `create_workstream` and `/workstreams/` remain as metered aliases — > see `workplan-convention.md` (compatibility footnote). diff --git a/.claude/rules/workplan-convention.md b/.claude/rules/workplan-convention.md index 592d950..64334ce 100644 --- a/.claude/rules/workplan-convention.md +++ b/.claude/rules/workplan-convention.md @@ -26,6 +26,18 @@ visible at session start. Pick one up by creating the workplan file, committing, and running `statehub fix-consistency` — C-06 registers the workplan in the hub. Never register by hand with `create_workplan` (legacy MCP alias: `create_workstream`). +If C-06/C-11 is skipped because this host is not the identifier registrar, +further retries cannot help. Do not set `STATEHUB_REGISTRAR` or create hub rows +manually. Commit and push the file-backed work, then run once: + +```bash +uv run --project ~/repo-manager rmgr registrar-reconcile \ + --path . --confirm-primary --push +``` + +If unavailable, send one deduplicated request to `repo-manager` and continue +from the authoritative files. + Task blocks use this shape: ```task @@ -46,7 +58,7 @@ fix-consistency. Do not edit or rename it. **Workplan** is the fleet term — see `the-custodian/canon/standards/workplan-terminology-fleet_v0.1.md`. -**Workplan** is legacy only: some API routes (`/workstreams/`), params +**Workstream** is legacy only: some API routes (`/workstreams/`), params (`workstream_id`), MCP aliases (`create_workstream`), and the frontmatter field above remain until `STATE-WP-0069` retires them via legacy-meter. Treat those identifiers as workplan IDs. Prefer `GET /workplans/` and `workplan_id` in new diff --git a/AGENTS.md b/AGENTS.md index f6ba281..8988029 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -104,6 +104,15 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/" \ ``` Coding agents should run this directly; ask the operator only if the CLI or State Hub API is unavailable. This syncs task status from files into the hub DB. + If C-06/C-11 reports that this host is not the identifier registrar, do not + retry, set `STATEHUB_REGISTRAR`, or create hub rows manually. Commit and push + the file-backed work, then invoke repo-manager once: + ```bash + uv run --project ~/repo-manager rmgr registrar-reconcile \ + --path . --confirm-primary --push + ``` + If unavailable, send one deduplicated registrar request to `repo-manager`; + missing UUIDs do not block continued work from the repository files. --- @@ -172,7 +181,7 @@ read/cache/index layer that rebuilds from files. **File location:** `workplans/RPF-WP-NNNN-.md` **Archived location:** finished workplans may move to -`workplans/archived/YYMMDD-RAILIANCE-WP-NNNN-.md`. The `YYMMDD` prefix is +`workplans/archived/YYMMDD-RPF-WP-NNNN-.md`. The `YYMMDD` prefix is the completion/archive date; the frontmatter `id` does not change. **Ad Hoc Tasks:** small opportunistic fixes discovered during a session use @@ -184,7 +193,7 @@ anything needing analysis, design, approval, dependencies, or multiple phases. ```yaml --- -id: RAILIANCE-WP-NNNN +id: RPF-WP-NNNN type: workplan title: "..." domain: financials @@ -208,7 +217,7 @@ derived health labels, not frontmatter statuses. ## Task Title ` ` `task -id: RAILIANCE-WP-NNNN-T01 +id: RPF-WP-NNNN-T01 status: wait | todo | progress | done | cancel priority: high | medium | low state_hub_task_id: "" # written by fix-consistency — do not edit @@ -221,5 +230,6 @@ Status progression: `todo` → `progress` → `done`; use `wait` for waiting/blo To create a new workplan: 1. Write the file following the format above -2. Notify the custodian operator to run `make fix-consistency REPO=railiance-platform` - (or send a message to the hub agent via `POST /messages/`) +2. Run `statehub fix-consistency` locally. +3. On a non-registrar C-06/C-11 skip, use the scoped repo-manager command above + once. Never export registrar authority directly or send duplicate requests.