generated from coulomb/repo-seed
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:
@@ -1,15 +1,3 @@
|
||||
## Agent entry points
|
||||
|
||||
| Runtime | Canonical instructions |
|
||||
| --- | --- |
|
||||
| **Grok / Codex** (shell) | `AGENTS.md` at repo root |
|
||||
| **Claude Code** | This file tree via `CLAUDE.md` |
|
||||
|
||||
`AGENTS.md` and `.claude/rules/` are kept in sync for repo-specific content.
|
||||
Fleet-wide credential routing is mirrored in `credential-routing.md` and the
|
||||
matching section of `AGENTS.md` — re-sync from `~/ops-warden/wiki/CredentialRouting.md`
|
||||
when the catalog changes.
|
||||
|
||||
## Kaizen Agents
|
||||
|
||||
Specialized agent personas available on demand via the state-hub MCP.
|
||||
@@ -29,4 +17,4 @@ Common agents:
|
||||
| `project-management` | process | Track status, determine next steps |
|
||||
| `datamodel-optimization` | quality | Optimize dataclasses and data structures |
|
||||
|
||||
All 17 agents: call `list_kaizen_agents()` for the full list.
|
||||
All 17 agents: call `list_kaizen_agents()` for the full list.
|
||||
|
||||
@@ -1,23 +1,8 @@
|
||||
## Architecture
|
||||
|
||||
**Request pipeline** (`src/cya/orchestrator.py`):
|
||||
1. Collect local context (`context/collector.py`)
|
||||
2. Recall memory via phase-memory ports (`memory/__init__.py`)
|
||||
3. Classify risk (`safety/risk.py`) — rule-based; memory signals add caution only
|
||||
4. Call LLM via `LLMAdapter` Protocol (`llm/adapter.py`) — FakeLLMAdapter today
|
||||
5. Render explainable response (Rich)
|
||||
|
||||
**Memory (Profile 0 + Profile 1 spike):**
|
||||
- User-controlled local JSON behind explicit ports (`remember`, `recall`, `forget`, `export`)
|
||||
- Kinds: `preference`, `retrospection`, `interaction_goal`, `reflection`
|
||||
- Directory/project-bound activation via `activation_context`
|
||||
- `cya retrospect` feeds higher-order memory; optional verbal lesson capture (Profile 1)
|
||||
|
||||
**Boundaries:** See `repo-boundary.md`. No production path bypasses the adapter or memory ports.
|
||||
<!-- TODO: Describe the key design decisions and component structure.
|
||||
Key modules, data flows, external integrations, state machines, etc. -->
|
||||
|
||||
## Quick Reference
|
||||
|
||||
- Memory contract: `MemoryVision.md`
|
||||
- Activation/retrospection concept: `docs/cya-memory-activation-and-retrospection-concept.md`
|
||||
- phase-memory feedback: `docs/phase-memory-optimization-suggestions.md`
|
||||
- `~/state-hub/mcp_server/TOOLS.md` — MCP tool reference
|
||||
`~/state-hub/mcp_server/TOOLS.md` — MCP tool reference
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
# Credential and access routing
|
||||
|
||||
> Fleet template mirrored in `AGENTS.md` (Credential and access routing section).
|
||||
> Re-sync both from `~/ops-warden/wiki/CredentialRouting.md` when the catalog changes.
|
||||
|
||||
**Audience:** Codex, Claude Code, Grok, and custodian agents that call **llm-connect**
|
||||
for inference. Run this check **before** requesting secrets, API keys, SSH access,
|
||||
login tokens, or database passwords — in any repo, not only `ops-warden`.
|
||||
@@ -28,14 +25,13 @@ Requires the `warden` CLI from `~/ops-warden` (`uv tool install .` or `uv run wa
|
||||
|
||||
### Quick routing table
|
||||
|
||||
Prefer `warden route find` for repo-specific needs. Common routes:
|
||||
|
||||
| I need… | Owner | ops-warden executes? |
|
||||
| --- | --- | --- |
|
||||
| SSH cert (`adm`/`agt`/`atm`) | ops-warden | **Yes** — `warden sign` |
|
||||
| API key, DB password, provider token | OpenBao (`railiance-platform`) | No — route only |
|
||||
| Login / OIDC / MFA | key-cape / Keycloak | No — route only |
|
||||
| Authorization decision | flex-auth | No — route only |
|
||||
| activity-core → issue-core emission | activity-core + issue-core | No — `warden route show activity-core-issue-sink` |
|
||||
| SSH tunnel | ops-bridge (+ `cert_command` from warden) | No — route only |
|
||||
|
||||
### Anti-patterns (do not do these)
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
## First Session Protocol
|
||||
|
||||
Triggered when `get_domain_summary("capabilities")` shows **no workstreams**.
|
||||
Triggered when `get_domain_summary("agents")` shows **no workstreams**.
|
||||
The project is registered but work has not yet been structured.
|
||||
|
||||
**Step 1 — Read, don't write**
|
||||
- `INTENT.md`, `README.md`, `SCOPE.md`, `AGENTS.md`, `MemoryVision.md`
|
||||
- Scan repo root: `src/cya/`, `workplans/`, `tests/`
|
||||
- `~/the-custodian/canon/projects/agents/project_charter_v0.1.md` — purpose, scope
|
||||
- `~/the-custodian/canon/projects/agents/roadmap_v0.1.md` — planned phases
|
||||
- Scan repo root: README, directory structure, existing code or docs
|
||||
|
||||
**Step 2 — Survey in-progress work**
|
||||
Look for TODOs, open branches, half-finished files. Note done vs. started but incomplete.
|
||||
|
||||
**Step 3 — Propose workstreams to Bernd**
|
||||
Propose 1–3 workstreams — each a coherent strand, weeks to months, anchored to
|
||||
INTENT/SCOPE. **Wait for approval before creating.**
|
||||
Propose 1–3 workstreams — each a coherent strand, weeks to months, anchored to a
|
||||
roadmap phase. **Wait for approval before creating.**
|
||||
|
||||
**Step 4 — Create workplan file first, then DB record (ADR-001)**
|
||||
```
|
||||
@@ -27,11 +28,11 @@ create_task(workstream_id="<id>", title="...", priority="high|medium|low")
|
||||
**Step 5 — Record the setup**
|
||||
```
|
||||
add_progress_event(
|
||||
summary="First session: structured capabilities/can-you-assist into N workstreams, M tasks",
|
||||
summary="First session: structured agents into N workstreams, M tasks",
|
||||
event_type="milestone",
|
||||
topic_id="64418556-3206-457a-ba29-6884b5b12cf3",
|
||||
detail={"workstreams": [...], "tasks_created": M}
|
||||
)
|
||||
```
|
||||
|
||||
<!-- Past first session for this repo — retained for fleet consistency -->
|
||||
<!-- Delete or archive this file once past first session -->
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
## Repo boundary
|
||||
|
||||
This repo owns **can-you-assist** (`cya`) only. It does not own:
|
||||
This repo owns **can-you-assist** only. It does not own:
|
||||
|
||||
- LLM provider access, API clients, or model hosting → `llm-connect`
|
||||
- Durable memory storage, profile planners, graph/event stores, or lifecycle algorithms → `phase-memory`
|
||||
- Global work tracking, decisions, or cross-repo coordination → State Hub / custodian
|
||||
- Credential custody (API keys, DB passwords, OIDC) → OpenBao / key-cape / operator paths (route via `warden route`)
|
||||
- SSH certificate issuance → `ops-warden` (`warden sign` only)
|
||||
|
||||
`cya` integrates via stable seams (`LLMAdapter` Protocol, memory ports). State Hub is non-runtime.
|
||||
<!-- TODO: List what belongs in adjacent repos, e.g.:
|
||||
- SSH key management → railiance-infra/
|
||||
- State hub code → state-hub/
|
||||
-->
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
**Purpose:** Console-native, backend-agnostic LLM assistant (`cya`) for practical local work from the shell, using user-controlled context, memory, and provider configuration.
|
||||
**Purpose:** Console-native, backend-agnostic LLM helper for practical local shell, repository, filesystem, and note workflows.
|
||||
|
||||
**Domain:** capabilities
|
||||
**Domain:** agents
|
||||
**Repo slug:** can-you-assist
|
||||
**Topic ID:** 64418556-3206-457a-ba29-6884b5b12cf3
|
||||
**Workplan prefix:** CYA-WP-
|
||||
**Command name:** cya
|
||||
@@ -1,6 +1,7 @@
|
||||
## Session Protocol
|
||||
|
||||
State Hub: http://127.0.0.1:8000 (remote tunnel: http://127.0.0.1:18000)
|
||||
Dev Hub (State Hub API): http://127.0.0.1:8000
|
||||
MCP server name in `~/.claude.json`: `dev-hub`
|
||||
|
||||
**Step 1 — Orient**
|
||||
|
||||
@@ -10,12 +11,11 @@ cat .custodian-brief.md
|
||||
```
|
||||
Then call the MCP tool for richer cross-domain context when MCP tools are exposed:
|
||||
```
|
||||
get_domain_summary("capabilities")
|
||||
get_domain_summary("agents")
|
||||
```
|
||||
If MCP tools are unavailable in the current agent session, use the REST API:
|
||||
```bash
|
||||
curl -s "http://127.0.0.1:8000/workstreams/?topic_id=64418556-3206-457a-ba29-6884b5b12cf3&status=active" \
|
||||
| python3 -m json.tool
|
||||
curl -s "http://127.0.0.1:8000/state/summary" | python3 -m json.tool
|
||||
```
|
||||
If the hub is offline: `cd ~/state-hub && make api`
|
||||
|
||||
@@ -40,11 +40,11 @@ curl -s -X PATCH "http://127.0.0.1:8000/messages/<id>/read" \
|
||||
ls workplans/
|
||||
```
|
||||
For each file with `status: ready`, `active`, or `blocked`, note pending
|
||||
`todo`/`in_progress` tasks.
|
||||
`wait`/`todo`/`progress` tasks.
|
||||
|
||||
**Step 4 — Present brief**
|
||||
|
||||
1. **Active workstreams** for `capabilities` — title, task counts, blocking decisions
|
||||
1. **Active workstreams** for `agents` — title, task counts, blocking decisions
|
||||
2. **Pending tasks** from `workplans/` + any `[repo:can-you-assist]` hub tasks
|
||||
3. **Goal guidance** — if `goal_guidance` in summary:
|
||||
- `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"*
|
||||
@@ -54,12 +54,7 @@ For each file with `status: ready`, `active`, or `blocked`, note pending
|
||||
|
||||
If no workstreams: follow First Session Protocol (`first-session.md`).
|
||||
|
||||
**During work:**
|
||||
- Keep changes small and inspectable.
|
||||
- Treat command execution safety as product behavior: explain destructive commands and require explicit confirmation before suggesting execution.
|
||||
- Do not commit secrets, API keys, local transcripts, private notes, or hidden memory contents.
|
||||
- Before requesting API keys, SSH access, login tokens, or database passwords, run `warden route find` / `warden route show` per `credential-routing.md`.
|
||||
- `record_decision()` · `add_progress_event()` · `resolve_decision()`
|
||||
**During work:** `record_decision()` · `add_progress_event()` · `resolve_decision()`
|
||||
|
||||
> State Hub is a *read model*. Bootstrap tools (`create_workstream`, `create_task`)
|
||||
> are First Session Protocol only. Work structure belongs in repo files (ADR-001).
|
||||
@@ -87,4 +82,4 @@ cd ~/state-hub && make fix-consistency-remote REPO=can-you-assist
|
||||
```
|
||||
**C-15** (DB task ahead of file) is normal in multi-machine workflows — writeback
|
||||
will sync the file to match DB. **C-16** (repo behind remote) blocks all writes
|
||||
until you pull — intentional to prevent clobbering remote progress.
|
||||
until you pull — intentional to prevent clobbering remote progress.
|
||||
|
||||
@@ -1,38 +1,19 @@
|
||||
## Stack
|
||||
|
||||
- **Language:** Python 3.11+
|
||||
- **CLI:** Typer + Rich
|
||||
- **Config:** TOML
|
||||
- **Packaging:** setuptools + setuptools_scm (`src/` layout)
|
||||
- **Tests:** pytest
|
||||
<!-- TODO: Fill in language, frameworks, and key dependencies -->
|
||||
- **Language:**
|
||||
- **Key deps:**
|
||||
|
||||
## Dev Commands
|
||||
|
||||
```bash
|
||||
# Recommended: install latest development code
|
||||
make dev-install
|
||||
# TODO: Fill in the standard commands for this repo
|
||||
|
||||
# Install dependencies
|
||||
|
||||
# Run tests
|
||||
make test
|
||||
# or: python3 -m pytest tests/ -q
|
||||
|
||||
# Build distribution packages
|
||||
make dist
|
||||
make release-prep
|
||||
make check-dist
|
||||
# Lint / type check
|
||||
|
||||
# Run the assistant
|
||||
cya "your natural language request here"
|
||||
cya --help
|
||||
cya --explain-context "show me what context would be collected"
|
||||
cya retrospect
|
||||
|
||||
# Version / inspection
|
||||
make version
|
||||
git status --short
|
||||
rg --files
|
||||
# Build / package (if applicable)
|
||||
```
|
||||
|
||||
Current memory baseline: **Profile 0** (local JSON + activation + retrospection).
|
||||
Profile 1 verbal reflections shipped as a minimal spike (CYA-WP-0005); production
|
||||
hardening tracked in CYA-WP-0006.
|
||||
@@ -25,4 +25,16 @@ Ecosystem todos from other agents arrive as `[repo:can-you-assist]` hub tasks
|
||||
visible at session start. Pick one up by creating the workplan file, then registering
|
||||
the workstream.
|
||||
|
||||
<!-- Ralph Loop rules and HEUREKA sequence: ~/.claude/CLAUDE.md — do not duplicate here -->
|
||||
Task blocks use this shape:
|
||||
|
||||
```task
|
||||
id: CYA-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 -->
|
||||
|
||||
Reference in New Issue
Block a user