fix(core): improve ask caller routing and cross-dir session resolution#111
Merged
bfly123 merged 1 commit intobfly123:mainfrom Mar 7, 2026
Merged
Conversation
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.
Summary
This PR hardens async task routing and session resolution in core flows.
Problem
askcan route to the wrong caller/sessionwhen
CCB_CALLERis missing or incomplete.processing...while the target session never actually starts work.existing provider pane.
Files changed
bin/askbin/ccb-completion-hookccblib/session_utils.pyWhat changed
bin/askAdded robust caller detection (
CCB_CALLER+ pane/env hints + fallback).Removed strict hard-fail when caller is missing; use controlled fallback caller.
Added async observability output (task status/log file paths and lifecycle markers).
Guardrail text is now strict-by-default only for Claude caller to reduce false guidance for
other callers.
bin/ccb-completion-hookImproved session file lookup and work-dir compatibility checks for nested-dir workflows.
lib/session_utils.pyfind_project_session_filenow searches upward from cwd and picks nearest valid sessionfile.
ccbOn lock collision in single-provider mode, try to reuse/activate existing live pane
instead of hard-failing.
Explicitly inject
CCB_CALLERinto provider pane env to reduce caller ambiguity acrossprocesses.
OpenCode startup path is hardened in single-provider handoff scenarios.
User impact
status/loglifecycle is visible).Risk
Out of scope
ccb-statussubmodule updates.ccb-multi, worktree, or context-related changes.Validation