feat(web): architect-backed AI drawer on /specs/$specName #1119
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#1118 feat(web): /specs route — list + markdown editor (no AI drawer)
charles/claude-hooks
Reference
charles/claude-hooks#1119
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?
As an operator authoring a spec,
I want an AI assistant drawer on the spec editor that uses the architect agent and remembers my conversation per spec,
so that I can iterate on the spec body without leaving the editor or losing chat history.
Reuses
MarkdownAssistantDrawer(already wired in skills tabs) and binds it to/architect/chatwith the current spec body as context.Acceptance criteria
Drawer integration
routes/specs.$specName.tsxtoolbar has "Assistant" button (lucideSparkles) that opens<MarkdownAssistantDrawer>.?assistant=openURL search param defaults the drawer open for share-links; toggling drawer updates the URL vianavigate({ search, replace: true }).buildMessage(userText)prefixes the architect prompt with the current spec body in a fenced block + filename header, then appendsuserText.onApply(next)replaces the editor draft. When current draft is dirty, prompts a Base UI Dialog confirm before overwriting.shadow-lifted, backdrop, focus trap from the<Drawer>primitive).Session persistence per spec
postArchitectChat, writelast_session_idtolocalStoragekeyedspecs:<repo>:<specName>:lastSession.MarkdownAssistantDrawer's session viafetchArchitectSessionand shows the prior transcript.A11y
aria-label="Open assistant"+ visible label.Cmd+Shift+Ashortcut hint registered inSHORTCUTS(scopespecs).Tests
onApplywith dirty draft fires confirm dialog; declining preserves the draft.Out of scope
Dependencies
References
docs/specs/workspace-split.md§ Editor anatomy + AI drawer.features/agent-config/skills-tab.tsx~L649.