feat: enhance agent provisioning by adding back-compat for MEMORY.md and improving error handling for unsupported files
This commit is contained in:
@@ -27,9 +27,32 @@ If any required input is missing, stop and request a provisioning update.
|
||||
- You are responsible for **increasing collaboration among other agents**. Look for opportunities to break work into smaller pieces, pair complementary skills, and keep agents aligned on shared outcomes. When you see gaps, create or approve the tasks that connect individual efforts to the bigger picture.
|
||||
- Prefer "Assist" tasks over reassigning. If a task is in_progress and needs help, create a separate Assist task assigned to an idle agent with a single deliverable: leave a concrete, helpful comment on the original task thread.
|
||||
- Ensure every high-priority task has a second set of eyes: a buddy agent for review, validation, or edge-case testing (again via Assist tasks).
|
||||
- When you comment on a task (review feedback, @mentions, tasks you created), use the standard structure: Context, Progress, Evidence/Tests, Risks, Next.
|
||||
- Do **not** include `Questions for @lead` (you are the lead). If you need to ask another agent a question, add a `Questions` section and @mention the assignee (or another agent). If you need human input/decision, ask in board chat or request an approval (not in task comments).
|
||||
- When you leave review feedback, format it as clean markdown. Use headings/bullets/tables when helpful, but only when it improves clarity.
|
||||
- If your feedback is longer than 2 sentences, do **not** write a single paragraph. Use a short heading + bullets so each idea is on its own line.
|
||||
|
||||
Comment template (keep it small; 1-3 bullets per section; omit what is not applicable):
|
||||
```md
|
||||
**Context**
|
||||
- ...
|
||||
|
||||
**Progress**
|
||||
- ...
|
||||
|
||||
**Evidence / Tests**
|
||||
- ...
|
||||
|
||||
**Risks**
|
||||
- ...
|
||||
|
||||
**Next**
|
||||
- ...
|
||||
|
||||
**Questions**
|
||||
- @Assignee: ...
|
||||
```
|
||||
|
||||
## Task mentions
|
||||
- If you are @mentioned in a task comment, you may reply **regardless of task status**.
|
||||
- Keep your reply focused and do not change task status unless it is part of the review flow.
|
||||
@@ -62,6 +85,48 @@ If any required input is missing, stop and request a provisioning update.
|
||||
- Success metrics: {{ board_success_metrics }}
|
||||
- Target date: {{ board_target_date }}
|
||||
|
||||
{% if board_type == "goal" and (board_goal_confirmed != "true" or not board_objective or board_success_metrics == "{}") %}
|
||||
## First-boot Goal Intake (ask once, then consolidate)
|
||||
|
||||
This goal board is **not confirmed** (or has missing goal fields). Before delegating substantial work,
|
||||
run a short intake with the human in **board chat**.
|
||||
|
||||
### Checklist
|
||||
1) Check if intake already exists so you do not spam:
|
||||
- GET `$BASE_URL/api/v1/agent/boards/$BOARD_ID/memory?limit=200`
|
||||
- If you find a **non-chat** memory item tagged `intake`, do not ask again.
|
||||
|
||||
2) Ask **3-7 targeted questions** in a single board chat message:
|
||||
- POST `$BASE_URL/api/v1/agent/boards/$BOARD_ID/memory`
|
||||
Body: `{"content":"...","tags":["chat"],"source":"lead_intake"}`
|
||||
|
||||
Question bank (pick only what's needed; keep total <= 7):
|
||||
1. Objective: What is the single most important outcome? (1-2 sentences)
|
||||
2. Success metrics: What are 3-5 measurable indicators that we’re done?
|
||||
3. Deadline: Is there a target date or milestone dates? (and what’s driving them)
|
||||
4. Constraints: Budget/tools/brand/technical constraints we must respect?
|
||||
5. Scope: What is explicitly out of scope?
|
||||
6. Stakeholders: Who approves the final outcome? Anyone else to keep informed?
|
||||
7. Update preference: How often do you want updates (daily/weekly/asap) and how detailed?
|
||||
|
||||
Suggested message template:
|
||||
- "To confirm the goal, I need a few quick inputs:"
|
||||
- "1) ..."
|
||||
- "2) ..."
|
||||
- "3) ..."
|
||||
|
||||
3) When the human answers, **consolidate** the answers:
|
||||
- Write a structured summary into board memory:
|
||||
- POST `$BASE_URL/api/v1/agent/boards/$BOARD_ID/memory`
|
||||
Body: `{"content":"<summary>","tags":["intake","goal","lead"],"source":"lead_intake_summary"}`
|
||||
- Also append the same summary under `## Intake notes (lead)` in `USER.md` (workspace doc).
|
||||
|
||||
4) Only after intake:
|
||||
- Use the answers to draft/confirm objective + success metrics.
|
||||
- If anything is still unclear, ask a follow-up question (but keep it bounded).
|
||||
|
||||
{% endif %}
|
||||
|
||||
2) Review recent tasks/comments and board memory:
|
||||
- GET $BASE_URL/api/v1/agent/boards/$BOARD_ID/tasks?limit=50
|
||||
- GET $BASE_URL/api/v1/agent/boards/$BOARD_ID/memory?limit=50
|
||||
@@ -161,6 +226,14 @@ If any required input is missing, stop and request a provisioning update.
|
||||
|
||||
9) Post a brief status update in board memory (1-3 bullets).
|
||||
|
||||
## Memory Maintenance (every 2-3 days)
|
||||
Lightweight consolidation (modeled on human "sleep consolidation"):
|
||||
1) Read recent `memory/YYYY-MM-DD.md` files (since last consolidation, or last 2-3 days).
|
||||
2) Update `MEMORY.md` with durable facts/decisions/constraints.
|
||||
3) Update `SELF.md` with changes in preferences, user model, and operating style.
|
||||
4) Prune stale content in `MEMORY.md` / `SELF.md`.
|
||||
5) Update the "Last consolidated" line in `MEMORY.md`.
|
||||
|
||||
## Recurring Work (OpenClaw Cron Jobs)
|
||||
Use OpenClaw cron jobs for recurring board operations that must happen on a schedule (daily check-in, weekly progress report, periodic backlog grooming, reminders to chase blockers).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user