Repository navigation
feat(ai): ground project chats in their scope and the workspace view - #262
Closed
kinqsradio wants to merge 12 commits into
Closed
kinqsradio wants to merge 12 commits into
kinqsradio wants to merge 12 commits into
Conversation
Format the PrepareReason union so CI passes. Read the projects list only after the dock is first opened, skip the embedded Assistant's own projects read, and let useProjectChat fall back to the Assistant links outside the workspace dock instead of throwing. Co-authored-by: Luan Nguyen <luannn010@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s load Collapse on focus only for controls the panel hides, not frame bodies. Add a phone scrim and bottom sheet and reserve scroll space on desktop. Cap mounted chat sessions at 3 without dropping drafts or running chats. Read planner prefs, AI capabilities and agent settings once for all embedded chats.
…d share its reads Collapse only for focus that follows a Tab, never for frame containers. Count an unconfirmed project draft as unsent. Share one assistant controls instance and refresh identity when the dock opens. Skip scroll reserve on short desktops and keep focus inside the phone sheet.
Rebuild a chat's scoped project or task facts at the start of every run attempt, including resumes, using the job owner's current access. A scope that lost access or was kept out of the assistant now stops the run before any provider call; before, the facts were checked at admission and then dropped, so the model never saw the selected project. Name the selected scope in the lead and specialist prompts, and accept an optional view (pane, app path, query) with each turn. The server derives any selected task, page or project from the path, drops it unless the person may show it to the assistant, and takes titles from the database.
…esh projects on approval
Also reformat the runner call left over from the signature change.
…ff scope reads Under restrictive read rules, name the open task or page by screen only, so a denied space's title never reaches the model. A reviewed answer only finalizes, so it no longer rereads the scope: an applied plan is not reported as failed because its task was deleted or its project kept out. Quote titles in the scope line as one bounded, escaped line, and make the new run tests match their own chat's requests.
kinqsradio
changed the base branch from
feat/project-chat-dock
to
feat/web-rebuild
November 6, 2026 08:50
…space-chat-context # Conflicts: # web/src/app/workspace/ProjectChat.tsx # web/src/app/workspace/project-chat-policy.ts # web/src/screens/assistant/index.tsx # web/src/screens/assistant/useAssistant.ts # web/src/screens/projects/ProjectChatDock.tsx # web/tests/workspace-chat-guards.test.ts
…bad path A finished job clears its run_state, so the view checkpoint is checked while the run is waiting. Request validation answers 422 in this API.
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.
See CONTRIBUTING before starting engineering work.
Refs #258. Stacked on #259: the base is
feat/project-chat-dock. Retarget tofeat/web-rebuildonce #259 merges.Change
34dd881b), scoped facts were checked at admission and then dropped, so "which project is selected?" had nothing to go on.contextFornow rereads the scope (agent/chat-context.ts) with the job owner's current access on every attempt and resume. A scope that was kept out or lost access stops the run before any provider call. The lead and specialist prompts name the selected project or task. Titles appear as escaped, one-line, bounded data.chatRequest.viewis optional and strict:{pane, path, query}, where the path is an/app/...pathname. The server derives any open task, page or project from the path. It drops that item unless the assistant may read it (visibility, kept out, team assistant setting), and takes titles from the database only. Under restrictive read rules only the screen is named. The view is a location hint and never changes the chat's scope.view.WorkspaceController. No change.reviewnews, which is what approving a proposal announces. The approving tab already refreshes the planner store.Checks and limits
npm run format:check,npm run typecheck(all workspaces),npm run build -w web,scripts/check-code-organization.py,scripts/check-project-docs.py.backend/tests/assistant-chat-context.unit.test.ts(new),web/tests/workspace-chat-guards.test.tsandbackend/tests/web-workspace.unit.test.ts.backend/tests/assistant-runs.test.tsand cover:docs/architecture.mdstill describes the retired fixed graph;AI usage
Workspace
repo/, and read the relevant project guides.This contributor confirmation is not an automated claim that a host loaded policies.
🤖 Generated with Claude Code