Normalize agent instructions and workplan frontmatter (STATE-WP-0067)

- Align agent files with on-disk workplan prefixes (infer from workplan ids)
- Set workplan domain to registered domain_slug; add topic_slug where applicable
- Repair frontmatter delimiter formatting; migrate legacy task status literals
- Regenerate AGENTS.md, CLAUDE.md, and .claude/rules from State Hub templates
This commit is contained in:
2026-06-22 23:16:27 +02:00
parent 0a5b15f8fd
commit 8849ee8540
26 changed files with 67 additions and 49 deletions

View File

@@ -1,11 +1,11 @@
## First Session Protocol ## First Session Protocol
Triggered when `get_domain_summary("markitect")` shows **no workstreams**. Triggered when `get_domain_summary("communication")` shows **no workstreams**.
The project is registered but work has not yet been structured. The project is registered but work has not yet been structured.
**Step 1 — Read, don't write** **Step 1 — Read, don't write**
- `~/the-custodian/canon/projects/markitect/project_charter_v0.1.md` — purpose, scope - `~/the-custodian/canon/projects/communication/project_charter_v0.1.md` — purpose, scope
- `~/the-custodian/canon/projects/markitect/roadmap_v0.1.md` — planned phases - `~/the-custodian/canon/projects/communication/roadmap_v0.1.md` — planned phases
- Scan repo root: README, directory structure, existing code or docs - Scan repo root: README, directory structure, existing code or docs
**Step 2 — Survey in-progress work** **Step 2 — Survey in-progress work**
@@ -17,20 +17,20 @@ roadmap phase. **Wait for approval before creating.**
**Step 4 — Create workplan file first, then DB record (ADR-001)** **Step 4 — Create workplan file first, then DB record (ADR-001)**
``` ```
workplans/markitect-tool-WP-NNNN-<slug>.md ← write this first workplans/MKTT-WP-NNNN-<slug>.md ← write this first
``` ```
Then register in the hub: Then register in the hub:
``` ```
create_workstream(topic_id="5571d954-0d30-4950-980d-7bcaaad8e3e2", title="...", owner="...", description="...") create_workstream(topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc", title="...", owner="...", description="...")
create_task(workstream_id="<id>", title="...", priority="high|medium|low") create_task(workstream_id="<id>", title="...", priority="high|medium|low")
``` ```
**Step 5 — Record the setup** **Step 5 — Record the setup**
``` ```
add_progress_event( add_progress_event(
summary="First session: structured markitect into N workstreams, M tasks", summary="First session: structured communication into N workstreams, M tasks",
event_type="milestone", event_type="milestone",
topic_id="5571d954-0d30-4950-980d-7bcaaad8e3e2", topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc",
detail={"workstreams": [...], "tasks_created": M} detail={"workstreams": [...], "tasks_created": M}
) )
``` ```

View File

@@ -1,5 +1,5 @@
**Purpose:** markitect-tool - (fill in purpose) **Purpose:** markitect-tool - (fill in purpose)
**Domain:** markitect **Domain:** communication
**Repo slug:** markitect-tool **Repo slug:** markitect-tool
**Topic ID:** 5571d954-0d30-4950-980d-7bcaaad8e3e2 **Topic ID:** 36c7421b-c537-4723-bf75-42a3ebc6a1dc

View File

@@ -1,6 +1,7 @@
## Session Protocol ## Session Protocol
State Hub: http://127.0.0.1:8000 Dev Hub (State Hub API): http://127.0.0.1:8000
MCP server name in `~/.claude.json`: `dev-hub`
**Step 1 — Orient** **Step 1 — Orient**
@@ -10,7 +11,7 @@ cat .custodian-brief.md
``` ```
Then call the MCP tool for richer cross-domain context when MCP tools are exposed: Then call the MCP tool for richer cross-domain context when MCP tools are exposed:
``` ```
get_domain_summary("markitect") get_domain_summary("communication")
``` ```
If MCP tools are unavailable in the current agent session, use the REST API: If MCP tools are unavailable in the current agent session, use the REST API:
```bash ```bash
@@ -39,11 +40,11 @@ curl -s -X PATCH "http://127.0.0.1:8000/messages/<id>/read" \
ls workplans/ ls workplans/
``` ```
For each file with `status: ready`, `active`, or `blocked`, note pending For each file with `status: ready`, `active`, or `blocked`, note pending
`todo`/`in_progress` tasks. `wait`/`todo`/`progress` tasks.
**Step 4 — Present brief** **Step 4 — Present brief**
1. **Active workstreams** for `markitect` — title, task counts, blocking decisions 1. **Active workstreams** for `communication` — title, task counts, blocking decisions
2. **Pending tasks** from `workplans/` + any `[repo:markitect-tool]` hub tasks 2. **Pending tasks** from `workplans/` + any `[repo:markitect-tool]` hub tasks
3. **Goal guidance** — if `goal_guidance` in summary: 3. **Goal guidance** — if `goal_guidance` in summary:
- `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"* - `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"*
@@ -61,13 +62,13 @@ If no workstreams: follow First Session Protocol (`first-session.md`).
**Session close:** **Session close:**
With MCP tools: With MCP tools:
``` ```
add_progress_event(summary="...", topic_id="5571d954-0d30-4950-980d-7bcaaad8e3e2", workstream_id="<uuid>") add_progress_event(summary="...", topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc", workstream_id="<uuid>")
``` ```
Without MCP tools: Without MCP tools:
```bash ```bash
curl -s -X POST http://127.0.0.1:8000/progress/ \ curl -s -X POST http://127.0.0.1:8000/progress/ \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"topic_id":"5571d954-0d30-4950-980d-7bcaaad8e3e2","workstream_id":"<uuid>","event_type":"note","summary":"what changed","author":"codex"}' -d '{"topic_id":"36c7421b-c537-4723-bf75-42a3ebc6a1dc","workstream_id":"<uuid>","event_type":"note","summary":"what changed","author":"codex"}'
``` ```
If workplan files were modified, ensure the local copy is up to date first: If workplan files were modified, ensure the local copy is up to date first:
```bash ```bash

View File

@@ -1,7 +1,7 @@
## Workplan Convention (ADR-001) ## Workplan Convention (ADR-001)
File location: `workplans/markitect-tool-WP-NNNN-<slug>.md` File location: `workplans/MKTT-WP-NNNN-<slug>.md`
ID prefix: `MARKITECT-WP` ID prefix: `MKTT-WP-`
Work items originate as files in this repo **before** being registered in the hub. Work items originate as files in this repo **before** being registered in the hub.
@@ -12,7 +12,7 @@ repo state, and `finished` when implementation is complete. `stalled` and
`needs_review` are derived health labels, not stored statuses. `needs_review` are derived health labels, not stored statuses.
Closed workplans may be moved to `workplans/archived/` with a completion-date Closed workplans may be moved to `workplans/archived/` with a completion-date
prefix: `YYMMDD-markitect-tool-WP-NNNN-<slug>.md`. The frontmatter id remains prefix: `YYMMDD-MKTT-WP-NNNN-<slug>.md`. The frontmatter id remains
unchanged; the prefix is only for quick visual reference. unchanged; the prefix is only for quick visual reference.
Small opportunistic tasks discovered during another session use **Ad Hoc Tasks**: Small opportunistic tasks discovered during another session use **Ad Hoc Tasks**:
@@ -25,4 +25,16 @@ Ecosystem todos from other agents arrive as `[repo:markitect-tool]` hub tasks
visible at session start. Pick one up by creating the workplan file, then registering visible at session start. Pick one up by creating the workplan file, then registering
the workstream. the workstream.
Task blocks use this shape:
```task
id: MKTT-WP-NNNN-T01
status: wait | todo | progress | done | cancel
priority: high | medium | low
state_hub_task_id: "<uuid>" # written by fix-consistency — do not edit
```
Status progression is `todo``progress``done`; use `wait` for waiting or
blocked work and `cancel` for stopped work.
<!-- Ralph Loop rules and HEUREKA sequence: ~/.claude/CLAUDE.md — do not duplicate here --> <!-- Ralph Loop rules and HEUREKA sequence: ~/.claude/CLAUDE.md — do not duplicate here -->

View File

@@ -4,10 +4,10 @@
**Purpose:** markitect-tool - (fill in purpose) **Purpose:** markitect-tool - (fill in purpose)
**Domain:** markitect **Domain:** communication
**Repo slug:** markitect-tool **Repo slug:** markitect-tool
**Topic ID:** `5571d954-0d30-4950-980d-7bcaaad8e3e2` **Topic ID:** `36c7421b-c537-4723-bf75-42a3ebc6a1dc`
**Workplan prefix:** `MARKITECT-WP-` **Workplan prefix:** `MKTT-WP-`
--- ---
@@ -28,7 +28,7 @@ there is no MCP server for Codex agents.
cat .custodian-brief.md cat .custodian-brief.md
# Active workstreams for this domain # Active workstreams for this domain
curl -s "http://127.0.0.1:8000/workstreams/?topic_id=5571d954-0d30-4950-980d-7bcaaad8e3e2&status=active" \ curl -s "http://127.0.0.1:8000/workstreams/?topic_id=36c7421b-c537-4723-bf75-42a3ebc6a1dc&status=active" \
| python3 -m json.tool | python3 -m json.tool
# Check inbox # Check inbox
@@ -63,8 +63,8 @@ Omit `workstream_id` / `task_id` when not applicable.
```bash ```bash
curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"status": "in_progress"}' -d '{"status": "progress"}'
# values: todo | in_progress | done | blocked # values: wait | todo | progress | done | cancel
``` ```
### Flag a task for human review ### Flag a task for human review
@@ -83,7 +83,7 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
1. `cat .custodian-brief.md` — domain goal and open workstreams (offline-safe) 1. `cat .custodian-brief.md` — domain goal and open workstreams (offline-safe)
2. Check inbox: `GET /messages/?to_agent=markitect-tool&unread_only=true`; mark read 2. Check inbox: `GET /messages/?to_agent=markitect-tool&unread_only=true`; mark read
3. Scan workplans: `ls workplans/` — note `status: ready`, `active`, or `blocked` files and open tasks 3. Scan workplans: `ls workplans/` — note `status: ready`, `active`, or `blocked` files and open tasks
4. Check blocked tasks: `GET /tasks/?needs_human=true` 4. Check human-needed tasks: `GET /tasks/?needs_human=true`
**During work:** **During work:**
- Update task statuses in workplan files as tasks progress - Update task statuses in workplan files as tasks progress
@@ -151,6 +151,11 @@ every repo's agent instructions because it is high-frequency, high-risk, and eas
get wrong. get wrong.
**Canon:** `~/ops-warden/wiki/CredentialRouting.md` · catalog `~/ops-warden/registry/routing/catalog.yaml` **Canon:** `~/ops-warden/wiki/CredentialRouting.md` · catalog `~/ops-warden/registry/routing/catalog.yaml`
<!-- REPO-AGENTS-EXTENSIONS -->
<!-- Append repo-specific agent instructions below this marker.
The state-hub template sync preserves content after this line. -->
--- ---
## Workplan Convention (ADR-001) ## Workplan Convention (ADR-001)
@@ -176,7 +181,7 @@ anything needing analysis, design, approval, dependencies, or multiple phases.
id: MARKITECT-WP-NNNN id: MARKITECT-WP-NNNN
type: workplan type: workplan
title: "..." title: "..."
domain: markitect domain: communication
repo: markitect-tool repo: markitect-tool
status: proposed | ready | active | blocked | backlog | finished | archived status: proposed | ready | active | blocked | backlog | finished | archived
owner: codex owner: codex
@@ -198,7 +203,7 @@ derived health labels, not frontmatter statuses.
` ` `task ` ` `task
id: MARKITECT-WP-NNNN-T01 id: MARKITECT-WP-NNNN-T01
status: todo | in_progress | done | blocked 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
` ` ` ` ` `
@@ -206,7 +211,7 @@ state_hub_task_id: "<uuid>" # written by fix-consistency — do not edit
Task description text. Task description text.
``` ```
Status progression: `todo` → `in_progress` → `done` (or `blocked`) Status progression: `todo` → `progress` → `done`; use `wait` for waiting/blocked work and `cancel` for stopped work.
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

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0001 id: MKTT-WP-0001
type: workplan type: workplan
title: "markitect-tool Repository Foundation" title: "markitect-tool Repository Foundation"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0002 id: MKTT-WP-0002
type: workplan type: workplan
title: "markitect-main Scope Extraction" title: "markitect-main Scope Extraction"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0003 id: MKTT-WP-0003
type: workplan type: workplan
title: "Core Markdown Toolkit Implementation" title: "Core Markdown Toolkit Implementation"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0004 id: MKTT-WP-0004
type: workplan type: workplan
title: "Practical Document Contract Framework" title: "Practical Document Contract Framework"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0005 id: MKTT-WP-0005
type: workplan type: workplan
title: "Runtime Context, Form, and Assessment Engines" title: "Runtime Context, Form, and Assessment Engines"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0006 id: MKTT-WP-0006
type: workplan type: workplan
title: "Optional Cache Backend Architecture Core" title: "Optional Cache Backend Architecture Core"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0007 id: MKTT-WP-0007
type: workplan type: workplan
title: "Advanced Query and Local Index Backend" title: "Advanced Query and Local Index Backend"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0008 id: MKTT-WP-0008
type: workplan type: workplan
title: "Agent Working Memory Context Cache" title: "Agent Working Memory Context Cache"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0009 id: MKTT-WP-0009
type: workplan type: workplan
title: "Access-Controlled Knowledge Gateway" title: "Access-Controlled Knowledge Gateway"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0010 id: MKTT-WP-0010
type: workplan type: workplan
title: "Content References, Processors, and Literate Workflows" title: "Content References, Processors, and Literate Workflows"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0011 id: MKTT-WP-0011
type: workplan type: workplan
title: "Markdown Dataflow Pipeline Workflows" title: "Markdown Dataflow Pipeline Workflows"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0012 id: MKTT-WP-0012
type: workplan type: workplan
title: "Document Function Layer" title: "Document Function Layer"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0013 id: MKTT-WP-0013
type: workplan type: workplan
title: "Internal Extension Framework and Canonical Processing Model" title: "Internal Extension Framework and Canonical Processing Model"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0014 id: MKTT-WP-0014
type: workplan type: workplan
title: "Enterprise IAM Access-Control Integration" title: "Enterprise IAM Access-Control Integration"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0015 id: MKTT-WP-0015
type: workplan type: workplan
title: "Document Function Value Contracts" title: "Document Function Value Contracts"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0016 id: MKTT-WP-0016
type: workplan type: workplan
title: "Memory Graph Profile Contract And Context Package Compiler" title: "Memory Graph Profile Contract And Context Package Compiler"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0017 id: MKTT-WP-0017
type: workplan type: workplan
title: "CLI/API Polish And Practical Adoption" title: "CLI/API Polish And Practical Adoption"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0018 id: MKTT-WP-0018
type: workplan type: workplan
title: "Source Adapter Interface And Markdown Normalization Contract" title: "Source Adapter Interface And Markdown Normalization Contract"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0019 id: MKTT-WP-0019
type: workplan type: workplan
title: "Source Adapter Contract Refinement" title: "Source Adapter Contract Refinement"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0020 id: MKTT-WP-0020
type: workplan type: workplan
title: "Render Export Adapter Contract" title: "Render Export Adapter Contract"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect

View File

@@ -2,7 +2,7 @@
id: MKTT-WP-0021 id: MKTT-WP-0021
type: workplan type: workplan
title: "Render Reference And Asset Manifest Contract" title: "Render Reference And Asset Manifest Contract"
domain: markitect domain: communication
status: done status: done
owner: markitect-tool owner: markitect-tool
topic_slug: markitect topic_slug: markitect