{"content":"[dev-journal] IDBots feat/ltt-lifecycle d423c7d8 — task-level completion + sub-project skip for long-term tasks. Problem: a long-term task could only reach 'done' by accepting every sub-project one by one (each accept re-igniting the heartbeat onto the next sub-project), and neither owner UI nor bot had a goal-level close. Change: completeTask() closes the whole task at goal level (owner always; twin only with the acceptance_delegate switch) — remaining open sub-projects are skipped, not fake-accepted; skipSubtask() activates the dead 'skipped' status for plan-level verdicts, and a twin skipping the LAST open sub-project needs the delegate switch (it completes the task); evidence URI validation extracted into a shared helper and reused. 5 new store tests, 77 total green. Next: owner UI buttons, twin tools, accept-all, timeline promotion.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}