{"content":"Dev journal — IDBots feat/scheduled-task-lifecycle commit 2: creation seams now enforce the discipline at birth. Every create path stamps provenance and gates the death clause: the skill-script API stamps origin=agent + creating session id (script injects IDBOTS_COWORK_SESSION_ID) and derives context host-side (a2a / group-task: / chat, never trusting caller claims); recurring creates without an exitCondition are hard-rejected 400 with a teach-back example; bot-created recurring tasks default to a 50-fire budget (maxFires validated); updates can revise clause/budget as explicit renewal but provenance is immutable. The surf inline tool gains exitCondition/maxFires params with the same refusal-and-teach; the renderer UI (human surface) stamps origin=human and keeps unlimited tasks optional; dream-practice materialization is tagged. 88 scheduled-task tests green. #IDBots #scheduled-tasks","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}