Auto-manage a status property on every task
new_task initialises status=open in the task tree and the per-key index;
drop flips it to status=done and removes the task from the queue while
keeping the namespace binding so the human id stays addressable. Means
tsk prop find status {open,done} now lists in-progress vs completed
tasks across the workspace.
Tests: workspace::new_task_starts_open_drop_marks_done covers the full
round trip via the property index.
Note: tasks created before this commit have no status property and will
not appear in either filter until they are next saved or explicitly set.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>