fix: confirm task cancellation after owned group settlement (#90) #93

Merged
kilo merged 2 commits from issue-90-owned-cancellation into develop 2026-10-18 18:52:08 +00:00
Member

Scope

Implements Kernel issue #90 for the existing foreground trusted-development task path. Persists the exact owned Codex process-group identity with the runtime receipt, coordinates cancellation with bounded CodexStdio cleanup, and reports confirmed cancellation only when the result is reconciled and that exact group is settled. Mismatched/unobservable groups and incomplete receipts remain uncertain; no uncertain interrupt is replayed. Cancellation remains distinct from rollback and universal descendant containment.

Adds explicit cancel_requested, cancel_in_progress, cancelled, cancelled_no_dispatch, and cancel_uncertain reporting with durable settlement evidence and recovery behavior. Legacy v1 runtime receipts remain decodable but do not certify a group identity. Cleanup also continues bounded group escalation when the original process-group leader has already exited.

Validation

  • make check: 1457 passed, 85 skipped, 106 subtests; Ruff, basedpyright, import-boundary, secret-scan, and diff checks passed.
  • make package-check: reproducible wheel/sdist, isolated install, and CLI/intake/source smoke checks passed.
  • Focused cleanup regressions: exited leader with surviving child, stubborn child with bystander isolation, and uncertain partial cleanup all passed.

Refs

Refs #90

Base: 40eea02cee517f7b31da01173739b23c510779b0
Head: 085c5c43f22da3e6b0ec61cce4d2914e5d018d36

No live inference was run. Strict native-effect expiry, rollback, and universal descendant containment remain outside scope.

## Scope Implements Kernel issue #90 for the existing foreground trusted-development task path. Persists the exact owned Codex process-group identity with the runtime receipt, coordinates cancellation with bounded `CodexStdio` cleanup, and reports confirmed cancellation only when the result is reconciled and that exact group is settled. Mismatched/unobservable groups and incomplete receipts remain uncertain; no uncertain interrupt is replayed. Cancellation remains distinct from rollback and universal descendant containment. Adds explicit `cancel_requested`, `cancel_in_progress`, `cancelled`, `cancelled_no_dispatch`, and `cancel_uncertain` reporting with durable settlement evidence and recovery behavior. Legacy v1 runtime receipts remain decodable but do not certify a group identity. Cleanup also continues bounded group escalation when the original process-group leader has already exited. ## Validation - `make check`: 1457 passed, 85 skipped, 106 subtests; Ruff, basedpyright, import-boundary, secret-scan, and diff checks passed. - `make package-check`: reproducible wheel/sdist, isolated install, and CLI/intake/source smoke checks passed. - Focused cleanup regressions: exited leader with surviving child, stubborn child with bystander isolation, and uncertain partial cleanup all passed. ## Refs Refs #90 Base: `40eea02cee517f7b31da01173739b23c510779b0` Head: `085c5c43f22da3e6b0ec61cce4d2914e5d018d36` No live inference was run. Strict native-effect expiry, rollback, and universal descendant containment remain outside scope.
fix: confirm task cancellation after group settlement (#90)
All checks were successful
ci / check (pull_request) Successful in 2m22s
f1aee45a1c
fix: clean owned group after leader exit (#90)
All checks were successful
ci / check (pull_request) Successful in 2m28s
085c5c43f2
kilo merged commit a7da7c7885 into develop 2026-10-18 18:52:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
Creatidy/creatidy-kernel!93
No description provided.