Repository navigation
fix(kanban): admit owner-run tasks as finite turns - #139001
Closed
Wenfengcheng wants to merge 1 commit into
Closed
Wenfengcheng wants to merge 1 commit into
Wenfengcheng wants to merge 1 commit into
Conversation
This was referenced Oct 15, 2026
unsupportedpastels
left a comment
There was a problem hiding this comment.
@Wenfengcheng thanks for this. Closing as superseded by #139274, which is now merged to main and fixes KB-1 (tracked in #134889). Your change landed as 84332997 with a Co-authored-by trailer. #139274 also makes a retry of an attempt admitted before the change replay its committed payload, so it does not hit admission_conflict.
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.
What does this PR do?
Mark dispatcher-owned
kanban.runsubmissions as finite turns. These headless workers previously lost thechat -qcontext when execution moved to the profile owner, so approvals could wait for a person who cannot answer.Reuse the existing admission/worker finite-turn machinery. Do not set
unattended(the separate auto-approval grant), change thekanbanpolicy source, or change approval defaults.Related Issue
Part of #138992. This verifies admission propagation and single-query approval behavior. The report's separate observations about clarify, delegation, Codex shutdown and background review are not independently exercised here yet.
Base:
db44c46208f1b421b4ecb7e56bf9d68b0423906f.Type of Change
Changes Made
finite: Trueat the trusted Kanban submission boundary.single_query_mode: denyandapprovewithout invoking the supplied human callback.How to Test
scripts/run_tests.sh tests/gateway/test_kanban_finite_admission.py -qgit diff --check: passed.Validation limits: this is a local real-storage integration test, not a full dispatcher/LLM subprocess E2E. The model is never called in the focused tests; scheduling is paused for deterministic admission inspection. Python 3.14, the full suite and blocking
scripts/checkhave not been completed. The available SQLite uses the product's DELETE-journal fallback rather than WAL.Post-publication affected regression run: 22 passed, 0 failed across six files (finite admission, Kanban claims/off-loop admission/recovery, unattended wire authorization, finite delegation outcomes). The real dispatcher lifecycle was excluded from that count and run separately: its
completecase fails withmodel never reachedboth on this head and with the sole production change reverted to the base. This establishes a matching baseline failure in the available environment, not a successful live run or a diagnosed root cause. The other four live lifecycle modes were not run. Pinned Ruff 0.15.10 is absent; no dependencies or runtimes were installed. Draft remains pending supported-runtime/live validation.Scope
Preserve claim authorization, retry identity, Kanban policy/toolsets and existing approval configuration. No new approval mode, unconditional auto-approve, timeout changes, dispatcher redesign, or migration of already-queued admissions.
Checklist
python scripts/checkpasses.