# Session: 2026-03-05 23:38:03 UTC

- **Session Key**: agent:main:main
- **Session ID**: 1aa88b24-499e-448d-b3fd-60fe3914d4f5
- **Source**: telegram

## Conversation Summary

assistant: [[reply_to_current]] `/Users/openclaw/.openclaw/workspace/WORKER-CONTRACT.md`
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1487",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:23 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

Is there a worker workspace?
assistant: [[reply_to_current]] Yes.  
Worker’s workspace is: `/Users/openclaw/.openclaw/workspace-worker` (also shown as `~/.openclaw/workspace-worker`).
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1489",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:24 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

Should the contract go there instead?
assistant: [[reply_to_current]] Yes — for execution consistency, it should live in the worker workspace too (ideally as the canonical copy there).

Best pattern:
- Canonical: `/Users/openclaw/.openclaw/workspace-worker/WORKER-CONTRACT.md`
- Optional mirror in main workspace if you want visibility from orchestration docs.
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1491",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:24 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

Can we move it there without impact?
assistant: [[reply_to_current]] Yes — we can move it there with no runtime impact to routing, permissions, or delegation behavior.

Only impact is documentation location (and git history): anything referencing the old main-workspace path would need to point to the worker path.
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1493",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:27 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

SYSTEM TASK

We are cleaning up the worker contract location for long-term clarity.

Goal:
Make the worker workspace the canonical home of WORKER-CONTRACT.md.

Tasks:
1. Move WORKER-CONTRACT.md from ~/.openclaw/workspace to ~/.openclaw/workspace-worker.
2. Ensure there is only one canonical active copy after the move.
3. Update main AGENTS.md so main references the worker contract in its new location when constructing delegations.
4. Update worker AGENTS.md so worker reads WORKER-CONTRACT.md before executing delegated tasks from main.
5. Report exactly what changed.
6. Do not change permissions, bindings, routing, or agent count.

Return output exactly in this format:

Done
Findings
Decision needed
Next step
assistant: [[reply_to_current]] Done
- Moved `WORKER-CONTRACT.md` from `~/.openclaw/workspace` to `~/.openclaw/workspace-worker`.
- Ensured canonical single active copy now exists only at:
  - `/Users/openclaw/.openclaw/workspace-worker/WORKER-CONTRACT.md`
- Updated main `AGENTS.md` to reference worker contract at the new canonical path when building delegations.
- Updated worker `AGENTS.md` to require reading `WORKER-CONTRACT.md` before executing delegated tasks from main.
- No changes made to permissions, bindings, routing, or agent count.

Findings
- Main copy removed successfully (`/Users/openclaw/.openclaw/workspace/WORKER-CONTRACT.md` no longer exists).
- Worker copy exists and is now canonical.
- Reference updates confirmed:
  - `/Users/openclaw/.openclaw/workspace/AGENTS.md` now points to `~/.openclaw/workspace-worker/WORKER-CONTRACT.md`.
  - `/Users/openclaw/.openclaw/workspace-worker/AGENTS.md` now includes a startup step to read `WORKER-CONTRACT.md` for delegated work.
- Git commits created:
  - Main workspace: `88c39a2`
  - Worker workspace: `501777b`

Decision needed
- None required for this cleanup.
- Optional: decide whether to keep a short pointer stub in main (e.g., `WORKER-CONTRACT-POINTER.md`) for discoverability.

Next step
- Continue using worker workspace as the sole contract source in all delegation payload construction.
- If you want, I can run one quick read-only delegation to confirm worker follows the updated `AGENTS.md` contract-read step implicitly.
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1495",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:31 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

What are your thoughts on this?

------------------------------------------------------------
WORKER DISPATCH RULE
------------------------------------------------------------

Dorian should delegate tasks to worker when execution work is required.

Delegate to worker when any of the following are true:

• filesystem inspection or modification
• research or structured comparison
• tool execution or command execution
• multi-step analysis
• long-running tasks
• drafting configs, scripts, or structured documents
• repeated or mechanical processing

Dorian should NOT delegate when the task is:

• conversational
• strategic discussion
• classification or planning
• clarification with the user

All delegated tasks must follow WORKER-CONTRACT.md.
assistant: [[reply_to_current]] This is solid and directionally right.

Only two refinements I’d add:

1. **Risk-sensitive override:** even if it matches a worker trigger, Dorian should keep orchestration control for high-risk actions (auth, finance, irreversible external changes) and only delegate bounded prep/analysis unless explicitly authorized.  
2. **Latency override:** allow Dorian to execute directly when delegation overhead is higher than task cost (tiny single-step checks), so speed doesn’t suffer.

Otherwise this rule is clean, enforceable, and aligns well with your architecture.
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1497",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:33 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

Here is the revision:

------------------------------------------------------------
WORKER DISPATCH RULE
------------------------------------------------------------

Dorian should delegate tasks to worker when execution work is required.

Delegate to worker when any of the following are true:

• filesystem inspection or modification
• research or structured comparison
• tool execution or command execution
• multi-step analysis
• long-running tasks
• drafting configs, scripts, or structured documents
• repeated or mechanical processing

Dorian should NOT delegate when the task is:

• conversational
• strategic discussion
• classification or planning
• clarification with the user

Risk-sensitive override:
For high-risk actions (authentication, financial actions, irreversible changes, or external-facing changes), Dorian must retain orchestration control.
Worker may be used only for bounded preparation, inspection, drafting, or read-only analysis unless explicit authorization allows more.

Latency override:
If delegation overhead is higher than task cost for a tiny, single-step, low-risk task, Dorian may execute directly instead of delegating.

All delegated tasks must follow WORKER-CONTRACT.md.
assistant: [[reply_to_current]] This revision is excellent—no issues.

It now has the three controls you need for production behavior:
- clear delegation triggers,
- clear non-delegation boundaries,
- and practical overrides (risk + latency) that prevent both unsafe delegation and unnecessary overhead.

I’d treat this as ready to adopt as the active dispatch policy.
user: Conversation info (untrusted metadata):
```json
{
  "message_id": "1499",
  "sender_id": "8032472383",
  "sender": "Braden McLeish",
  "timestamp": "Thu 2026-03-05 15:34 PST"
}
```

Sender (untrusted metadata):
```json
{
  "label": "Braden McLeish (8032472383)",
  "id": "8032472383",
  "name": "Braden McLeish"
}
```

Please implement it
assistant: [[reply_to_current]] Implemented.

- Added the **WORKER DISPATCH RULE** to:
  - `/Users/openclaw/.openclaw/workspace/AGENTS.md`
- It includes:
  - delegation triggers
  - non-delegation task types
  - risk-sensitive override
  - latency override
  - required contract reference to:
    - `/Users/openclaw/.openclaw/workspace-worker/WORKER-CONTRACT.md`

Committed:
- `d9d890f` — Add Worker Dispatch Rule for main-to-worker delegation
