fix(tui): refuse a worker cancel the runtime acknowledger cannot answer - #859
Merged
Conversation
The cancel acknowledger resolves references against the root manager's direct children only. The TUI worker table lists every journal node, including nested descendants. A 'c' on a nested worker queued a request no acknowledger reads: the operation stays 'unknown' forever and the worker runs on, while the notice implied a cancel was in progress. - workerCancelRoute (top-model) resolves a worker id to its routable target: direct child, or the top-level lead of a nested descendant. - The TUI refuses a nested worker's cancel and names the lead to cancel instead of queueing a dead request. - The queued notice now says the operation awaits acknowledgement instead of printing the raw 'unknown' effect. - A kernel test pins the boundary: a request naming a live nested descendant is never acknowledged and never applied, and still reads 'unknown' after the run. - canonical-api.md names the direct-children-only boundary.
tangletools
approved these changes
Aug 15, 2026
tangletools
left a comment
Contributor
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — f981eeb8
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
This approval is provisional. It rests on the audit running. If the audit cannot run — for example the CLI bridge rejects it — this approval is dismissed rather than left standing, so an unrun check never reads as a passing one.
tangletools · auto-approval · reason: drewstone_author · 2026-08-15T05:37:28Z
This was referenced Aug 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up from the adversarial review of #854 (the value audit that could not run at merge time).
Defect
The cancel acknowledger (
DriverAgentOptions.controlDir) resolves references against the root manager's DIRECT children only (scope.view.nodesis direct children —scope.ts:2145; nested drivers receive nocontrolDir). The TUI worker table lists EVERY spawned journal node, including nested descendants, and offered 'c' on all of them. A cancel on a nested worker queued a request no acknowledger will ever read:unknownforever;Repro is now pinned as a kernel test: a request naming a live nested descendant (
run-deep:s0:s0) crosses multiple acknowledger passes plus the post-drain pass and is never acknowledged, never applied.Change
workerCancelRoute(top-model, pure, tested): resolve a worker id to its routable target — direct child, or the top-level lead of a nested descendant.unknowneffect.canonical-api.mdnames the direct-children-only boundary.Proof