Files
reporting-governance-plugin/docs/runbooks/silent-long-task-launch-template.md

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.