SeeCodes Flow for VS Code
SeeCodes Flow currently ships as a sidebar-first VS Code extension.
Main user surfaces
1. Activity Bar
- SeeCodes activity bar container
- Task Workspace webview inside that container
2. Command Palette
These are the user-facing commands currently contributed by the extension:
- SeeCodes: Connect Current Workspace to Jira Task
- SeeCodes: Disconnect Current Jira Task
- SeeCodes: Refresh Connected Task Context
- SeeCodes: Send AI Task Status Report to Jira
- SeeCodes: View License
Inside Task Workspace, the currently exposed tabs are:
What users are actually allowed to do
From the shipped extension surface, users can currently:
- connect the current VS Code workspace to a Jira task using a Jira-generated one-time launch link
- inspect the connected Jira task context
- trigger a manual AI task status report back to Jira
- inspect local task activity / progress logs
- inspect local lightweight VCS history created by the extension
- disconnect and reconnect the current task binding
- open the packaged license text
Protocol V2 task-status flow
The shipped extension publishes local work through Protocol V2 when a task is connected from Jira. The extension uses the scoped task permit from the launch-link exchange, infers or reuses a repository connection, sends progressive unified diffs, then requests task-status generation.
sequenceDiagram
autonumber
participant User as Developer
participant VSX as VS Code extension
participant VCS as local mini-VCS
participant API as SeeCodes backend
participant Store as ProtocolV2Table + S3
participant Jira as Jira app
User->>VSX: Connect Current Workspace to Jira Task
VSX->>API: exchange one-time launch code
API-->>VSX: scoped task permit
User->>VCS: edit files / create checkpoints
VSX->>API: POST /v2/extension/repo/diffs/progressive
API->>Store: CHANGE + attribution memo
User->>VSX: Send AI Task Status Report to Jira
VSX->>API: POST /v2/extension/task-status/generate
API->>Store: REPORT + DAILY summary + progress.json mirror
Jira->>Store: read task progress / daily summary
Protocol V2 attribution is intentionally task-aware. The backend extracts explicit Jira issue keys from diff text, paths, change explainers, and task context. The connected openedTaskId is also sent with the progressive diff, so direct task work is strongly linked while shared files can still attribute progress to another mentioned or semantically related task.
What is not part of the shipped extension surface
The packaged extension is not currently shipping these old/legacy UI surfaces:
- custom editor flows
- the old React/Next task editor shell
- the old research / implementation / review React panels under the legacy prototype UI
- the prototype
tai-webview build pipeline
vscode-extension/components/ audit
No files under vscode-extension/components/ are used by the shipped extension build.
That folder is legacy prototype UI code.
Used by the shipped extension runtime
The shipped extension runtime is driven by:
vscode-extension/src/**
vscode-extension/media/** (except deprecated tai-webview.*)
vscode-extension/package.json
vscode-extension/LICENSE.txt
In practice, the active shipped path starts at:
vscode-extension/src/extension.ts
vscode-extension/src/providers/SidebarProvider.ts
vscode-extension/src/providers/SidebarContent.ts
Not part of the shipped extension surface
These are not part of the packaged/sidebar runtime surface:
vscode-extension/components/**
vscode-extension/app/**
vscode-extension/hooks/**
vscode-extension/styles/**
- deprecated prototype helpers used only by that prototype path
Can be removed
If you have fully retired the old prototype UI and no longer run its manual build path, the following are cleanup candidates:
- all files under
vscode-extension/components/**
- all files under
vscode-extension/app/**
- all files under
vscode-extension/hooks/**
- all files under
vscode-extension/styles/**
- prototype-only support files such as the deprecated
tai-webview assets/build helpers
Keep only if you still maintain the deprecated prototype
Keep the old tree only if you intentionally still use the legacy prototype UI or its manual build path, for example:
vscode-extension/app/tai-webview.tsx
vscode-extension/scripts/build_webview.mjs
vscode-extension/media/tai-webview.*
Launch-link model
The extension expects one-time Jira launch links and exchanges them for a scoped task permit.
Legacy pasted key= / direct permit-style links are not part of the supported user flow anymore.
The permit scopes Protocol V2 extension routes to the Jira task and space that produced the launch link. It is used for progressive diff publishing and manual task-status generation.
Notes for maintainers
If you change the surfaced feature set:
- update this README
- keep
package.json command descriptions aligned
- keep regression tests aligned with the actual shipped sidebar surface