[Kernel][STOP] Confirm trusted-development cancellation only after owned process-group settlement #90
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#59 [Kernel][G11] Own concurrent tasks, workspaces and manual-edit reconciliation
Creatidy/creatidy-kernel
Reference
Creatidy/creatidy-kernel#90
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Make a user-requested STOP in the currently supported foreground
task run --approve --trusted-developmentpath durable and truthful. Reuse the existing SIGINT/Ctrl-C cancellation path and report completion only after the exact owned Codex process group has a known cleanup outcome. This is a trusted-development task-control improvement, not an isolation or effect-expiry feature.Why
The current path already latches SIGINT in the CLI, records
cancel:<attempt>throughtask_execution, requeststurn/interrupt, and usesCodexStdio's bounded SIGTERM/SIGKILL process-group cleanup. Keep and reuse those mechanisms.There is a status-ordering gap to close: the trusted-development
CodexRuntimeis constructed without aretireorsettledcallback. A terminal Codex turn observation can therefore be recorded as cancellation terminal before the CLI'sfinallycloses theCodexStdioconnection and obtains itsowned_group_settledresult. The final user-visiblecancelledresult must not be stronger than the durable process-group evidence.Scope
cancel:<attempt>operation, exact attempt/operation/receipt binding,CodexRuntime.cancel,turn/interrupt,CodexStdio.close, and bounded owned-process-group SIGTERM/SIGKILL escalation.cancelled_no_dispatch, confirmedcancelled, andcancel_uncertainin exported state and CLI output. If the group remains, the outcome is unknown, or the result cannot be reconciled, preserve the workspace and original envelope; do not start a new Attempt, replay an uncertain interrupt, or claim rollback.Acceptance Criteria
cancelled_no_dispatchidempotently on recovery.cancelleduntil bounded group cleanup is confirmed. If the group remains after existing escalation, the result iscancel_uncertainand the workspace is retained.TRUSTED_DEVELOPMENTsemantics is needed.Constraints
SQLiteProgramStorewriter. Any future out-of-process stop request would require an owner-thread command channel and separate authorization; it is outside this issue.Links
9a38843eb948b2ab1c4c396786e5d9239f5d0394.kilo referenced this issue2026-10-16 12:47:14 +00:00
kilo referenced this issue2026-10-16 22:59:18 +00:00
Implemented issue #90 in commit
f1aee45a1ced51df24b5ff779192873c407a135cand opened PR #93: #93. Exact base/head:40eea02cee517f7b31da01173739b23c510779b0/f1aee45a1ced51df24b5ff779192873c407a135c.make checkpassed (1456 passed, 85 skipped, 106 subtests);make package-checkpassed. The change keeps uncertain or mismatched group outcomes unaccepted and does not claim rollback or universal descendant containment. No merge or issue closure.Review ordinal 3/10 identified and reproduced a P1: cleanup skipped surviving group children after the leader exited. Fixed in remediation commit
085c5c43f22da3e6b0ec61cce4d2914e5d018d36, with a regression that confirms bounded SIGTERM/SIGKILL escalation on the original group. Freshmake checkpassed (1457 passed, 85 skipped, 106 subtests) andmake package-checkpassed. PR #93 is updated to head085c5c43f22da3e6b0ec61cce4d2914e5d018d36; the branch remains unmerged and issue #90 remains open.Integrated via PR #93. Forgejo records merge commit
a7da7c788503edcec85af9485b1f72913be0e632with first parent base40eea02cee517f7b31da01173739b23c510779b0and reviewed head085c5c43f22da3e6b0ec61cce4d2914e5d018d36; the reviewed head is an ancestor of currentdevelop. Exact-head PR workflow run #2913 succeeded. On the integrated merge commit,make checkpassed (1457 passed, 85 skipped, 106 subtests) andmake package-checkpassed. Independent review ordinal 4/10 approved that exact head/base with no findings. Acceptance is limited to exact owned process-group cancellation; strict native-effect expiry, rollback and universal descendant containment remain unsupported/out of scope. Closing issue under the active /loop completion gate.kilo referenced this issue2026-10-27 02:11:28 +00:00