Add question-reframing guidance to CLAUDE.md; commit accumulated project files

- CLAUDE.md: add "Question the question" and "One clarifying question" rules
  to Tone and Interaction — XY problem detection, false premise checks, and
  explicit reframe pattern before answering
- Add claude/ detail-file directory (topic docs referenced from CLAUDE.md)
- Add ABOUT.md, FUTURE.md
- Update memory/, scripts/, settings.yaml with accumulated session changes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Paul O'Reilly
2026-05-25 09:37:28 +12:00
parent 6dfa20c47c
commit f41c22d0ac
29 changed files with 689 additions and 352 deletions

View File

@@ -0,0 +1,64 @@
# Agent Runtimes Control Plane
## Which CP to use
**Always use the hosted CP (`agents.oreillyit.nz`) for real agent work.** Localhost is for testing only.
| Use case | CP to use |
|---|---|
| Real implementation tasks, spec work, any multi-step agent work | `https://agents.oreillyit.nz/api` |
| Smoke-testing a new task payload format, debugging CP behaviour locally | `http://localhost:8100` |
Reason: workloads on the hosted CP are not coupled to this laptop's uptime. If the laptop sleeps or is closed, tasks on localhost stall or die. Tasks on the hosted CP keep running.
Since the M11 dashboard deployment, Traefik routes `/` to the React dashboard and `/api/*` to the CP API. Always use `https://agents.oreillyit.nz/api` as the CP_URL — not the bare hostname.
```bash
export CP_URL=https://agents.oreillyit.nz/api
scripts/dispatch-task --login ... # first time per session — opens browser for OIDC
scripts/agent-monitor --login --filter "project=<project-name>" --filter "age<1h"
```
## Task dispatch — always use a template or workflow
**Never submit tasks via raw `curl` without explicit user approval.** Raw curl bypasses:
- Harness selection (agents start in empty containers with no credentials or context)
- `pre_actions` clone (agents have no repo to work on)
- `agent_repo` persistence (work is lost when the container exits)
- `requires_tags` validation (tasks may be picked up by incompatible dispatchers)
Default approach — always one of:
1. `scripts/dispatch-task --template <name>` for single implementation tasks
2. `scripts/dispatch-workflow` for multi-node DAG workflows
3. `/manual-workflow` skill for interactive workflows with human review gates
## Template selection
| Work type | Template |
|---|---|
| Backend/CP implementation (migrations, APIs) | `opus-code-repo` |
| Frontend implementation | `sonnet-code-repo` |
| Planning / architecture | `opus-planning` |
| Security review | `opus-security-review` |
| Spec writing | `opus-spec-writer` |
| Test writing | `opus-test-writer` |
Standard params for all code templates:
```bash
--template-param repo_url=git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes.git \
--template-param agent_repo_url=git@gitea.oreillyit.nz-ai-enablement:skynet/agent-runtimes-agents.git
```
If raw curl is genuinely needed (e.g., testing a new payload field), state the reason and get explicit user confirmation before submitting.
## Monitoring
Recommend the user run **agent-monitor** in a separate terminal:
```bash
scripts/agent-monitor --login --filter "project=<project-name>" --filter "age<1h"
```
Adjust `age` to suit the session — `1h` is a good default for hosted CP work since tasks persist across laptop sleep.
For full control plane usage (submitting tasks, checking logs, cancelling, common workflows): **`~/dev/claude/projects/agent-runtimes/readme/control-plane-operations.md`**.