Regenerate agent instructions: workstream -> workplan terminology
Registration guidance now prescribes file-first + fix-consistency (C-06) instead of manual create_workplan/create_workstream calls; progress-event examples use workplan_id; legacy field names annotated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
26
AGENTS.md
26
AGENTS.md
@@ -20,6 +20,12 @@ there is no MCP server for Codex agents.
|
|||||||
|---------|-----|
|
|---------|-----|
|
||||||
| Local workstation | `http://127.0.0.1:8000` |
|
| Local workstation | `http://127.0.0.1:8000` |
|
||||||
| Remote via tunnel | `http://127.0.0.1:18000` |
|
| Remote via tunnel | `http://127.0.0.1:18000` |
|
||||||
|
| Optional local edge relay | http://127.0.0.1:18080 |
|
||||||
|
|
||||||
|
When an operator has enabled the edge relay, set API_BASE to the relay URL.
|
||||||
|
Queueable writes return an explicit queued receipt if the central hub is
|
||||||
|
unreachable. Treat that as pending local evidence, then ask the operator to run
|
||||||
|
statehub outbox status/replay after connectivity returns.
|
||||||
|
|
||||||
### Orient at session start
|
### Orient at session start
|
||||||
|
|
||||||
@@ -27,8 +33,8 @@ there is no MCP server for Codex agents.
|
|||||||
# Offline brief — works without hub connection
|
# Offline brief — works without hub connection
|
||||||
cat .custodian-brief.md
|
cat .custodian-brief.md
|
||||||
|
|
||||||
# Active workstreams for this domain
|
# Active workplans for this domain
|
||||||
curl -s "http://127.0.0.1:8000/workstreams/?topic_id=cee7bedf-2b48-46ef-8601-006474f2ad7a&status=active" \
|
curl -s "http://127.0.0.1:8000/workplans/?topic_id=cee7bedf-2b48-46ef-8601-006474f2ad7a&status=active" \
|
||||||
| python3 -m json.tool
|
| python3 -m json.tool
|
||||||
|
|
||||||
# Check inbox
|
# Check inbox
|
||||||
@@ -51,12 +57,12 @@ curl -s -X POST http://127.0.0.1:8000/progress/ \
|
|||||||
"summary": "what was done",
|
"summary": "what was done",
|
||||||
"event_type": "note",
|
"event_type": "note",
|
||||||
"author": "codex",
|
"author": "codex",
|
||||||
"workstream_id": "<uuid>",
|
"workplan_id": "<uuid>",
|
||||||
"task_id": "<uuid>"
|
"task_id": "<uuid>"
|
||||||
}'
|
}'
|
||||||
```
|
```
|
||||||
|
|
||||||
Omit `workstream_id` / `task_id` when not applicable.
|
Omit `workplan_id` / `task_id` when not applicable.
|
||||||
|
|
||||||
### Update task status
|
### Update task status
|
||||||
|
|
||||||
@@ -80,7 +86,7 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
|
|||||||
## Session Protocol
|
## Session Protocol
|
||||||
|
|
||||||
**Start:**
|
**Start:**
|
||||||
1. `cat .custodian-brief.md` — domain goal and open workstreams (offline-safe)
|
1. `cat .custodian-brief.md` — domain goal and open workplans (offline-safe)
|
||||||
2. Check inbox: `GET /messages/?to_agent=the-custodian&unread_only=true`; mark read
|
2. Check inbox: `GET /messages/?to_agent=the-custodian&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 human-needed tasks: `GET /tasks/?needs_human=true`
|
4. Check human-needed tasks: `GET /tasks/?needs_human=true`
|
||||||
@@ -92,12 +98,12 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
|
|||||||
**Close:**
|
**Close:**
|
||||||
1. Update workplan file task statuses to reflect progress
|
1. Update workplan file task statuses to reflect progress
|
||||||
2. Log: `POST /progress/` with a summary of what changed
|
2. Log: `POST /progress/` with a summary of what changed
|
||||||
3. Note for the custodian operator: after workplan file changes, run from
|
3. After workplan file changes, run:
|
||||||
`~/state-hub`:
|
|
||||||
```bash
|
```bash
|
||||||
make fix-consistency REPO=the-custodian
|
statehub fix-consistency
|
||||||
```
|
```
|
||||||
This syncs task status from files into the hub DB.
|
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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -123,7 +129,7 @@ Requires the `warden` CLI from `~/ops-warden` (`uv tool install .` or `uv run wa
|
|||||||
| Agent runtime | How to orient |
|
| Agent runtime | How to orient |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| **Codex / Grok** (shell, HTTP State Hub) | `warden route` commands above; inbox `to_agent=the-custodian` is for coordination, not secret vending |
|
| **Codex / Grok** (shell, HTTP State Hub) | `warden route` commands above; inbox `to_agent=the-custodian` is for coordination, not secret vending |
|
||||||
| **Claude Code** (MCP when available) | `get_domain_summary("custodian")` for workstreams; **still** use `warden route` for credential ownership |
|
| **Claude Code** (MCP when available) | `get_domain_summary("custodian")` for workplans; **still** use `warden route` for credential ownership |
|
||||||
| **llm-connect** (inference service) | Never put secret retrieval in prompts; route custody to OpenBao/operator paths surfaced by `warden route` |
|
| **llm-connect** (inference service) | Never put secret retrieval in prompts; route custody to OpenBao/operator paths surfaced by `warden route` |
|
||||||
|
|
||||||
### Quick routing table
|
### Quick routing table
|
||||||
|
|||||||
Reference in New Issue
Block a user