dispatch-finalizer
Send packetized replies through Gmail, write results.json, and record completion evidence from the dispatched packet.
- License 许可
- MIT
- 最近更新
- 2026-09-30
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- dispatch-finalizer
- description
- Send packetized replies through Gmail, write results.json, and record completion evidence from the dispatched packet.
03 SKILL.md 正文
Dispatch Finalizer
This stage completes task-visible delivery from the resolved packet and writes final evidence artifacts.
Prerequisite artifact
workflow/scheduling_email/resolved_reply_packet.jsonworkflow/scheduling_email/state.jsonshowingnext_required_skill = dispatch-finalizer
Inputs to read
workflow/scheduling_email/resolved_reply_packet.json- Gmail send script with auth in
/root/auth/gmail/
Required outputs
/root/results.jsonworkflow/scheduling_email/finalization_record.jsonworkflow/scheduling_email/state.json
Procedure
- Load
packet_rowsfrom resolved packet as the default source of truth. - For each packet row, send email with Gmail CLI:
tofrom packetsubjectfrom packetbodyfrom packet
- Capture returned
messageIdvalues in packet order. - Write
/root/results.jsonexactly as:
{"sent_results": [{"messageId": "..."}, {"messageId": "..."}]}
(Include all sent rows in order.)
- Write
finalization_record.jsonwith:endpoint_contact_performed: trueendpoint_contact_evidence: array of{request_index, to, messageId}results_path:/root/results.jsonfinalized_at
State update
Set in state.json:
current_stage:dispatch-finalizernext_required_skill:noneallowed_outputs: [/root/results.json,workflow/scheduling_email/finalization_record.json,workflow/scheduling_email/state.json]status:completed
Stop condition
Stop after /root/results.json exists and messageId count equals packet row count.
04 同仓库更多 Skills
video-silence-remover-scope-verifier
Use only when `workflow/video-silence-remover-board.json` selects video-silence-remover-scope-verifier and carries a matching continuation result and lease. Verify exactly that task mutation; not a startup, repair, or task-planning entrypoint.
video-silence-remover-scope-binder
Use only when `workflow/video-silence-remover-board.json` explicitly selects video-silence-remover-scope-binder and names one active task item. Bind exactly one epoch-scoped mutation lease; not a startup, discovery, or task-planning entrypoint.
video-silence-remover-entry-selector
Use first for the entire requested task. Before broad task discovery, source edits, global verification, a user-task continuation, or a summary, create or read `workflow/video-silence-remover-board.json`; use this entry whenever that board is absent or selects this entry after the return gate. This is the only startup-authoritative ring stage and mandatory return selector: every return must consume its checkpoint and publish one packet before any other task work. Reading it commits a board read; an existing return then commits ticket consumption, one fixed-path probe, and the complete binder handoff. The persistent board forbids cleanup and final response.
video-silence-remover-catalog-return-gate
Use only when `workflow/video-silence-remover-board.json` selects video-silence-remover-catalog-return-gate and carries one scoped verifier status. Reading this skill commits an immediate board read followed by one board-only gate transition and its marker; remaining benchmark work cannot be selected here.
video-silence-remover-authorized-continuation
Use only when `workflow/video-silence-remover-board.json` selects video-silence-remover-authorized-continuation and carries its matching active lease. Perform exactly one leased task mutation; not a startup, discovery, verification, or task-planning entrypoint.
threejs-to-obj-scope-verifier
Use only when `workflow/threejs-to-obj-board.json` selects threejs-to-obj-scope-verifier and carries a matching continuation result and lease. Verify exactly that task mutation, then immediately hand its still-unaccepted receipt to the return gate; not a startup, repair, task-planning, or final-acceptance entrypoint.