fix: retain authorized tasks across intermediate questions #115

Merged
severus-snape merged 1 commit from fix/durable-task-resumption into main 2026-10-27 10:14:12 +00:00
Collaborator

Scope

Persist retained per-session task collection separately from latest-message compatibility pointer. New chat questions no longer erase previous original mandates. Host result/dependency capture resolves task by trusted identity, not latest question. Missing continuation plan remains active for one durable independent assessment; explicit waiting/blocked/completed/stopped remain distinct. Queue-empty pump boundaries and scheduler ticks claim retained concrete next steps into the durable inbox; queue/save barrier precedes execution. Pause/stop/deadlines/depth/controller exclusions remain enforced. Conversation stop revokes all retained tasks. Nonterminal background executions suppress parent resumption/assessment, avoiding duplicate work. Single-task snapshots migrate compatibly.

Validation

621/621 full tests PASS; typecheck/build/diffcheck PASS. Seven new task-resumption regressions: intermediate question then original work, serialized restart, omitted plan bounded assessment, real ExecutionStore worker/result provenance across question, question queued during working prompt, disk-save failure holds one input without execution, pause/stop. Existing real PI result/tool-hook integration adjusted to wait for derived worker before parent continuation (previous expectation ran parent while child pending). Existing task recovery/wait/completion/dispatcher suites included. Logs /tmp/task-resumption-final2-tests.log /tmp/task-resumption-final2-type.log /tmp/task-resumption-final2-build.log; focused /tmp/task-resumption-result.log.

Limits / review

Author counterchecked source and integration. Existing persistent reviewer status only: rounds3/escalated/blockers0, prior assessed P1 false-positive and unrelated P2 retained, no new rounds or budget reset. Original dirty worktree/generated builtin plugins preserved.
No invented next step when assessment unavailable/uncertain; no NLP inference that a new request cancels an old one. Explicit /stop or pause required. Global pause/20-step budget/deadlines remain. Trusted concrete steps still require reconciling actual external side effects: no exactly-once guarantee. Retained tasks remain serialized as history; future bounded history compaction is separate. This fixes lost mandates/reconciliation, not a universal planner or arbitrary worker cancellation. Source merge/build is not runtime activation. Provider architecture follow-up remains deferred by operator priority.

## Scope Persist retained per-session task collection separately from latest-message compatibility pointer. New chat questions no longer erase previous original mandates. Host result/dependency capture resolves task by trusted identity, not latest question. Missing continuation plan remains active for one durable independent assessment; explicit waiting/blocked/completed/stopped remain distinct. Queue-empty pump boundaries and scheduler ticks claim retained concrete next steps into the durable inbox; queue/save barrier precedes execution. Pause/stop/deadlines/depth/controller exclusions remain enforced. Conversation stop revokes all retained tasks. Nonterminal background executions suppress parent resumption/assessment, avoiding duplicate work. Single-task snapshots migrate compatibly. ## Validation 621/621 full tests PASS; typecheck/build/diffcheck PASS. Seven new task-resumption regressions: intermediate question then original work, serialized restart, omitted plan bounded assessment, real ExecutionStore worker/result provenance across question, question queued during working prompt, disk-save failure holds one input without execution, pause/stop. Existing real PI result/tool-hook integration adjusted to wait for derived worker before parent continuation (previous expectation ran parent while child pending). Existing task recovery/wait/completion/dispatcher suites included. Logs /tmp/task-resumption-final2-tests.log /tmp/task-resumption-final2-type.log /tmp/task-resumption-final2-build.log; focused /tmp/task-resumption-result.log. ## Limits / review Author counterchecked source and integration. Existing persistent reviewer status only: rounds3/escalated/blockers0, prior assessed P1 false-positive and unrelated P2 retained, no new rounds or budget reset. Original dirty worktree/generated builtin plugins preserved. No invented next step when assessment unavailable/uncertain; no NLP inference that a new request cancels an old one. Explicit /stop or pause required. Global pause/20-step budget/deadlines remain. Trusted concrete steps still require reconciling actual external side effects: no exactly-once guarantee. Retained tasks remain serialized as history; future bounded history compaction is separate. This fixes lost mandates/reconciliation, not a universal planner or arbitrary worker cancellation. Source merge/build is not runtime activation. Provider architecture follow-up remains deferred by operator priority.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harness/core!115
No description provided.