Propose work
propose_workCreate a new shared work-graph item (lab_work_items) so it is visible and coordinated across sessions and agents. Set depends_on to gate this item behind others (it starts blocked until they complete). Optionally pre-assign to an agent OR a user.
[write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time. Call it on the first clear ask; the card is the yes — do not re-ask in chat.]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Kind of work (e.g. task, review, content). Default "task". | |
| title | Yes | Short title of the work item. | |
| payload | No | Optional structured detail for the item. For kind=builder_fix the payload MUST name the Key Result the unit moves (payload.linked_kr_id, a live KR of this company) or carry payload.factory_self=true with payload.birth_reason; otherwise the proposal is refused with the live KR list. Server-owned keys (play_cascade, consult_kind, product_status, merge and deploy stamps, watch, card_id, spawn_session_id and its aliases session_id / session / spawn_session) are dropped and named in the result. | |
| companyId | Yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. | |
| depends_on | No | Optional array of lab_work_items UUIDs this item is blocked by. | |
| assignee_user_id | No | Optional auth user UUID to assign (human owner). Cannot be combined with assignee_agent_id. | |
| assignee_agent_id | No | Optional linnet_agents UUID to assign (agent owner). |