CLI command
launch
Launch playbooks: a launch on a day with dated, owned tasks, each done only with the asset it names.
Invocation#
echo-cli launch list --product <id>
echo-cli launch create --product <id> --name <text> --on <YYYY-MM-DD> [--from <launch-id>] --by <name>
echo-cli launch task --launch <launch-id> --title <text> --owner <name> --due <YYYY-MM-DD> [--asset <text>]
echo-cli launch done --task <task-id> [--asset-ref <text>] --by <name>Inputs and output#
list writes the product's launches, latest day first: id, product_id, name, launch_on, created_by, created_at and tasks in date order, each with id, launch_id, title, owner, due_on, asset (null when it produces nothing to show), asset_ref, done_by and done_at (null while open). create writes the launch with the tasks it copied; task and done write the task.
State effect#
Every verb calls Echo Web's authenticated /api/analytics/launches or /api/analytics/launches/tasks with ECHO_INTERNAL_BEARER at ECHO_WEB_BASE_URL; the Launch playbooks section of the tracking screen and of Echo Desktop's GEO screen calls the same operations, and echo-mcp reads launches (echo_list_launches). Any launch is a template: create --from copies its tasks, owners and assets, with every due day moved by the days between the two launch days, all open. --asset names what proves a task done, such as the press release link; done then needs --asset-ref, the link or reference to it. A task is done once.
Refusals#
- A wrong invocation is refused before anything is sent: "launch takes <every verb's usage, separated by semicolons>; got <word>", "launch <verb> does not take <flag>; it takes …", "<flag> needs a value" and "launch <verb> needs <flag>" for each flag the verb needs.
- Echo Web answers a bad request with "product_id is required: …", "name is required: …", "launch_on must be a YYYY-MM-DD day; got <value>" (and due_on), "title is required: what is to be done", "owner is required: who does it", "asset is required: …", "task \"<title>\" is done only with its asset: <asset>", "task \"<title>\" names no asset, so none is attached; mark it done without one" or "created_by is required: an internal caller has no signed-in user, so it names who is acting" (done_by); not found with "no product has id <id>; echo-cli products lists the ones that exist", "no launch has id <id>; echo-cli launch list --product <id> lists them" or "no launch task has id <id>; …"; and a conflict with "task \"<title>\" was done by <who> at <time>". The command prints Echo Web's sentence and exits non-zero.