fix: retain authorized tasks across intermediate questions #115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/durable-task-resumption"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.