96 lines
3.3 KiB
Markdown
96 lines
3.3 KiB
Markdown
# Silent Long-Task Launch Template
|
|
|
|
Use this template when starting any silent long-task.
|
|
|
|
## Launch record
|
|
|
|
- **task_name**:
|
|
- **why_silent**:
|
|
- **current_status**: `active | waiting_user | blocked | paused | pending_verification`
|
|
- **current_step**:
|
|
- **next_step**:
|
|
- **expected_evidence**:
|
|
- **first_forced_checkpoint_trigger**:
|
|
- **if_unfinished_report**:
|
|
- **if_no_new_evidence**: `paused | blocked`
|
|
- **externalized_trigger**:
|
|
- **final_handoff_path**:
|
|
|
|
## Required interpretation
|
|
|
|
### `why_silent`
|
|
Explain why the task will not naturally produce an immediate next user-visible reply.
|
|
|
|
### `expected_evidence`
|
|
State what would count as real progress:
|
|
- file change
|
|
- verification output
|
|
- conclusion / decision
|
|
- blocker change
|
|
- external result
|
|
|
|
### `first_forced_checkpoint_trigger`
|
|
Examples:
|
|
- in 20 minutes
|
|
- after subagent survey returns
|
|
- after first debugging pass
|
|
- when verification round 1 completes
|
|
|
|
### `if_unfinished_report`
|
|
Must explicitly say what the assistant will report if the task is not done yet.
|
|
|
|
### `externalized_trigger`
|
|
Examples:
|
|
- cron reminder
|
|
- forced checkpoint scheduled externally
|
|
- non-silent mode (if no external trigger can safely be bound, the task should not actually launch as silent)
|
|
|
|
### `final_handoff_path`
|
|
Examples:
|
|
- Telegram button-path
|
|
- direct conclusion if no owner decision needed
|
|
|
|
## Wrapper mapping
|
|
|
|
If using `scripts/long_task_governor_wrapper.mjs`, map wrapper output into this template like this:
|
|
|
|
- `classification = long_task` → task should use this launch template
|
|
- `silentCandidate = true` → fill `why_silent`, `first_forced_checkpoint_trigger`, `externalized_trigger`
|
|
- `taskRecord.current_step` → `current_step`
|
|
- `taskRecord.next_step` → `next_step`
|
|
- `taskRecord.status` → `current_status`
|
|
- `silentLaunchOk = false` → do **not** launch in silent mode; fall back to immediate follow-up or `blocked`
|
|
- `handoff.mode = button_path` → `final_handoff_path` should be Telegram button-path
|
|
|
|
## Telegram-safe example
|
|
|
|
- **task_name**: Research OpenClawGovernor concepts
|
|
- **why_silent**: I need time to read and compare materials before a meaningful summary exists.
|
|
- **current_status**: `active`
|
|
- **current_step**: reading README and architecture notes
|
|
- **next_step**: extract reusable governance ideas
|
|
- **expected_evidence**: concrete findings, comparison points, conclusions
|
|
- **first_forced_checkpoint_trigger**: after initial source review completes
|
|
- **if_unfinished_report**: report what has been verified so far, what remains unclear, and the next report condition
|
|
- **if_no_new_evidence**: `paused`
|
|
- **externalized_trigger**: cron reminder / forced checkpoint
|
|
- **final_handoff_path**: Telegram button-path only if owner judgement is needed; otherwise direct summary
|
|
|
|
## Verification notes
|
|
|
|
For this slice, keep verification short and explicit:
|
|
- **wrapper fixture runner**: `node scripts/long_task_governor_wrapper_fixture_runner.mjs`
|
|
- **force-recall smoke test**: `node scripts/long_task_governor_force_recall_smoke.mjs`
|
|
- capture the output in task notes when this launch template or its linked workflow changes
|
|
|
|
## Current non-goals
|
|
|
|
This template does not yet imply or provision:
|
|
- auto-send messages
|
|
- bound cron / reminder wiring
|
|
- gateway-level blocking or hard enforcement beyond the current preflight wording
|
|
|
|
## Rule of use
|
|
|
|
If you cannot fill this template honestly, the task is probably not ready to launch in silent mode.
|