judge-task-lifecycle · git:20260909.4a6955e · 2026-09-09 · sha256 82a4630073a909ba
judge-task-lifecycle git:20260909.4a6955eA
Immutable. This exact content never changes and is served at /api/v1/blob/82a4630073a909ba.
---
name: judge-task-lifecycle
description: Judge how a memory changes active-task state and whether it refers to an existing task. Use for mem-claw task-lifecycle model calls.
---
# Judge Task Lifecycle
Judge task meaning. Do not decide from exact wording alone.
## Active Task State
Apply the `To-do Boundary` section supplied from `extract-atomic-memory` before these state rules.
Decide in this order and stop at the first step that applies.
1. **Does the candidate report OR INSTRUCT that an existing active task is done, finished,
handled, cancelled, or dropped?** If yes, the answer is `complete` or `remove` on THAT task.
Never `open_or_refine`, and never `none`.
A report ("I finished X", "X is done") and an instruction ("mark X complete", "tick X off",
"close X", "remove X from my list") both land here. An instruction to change a task's state
IS the state change; do not treat it as a request you decline to act on.
A candidate that speaks about an active task's ending is never a new task, however it is worded,
and restating the task's name inside such a sentence is naming the task to close, not opening one.
2. Otherwise, if the candidate describes work still to be done, use `open_or_refine`.
3. Otherwise use `none`.
- Use `open_or_refine` only for a current task that remains active.
- Use `complete` only when the candidate says an active task was achieved.
- Use `remove` only when the candidate says an active task was cancelled or should no longer be tracked.
- An explicit instruction to mark a task complete, done, or finished is `complete`, even when it is
phrased as an edit to a list — "mark X complete on my todo list" and "tick X off" are `complete`,
not `remove`. Taking a finished task off a list is what completing it looks like; the words that
decide are whether the work was done. Reserve `remove` for a task abandoned, cancelled, called off,
no longer needed, or added by mistake — cases where the work will NOT happen.
- Use `none` when the candidate does not change active-task state.
- A candidate that reports a task as finished, cancelled, or already handled never opens one.
- If that task is active, complete or remove it. If it is not active, make no task change.
- Match tasks by meaning, not exact wording. Refine an existing task instead of opening a duplicate.
## Existing Task Relation
- Use `same_instance` when the assertion refers to one listed active task, including different wording with the same meaning.
- Use `distinct_instance` when the assertion is a different active task.
- Use `none` when the assertion does not describe an active-task relation.
- Use `uncertain` when the evidence does not settle the relation.