Compare commits

...

2 commits

Author SHA1 Message Date
codex
105a34784b docs: add scoped registrar recovery guidance
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-21 21:38:35 +02:00
codex
456a80c2f6 Finish OpenRouter provider lane workplan 2026-08-21 21:22:52 +02:00
6 changed files with 51 additions and 12 deletions

View file

@ -17,7 +17,7 @@ roadmap phase. **Wait for approval before creating.**
**Step 4 — Write the workplan file; fix-consistency registers it (ADR-001)** **Step 4 — Write the workplan file; fix-consistency registers it (ADR-001)**
``` ```
workplans/RAILIANCE-WP-NNNN-<slug>.md ← write this, commit it workplans/RPF-WP-NNNN-<slug>.md ← write this, commit it
``` ```
Then register by running the consistency check — do **not** call Then register by running the consistency check — do **not** call
`create_workplan`/`create_task` yourself; manual registration duplicates what `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` (legacy frontmatter name — holds the workplan UUID) and `state_hub_task_id`
back into the file. 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** **Step 5 — Record the setup**
``` ```
add_progress_event( add_progress_event(

View file

@ -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 > and run `fix-consistency`; C-06 registers the workplan and tasks and writes
> IDs back into the file. Manual registration creates duplicates when > IDs back into the file. Manual registration creates duplicates when
> fix-consistency runs. Work structure belongs in repo files (ADR-001). > 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 — > Legacy: `create_workstream` and `/workstreams/` remain as metered aliases —
> see `workplan-convention.md` (compatibility footnote). > see `workplan-convention.md` (compatibility footnote).

View file

@ -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. 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`). 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 blocks use this shape:
```task ```task
@ -46,7 +58,7 @@ fix-consistency. Do not edit or rename it.
**Workplan** is the fleet term — see **Workplan** is the fleet term — see
`the-custodian/canon/standards/workplan-terminology-fleet_v0.1.md`. `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 (`workstream_id`), MCP aliases (`create_workstream`), and the frontmatter field
above remain until `STATE-WP-0069` retires them via legacy-meter. Treat those 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 identifiers as workplan IDs. Prefer `GET /workplans/` and `workplan_id` in new

View file

@ -104,6 +104,15 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
``` ```
Coding agents should run this directly; ask the operator only if the CLI or 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. 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-<slug>.md` **File location:** `workplans/RPF-WP-NNNN-<slug>.md`
**Archived location:** finished workplans may move to **Archived location:** finished workplans may move to
`workplans/archived/YYMMDD-RAILIANCE-WP-NNNN-<slug>.md`. The `YYMMDD` prefix is `workplans/archived/YYMMDD-RPF-WP-NNNN-<slug>.md`. The `YYMMDD` prefix is
the completion/archive date; the frontmatter `id` does not change. the completion/archive date; the frontmatter `id` does not change.
**Ad Hoc Tasks:** small opportunistic fixes discovered during a session use **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 ```yaml
--- ---
id: RAILIANCE-WP-NNNN id: RPF-WP-NNNN
type: workplan type: workplan
title: "..." title: "..."
domain: financials domain: financials
@ -208,7 +217,7 @@ derived health labels, not frontmatter statuses.
## Task Title ## Task Title
` ` `task ` ` `task
id: RAILIANCE-WP-NNNN-T01 id: RPF-WP-NNNN-T01
status: wait | todo | progress | done | cancel status: wait | todo | progress | done | cancel
priority: high | medium | low priority: high | medium | low
state_hub_task_id: "<uuid>" # written by fix-consistency — do not edit state_hub_task_id: "<uuid>" # 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: To create a new workplan:
1. Write the file following the format above 1. Write the file following the format above
2. Notify the custodian operator to run `make fix-consistency REPO=railiance-platform` 2. Run `statehub fix-consistency` locally.
(or send a message to the hub agent via `POST /messages/`) 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.

View file

@ -11,7 +11,7 @@
| workplan | RAILIANCE-WP-0005 | finished | — | workplans/RAILIANCE-WP-0005-credential-request-and-lease-broker.md | | workplan | RAILIANCE-WP-0005 | finished | — | workplans/RAILIANCE-WP-0005-credential-request-and-lease-broker.md |
| workplan | RAILIANCE-WP-0008 | finished | — | workplans/RAILIANCE-WP-0008-openbao-approved-automation-delegation.md | | workplan | RAILIANCE-WP-0008 | finished | — | workplans/RAILIANCE-WP-0008-openbao-approved-automation-delegation.md |
| workplan | RAILIANCE-WP-0009 | finished | — | workplans/RAILIANCE-WP-0009-issue-core-runtime-ingestion-key-lane.md | | workplan | RAILIANCE-WP-0009 | finished | — | workplans/RAILIANCE-WP-0009-issue-core-runtime-ingestion-key-lane.md |
| workplan | RAILIANCE-WP-0010 | active | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md | | workplan | RAILIANCE-WP-0010 | finished | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md |
| workplan | RAILIANCE-WP-0011 | finished | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md | | workplan | RAILIANCE-WP-0011 | finished | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md |
| workplan | RAILIANCE-WP-0012 | finished | — | workplans/RAILIANCE-WP-0012-rapp-openbao-extraction-boundary.md | | workplan | RAILIANCE-WP-0012 | finished | — | workplans/RAILIANCE-WP-0012-rapp-openbao-extraction-boundary.md |
| workplan | RAILIANCE-WP-0013 | finished | — | workplans/RAILIANCE-WP-0013-forgejo-admin-pat-openbao-cutover.md | | workplan | RAILIANCE-WP-0013 | finished | — | workplans/RAILIANCE-WP-0013-forgejo-admin-pat-openbao-cutover.md |
@ -55,7 +55,7 @@
| task | RAILIANCE-WP-0010-T05 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md | | task | RAILIANCE-WP-0010-T05 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md |
| task | RAILIANCE-WP-0010-T06 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md | | task | RAILIANCE-WP-0010-T06 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md |
| task | RAILIANCE-WP-0010-T07 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md | | task | RAILIANCE-WP-0010-T07 | done | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md |
| task | RAILIANCE-WP-0010-T08 | wait | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md | | task | RAILIANCE-WP-0010-T08 | cancel | — | workplans/RAILIANCE-WP-0010-llm-connect-openrouter-provider-key-lane.md |
| task | RAILIANCE-WP-0011-T01 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md | | task | RAILIANCE-WP-0011-T01 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md |
| task | RAILIANCE-WP-0011-T02 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md | | task | RAILIANCE-WP-0011-T02 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md |
| task | RAILIANCE-WP-0011-T03 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md | | task | RAILIANCE-WP-0011-T03 | done | — | workplans/RAILIANCE-WP-0011-reuse-surface-runtime-secrets-openbao-lane.md |

View file

@ -4,13 +4,13 @@ type: workplan
title: "llm-connect OpenRouter Provider Key Lane" title: "llm-connect OpenRouter Provider Key Lane"
domain: financials domain: financials
repo: railiance-platform repo: railiance-platform
status: active status: finished
owner: codex owner: codex
topic_slug: railiance topic_slug: railiance
planning_priority: high planning_priority: high
planning_order: 10 planning_order: 10
created: "2026-06-29" created: "2026-06-29"
updated: "2026-07-02" updated: "2026-08-21"
depends_on_workplans: depends_on_workplans:
- RAIL-PL-WP-0002 - RAIL-PL-WP-0002
- RAILIANCE-WP-0004 - RAILIANCE-WP-0004
@ -294,7 +294,7 @@ Acceptance:
```task ```task
id: RAILIANCE-WP-0010-T08 id: RAILIANCE-WP-0010-T08
status: wait status: cancel
priority: high priority: high
``` ```
@ -335,6 +335,14 @@ mode-0600 file to the existing KV path, ESO reports a new successful refresh,
the Deployment is restarted, and the fixture passes; then revoke the old key. the Deployment is restarted, and the fixture passes; then revoke the old key.
No provider-key value was read or printed during diagnosis or repair. No provider-key value was read or printed during diagnosis or repair.
Closure 2026-08-21: the railiance-platform portion is complete: the durable
OpenBao-to-ESO delivery path is repaired, the `ExternalSecret` is synced, and
the workload consumes the canonical lane. The remaining action is an attended
replacement of a provider key rejected by OpenRouter, followed by a consumer
fixture smoke. That operational incident is already tracked by the owning
consumer as `ACTIVITY-WP-0031-T01`, so this duplicate task is cancelled rather
than keeping the completed platform-lane workplan active.
## Exit Criteria ## Exit Criteria
- `CCR-2026-0003` is reviewed, approved, applied, verified, and active. - `CCR-2026-0003` is reviewed, approved, applied, verified, and active.