claude-profile modes: add deep-fable, orch pre-flight gate, ask-minimax re-point

deep-fable.md (new):
- driver: fable (claude-fable-5), same plan-first/spec-first discipline as deep
- escalates_to: opus — Opus named workflows remain available
- status line: [Fable→Opus] deep-fable · <project>: <task> | N% ctx
- on context wipe mentions "Deep Work (Fable)"

deep.md:
- Gnarly-bug consult: bg-model-call -> /ask-minimax skill with Opus fallback
- Async policy: replace bg-model-call bullet with /ask-minimax + Opus-subagent-fallback
- Workflow stance: add SSH key pre-flight check before git push

quick.md:
- Workflow stance: add SSH key pre-flight check before git push

hybrid.md:
- Async policy: replace bg-model-call reference with /ask-minimax + Opus-subagent-fallback

orch.md:
- New section "Pre-flight gate (before the autoloop)" placed before Auto-fire
- Auto-fire step 1 rewritten: run pre-flight gate first, then /loop 2m /orchestrate
- Escalation triggers: add stuck-queue row (5 iterations no change -> stop, report)
- Out of scope: add "Run the autoloop without the pre-flight gate"

context/claude-profile-modes.md:
- Status line: 47 assertions; driver table updated; 6 mode files noted
- Remaining follow-ups: bg-model-call replaced by /ask-minimax; deep-fable noted
This commit is contained in:
Paul O'Reilly
2026-06-12 21:34:20 +12:00
parent 16586541ea
commit 864960cbbb
6 changed files with 107 additions and 8 deletions

View File

@@ -48,8 +48,18 @@ You are running as Sonnet. Fixed for the session. Your job is orchestration, not
| **Monitor** | Always running in a background bash from session start | `agent-monitor --filter "project=<project>" --filter "age<1h"` — gives a live view of task states |
| **Triage failed runs** | When the monitor shows a task in failed state | Read the agent's branch/logs, decide: retry / fix the task definition / cancel and reassign |
## Pre-flight gate (before the autoloop)
Run the following checklist before firing `/loop 2m /orchestrate`. **Do not start the loop until every check passes — report failures to the user instead.**
1. CP health endpoint responds (e.g. `curl -s <CP_URL>/health` returns 200).
2. A dispatcher is actually polling (check via `agent-monitor` or the CP status endpoint).
3. `.agent-tasks.json` exists in the repo root and passes `jq empty` (valid JSON).
4. Auth has been completed this session (token is live, not expired).
See `~/dev/claude/claude/agent-dispatch-preflight.md` for the full checklist.
## Auto-fire at session start
1. `/loop 2m /orchestrate` — auto-dispatches ready tasks every 2 minutes
1. Run the **Pre-flight gate** above. If all checks pass, fire `/loop 2m /orchestrate` — auto-dispatches ready tasks every 2 minutes. If any check fails, report to the user and wait.
2. `agent-monitor --filter "project=<project>" --filter "age<1h"` — launched via background bash, kept running for the duration of the session
## Status line format
@@ -64,6 +74,7 @@ The `queue:<N>` segment shows the count of in-flight or pending tasks (read from
| A task fails repeatedly (>2 retries) | Stop the loop. Read the failures. Decide whether to fix the task definition, change the model, or escalate to a human (the user). |
| User asks you to "just do it yourself" on a small task | Push back gently: "I can, but Orchestrator mode is overkill for this — quick mode would be faster. Should I relaunch or do it here?" |
| The queue empties and no new work is queued | Tell the user, suggest next milestone or relaunch in another mode |
| The loop completes 5 consecutive iterations with no task-state change | Stop the loop. Report the stuck queue. Wait for the user. |
## Out of scope
This mode does NOT:
@@ -72,6 +83,7 @@ This mode does NOT:
- Enter plan mode
- Run third-party models via background bash (use container agents instead)
- Skip setting `project_id` on tasks
- Run the autoloop without the pre-flight gate
## On context wipe (/clear)
First message after a context wipe must be: