Task evidence
Hooks keep a bounded record of each task — its mode, workspace, targets and required checks — so “done” can be tied to fresh, real results.
Updated
Task records
A task is either inspection or execution. “Continue” and status questions keep the current task. Explicit inspection stays read-only for recognised edit operations until you ask for changes.
honey task status --json
honey task set --mode execute --operation code --cwd /actual/project --check tests --check lint
honey task verify --check tests --tool-call <actual-test-call-id>
honey task verify --check lint --tool-call <actual-lint-call-id>Codex uses CODEX_THREAD_ID; otherwise add --agent claude --session <session-id>. Bind the project before running its checks. task set starts a new contract and can't promote an inspection task to execution without your request.
What counts as proof
The default code check recognises direct test and lint commands. Explicit checks link a fresh, successful result — the agent still has to confirm the command proves the named requirement. Later edits, potentially mutating shell commands, failed reruns and incomplete results invalidate proof. Checks started before a mutation, or in a previous task, can't verify the new state.
Completion claims without evidence trigger one reminder per evidence cycle. Honest unresolved reports and inspection answers are allowed.
Uninstall and startup operations
--operation uninstall requires the checks application, helpers, startup and preserved-data. Declare concrete targets with --target; --absent and --present measure and recheck the real state.
honey task verify --check application --absent /Applications/Example.app--operation startup requires its resulting registration to be checked.
Hosts that hide tool events
When a host doesn't deliver inner events for a wrapped tool, run the check through honey. It executes without a shell and records the exit status plus a source snapshot.
honey task set --mode execute --operation code --cwd /path/to/project
honey task run --check verification -- python3 tests/run.pyPrinted success can't manufacture proof: changed source, HEAD or index makes the result stale. The snapshot covers tracked and non-ignored files (up to 20,000 files or 64 MiB), rejects source symlinks, and doesn't claim to cover ignored dependencies or the external environment.
Metrics
honey task status shows task and session tool counts, repeated reads and checks, failures, unknown results and reported durations. /rsi coach aggregates them with denominators. Missing durations are never estimated, and these observations are not measured speedups.