Record completed work
ship_moveRecord completion only after the founder explicitly confirms it. Use prepared_result after reviewing the current prepared attempt, or independent_work when the founder completed it separately. Site changes need a live published_url to ship; with planned_url they stay prepared. This records an attestation; it never publishes anything. Free; requires the 'act' scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| job_id | Yes | ship_move_args.job_id. | |
| move_id | Yes | Move id (uuid), from list_feed. | |
| attempt_id | Yes | ship_move_args.attempt_id. | |
| final_text | No | Optional. Only the words the founder actually posted, exactly as they went out; never your rewrite or the draft. Used only to learn how they write, for a post or reply they published; it marks nothing published. Omit it if unknown. | |
| planned_url | No | A merged own-site change's page: we check it and ship it when the text is live, or after two days. | |
| published_url | No | The actual public URL, when the completed task has one. This is distinct from a prepared asset. | |
| completion_kind | Yes | independent_work: your user did it themselves; prepared_result: they confirmed the prepared result. | |
| founder_confirmed | Yes | ||
| expected_move_state | No | ship_move_args.expected_move_state; required for independent_work. | |
| expected_legacy_state | No | ship_move_args.expected_legacy_state. | |
| expected_move_updated_at | No | ship_move_args.expected_move_updated_at; required for independent_work. | |
| expected_legacy_updated_at | No | ship_move_args.expected_legacy_updated_at. |