Conversation
Add architecture analysis suite: cycle detection, smell detection, graph metrics, Mermaid export
- Add GraphBranch, BranchDiff, NodeDiff, EdgeDiff types to schema.ts - Create branches.ts with createBranch() and diffBranches() logic - Add branch persistence to store.ts (saveBranch, loadBranches, loadBranch, deleteBranch) - Add API routes: POST/GET /api/branches, POST /api/branches/diff, GET/DELETE /api/branches/[id] - Update blueprint-workbench.tsx with full branch panel UI - Add CSS styles for branch panel and diff visualization - Add 23 unit/integration tests covering branches.ts and both new API routes Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
…ntic IDE Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
…uals Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
Co-authored-by: nehraa <187715469+nehraa@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…dashboard feat: Heatmap observability dashboard with live trace visuals and auto-polling
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
….ts) - index.ts: initCodeRagForProject with branchDirForProject storage root - agent.ts: agent utilities (buildAgentRetrievalQuery, formatAgentRetrievalPrompt, etc.) - search.ts: searchBranches and explainBranchDiff with CodeRAG query support - formatStructuralDiff: structured diff formatting with nodes/edges/all focus Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add VERSIONING_TOOL_DEFINITIONS array with 8 tool names for the MCP server: versioning_branch_list, versioning_branch_create, versioning_branch_get, versioning_branch_delete, versioning_diff, versioning_reasoning_snapshot, versioning_branch_search, and versioning_explain_diff. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add attachObservabilitySnapshot, attachRiskReport, attachSessionSnapshot helpers and integrate them into createBranch as attachObservability, attachRisk, attachSession options. attachRisk requires runPlan. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New @abhinav2203/codeflow-prd package for PRD markdown parsing and BlueprintGraph building. Includes: - parsePrd(): converts PRD markdown to BlueprintNode/Edge/Workflow structures - buildBlueprintGraph(): assembles a full BlueprintGraph from parsed PRD - Inline utils (slugify, createNode, mergeContracts, dedupeEdges) from core - withSpecDrafts(): adds scaffold status to code-bearing nodes Wired src/app/api/blueprint/route.ts and src/app/api/generate-blueprint/route.ts to import from the package. Updated imports to use @abhinav2203/codeflow-core/schema and internal/utils. Note: Repo analysis (analyzeTypeScriptRepo) and CodeRag integration are deferred to a future version once those dependencies are packaged. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Change markCompleted to take explicit success boolean instead of duck-typing - Add retry logic to executeTask using maxRetries config - Add tests for getFailedCount(), circular dependency detection, and non-existent dependency task ID handling Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace placeholder spawnAgent() with opencode run integration using execa - Add --serve and --acp CLI flags to start opencode headless/ACP servers - Update coder-prompt.ts for CLI-optimized prompts - Add execa@^9.0.0 dependency - Update test to reflect new behavior (returns failure result instead of throwing) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add `src/agent/blueprint.ts` with `blueprintToTasks()` to convert BlueprintGraph to AgentTask[] - Add `src/store/reasoning.ts` with `saveReasoningTrace()` and `appendReasoningStep()` for reasoning traces - Update `src/agent/execution-context.ts` with `executeBlueprint()` for blueprint-based orchestration - Update CLI in `src/cli/index.ts` to support `--blueprint <file>` flag for blueprint execution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eneration Add comprehensive AI-powered orchestration for codeflow-agent: - NVIDIA Llama blueprint generation via `generateBlueprint()` - Per-node prompt building via `buildNodePrompt()` - OpenCode HTTP API code generation via `generateNodeCode()` - Permission system with yolo/always-ask/important modes New files: - src/ai/blueprint-generator.ts: Blueprint generation using NVIDIA API - src/ai/node-prompts.ts: Build implementation prompts for blueprint nodes - src/ai/code-generator.ts: OpenCode HTTP client for code generation - src/ai/opencode-client.ts: OpenCode session management and HTTP client - src/permissions/manager.ts: Permission modes and approval logic - src/types/blueprint.ts: BlueprintGraph and BlueprintNode types CLI updates: - Add --generate "<prompt>" for AI blueprint generation - Add --permission=yolo|always-ask|important mode selection - Add --inspect to show prompts before generation - Add --nvidia-api-key and --opencode-url options Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… from execution chore(execution): remove codegen, strip utils, update runtime imports Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Delete src/types/blueprint.ts and update all importers to use @abhinav2203/codeflow-core/schema directly. RiskLevel is now defined locally in permissions/manager.ts since it doesn't exist in core schema. Updated files: - ai/blueprint-generator.ts: import from @abhinav2203/codeflow-core/schema - ai/node-prompts.ts: import from @abhinav2203/codeflow-core/schema - ai/index.ts: removed blueprint type re-exports, re-export RiskLevel from permissions/manager - cli/index.ts: import BlueprintGraph from @abhinav2203/codeflow-core/schema - permissions/manager.ts: define RiskLevel locally (not in core schema) - ai/doc-generator.ts, ai/multi-language-codegen.ts: updated imports - ai/multi-language-codegen.test.ts, ai/test-generator.test.ts: updated imports - ai/doc-generator.test.ts: fixed import path and removed generateMarkdownDocs alias test Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rator - Add execution-context.ts for agent execution management - Add blueprint.ts for workflow blueprint definitions - Add refactor-suggester.ts for code improvement suggestions - Add test-generator.ts for automated test generation - Update ai module with minimax-client integration - Add execution span and runtime contract types - Add VCR and sandbox execution modules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Summary by QodoPrevent OpenCode API keys from leaking to child processes
AI Description
Diagram
High-Level Assessment
Files changed (22)
|
Code Review by Qodo
1. Committed credentials expose providers
|
| GEMINI_API_KEY=AIzaSyCi2AwIPaqvxI8c_reuzeSVMkUSP_3d8tg | ||
| NVIDIA_API_KEY=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 |
There was a problem hiding this comment.
1. Committed credentials expose providers 🐞 Bug ⛨ Security
The new .env file contains literal Gemini and NVIDIA API credentials instead of placeholders or environment references. Anyone with repository or artifact access can use them until they are revoked, even after the file is removed from the branch because Git retains its history.
Agent Prompt
## Issue description
The PR commits live-looking Gemini and NVIDIA credentials in `.env`, exposing them through repository history and derived artifacts.
## Fix Focus Areas
- .env[1-2]
- .gitignore[9-17]
## Recommended Fix
Remove `.env` from version control, add the root `.env` file to `.gitignore`, and provide a tracked `.env.example` containing only empty, non-secret placeholders. Immediately revoke and rotate both exposed credentials.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| const env = { | ||
| ...process.env, | ||
| ...configToEnv(config), | ||
| OPENCODE_CONFIG_CONTENT: JSON.stringify(config), | ||
| }; |
There was a problem hiding this comment.
2. The child still receives the secret 🐞 Bug ⛨ Security
OpencodeServer.start serializes the complete OpencodeConfig, including apiKey, into OPENCODE_CONFIG_CONTENT after configToEnv writes the credential to a protected file. Whenever a keyed provider starts, every OpenCode child and descendant process can read the raw key from its inherited environment, defeating the file-based protection.
Agent Prompt
## Issue description
The complete OpenCode configuration is serialized into the spawned process environment, exposing the API key despite the separate protected key-file mechanism.
## Fix Focus Areas
- src/lib/opencode/server.ts[41-45]
- src/lib/opencode/config.ts[57-90]
- src/lib/opencode/types.ts[19-27]
## Recommended Fix
Construct `OPENCODE_CONFIG_CONTENT` from a sanitized configuration object with `apiKey` removed, or remove that environment variable entirely if the OpenCode child does not require it. Keep only the protected key-file reference in the child environment, and add a test that inspects the spawn environment and verifies that the raw key appears in no environment value.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| // Belt-and-suspenders: explicitly chmod in case the umask interfered | ||
| // with the mode option (writeFileSync's mode is masked by process.umask). | ||
| chmodSync(keyFile, 0o600); | ||
| env[providerConfig.apiKeyEnvVar] = keyFile; |
There was a problem hiding this comment.
3. Provider authentication always fails 🐞 Bug ≡ Correctness
configToEnv assigns the temporary file pathname to provider variables that are defined as API-key environment variables. Because the spawned command receives that environment unchanged and no wrapper reads the file, providers receive a pathname in place of the credential whenever an API key is configured.
Agent Prompt
## Issue description
The OpenCode process receives a temporary file path where its provider integration expects an API-key value, breaking authenticated provider requests.
## Fix Focus Areas
- src/lib/opencode/config.ts[65-90]
- src/lib/opencode/server.ts[61-64]
- src/lib/opencode/types.ts[80-110]
## Recommended Fix
Use a secret-file option that OpenCode explicitly consumes, or launch a controlled wrapper that reads the protected file and supplies the credential only to OpenCode without propagating it to descendants. Add an integration test proving a configured provider receives the actual credential semantics rather than a pathname.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| const dir = mkdtempSync(join(tmpdir(), "codeflow-opencode-")); | ||
| const keyFile = join(dir, "api_key"); | ||
| writeFileSync(keyFile, config.apiKey, { mode: 0o600 }); |
There was a problem hiding this comment.
4. Stopped servers leave secrets on disk 🐞 Bug ⛨ Security
configToEnv creates a new temporary directory and plaintext api_key file for every keyed start without returning or recording its location for cleanup. Normal stops, restarts, spawn errors, and startup timeouts consequently leave credentials in the system temporary directory indefinitely.
Agent Prompt
## Issue description
Temporary files containing provider credentials are never deleted after the OpenCode process stops or fails to start.
## Fix Focus Areas
- src/lib/opencode/config.ts[69-79]
- src/lib/opencode/server.ts[80-117]
## Recommended Fix
Return a cleanup handle with the generated environment, retain it for the process lifetime, and remove both the key file and temporary directory from stop, exit, error, and failed-start paths using idempotent cleanup.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| export async function GET(request: Request): Promise<Response> { | ||
| try { | ||
| const url = new URL(request.url); | ||
| const filePathParam = url.searchParams.get("path"); |
There was a problem hiding this comment.
5. Callers can access host files 🐞 Bug ⛨ Security
The file handlers accept x-codeflow-repo-path as the repository root and pass that caller-controlled value to validateFilePath, which checks requested paths only for containment beneath the selected directory rather than a server-owned workspace. An unauthenticated caller can supply / or another accessible absolute host directory to list directories, read allowed file types, and create or replace writable files outside the actual project.
Agent Prompt
## Issue description
A request header controls the filesystem trust root used for path validation, allowing callers to redirect file operations to arbitrary accessible host directories.
## Fix Focus Areas
- src/app/api/files/get/route.ts[21-37]
- src/app/api/files/list/route.ts[34-47]
- src/app/api/files/post/route.ts[55-73]
- src/lib/file-security.ts[200-229]
## Recommended Fix
Remove the client-controlled absolute root header and derive the repository root from trusted server-side session or deployment configuration. If multiple workspaces are supported, accept an opaque authenticated project or workspace identifier, authorize the caller for it, and resolve it against a server-maintained registry or allowlist. Canonicalize the configured root once and reject any root or requested path outside the registered workspace.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| @@ -36,6 +36,8 @@ export const getNodeStubPath = (node: BlueprintNode): string | null => { | |||
| .toLowerCase()}.${extension}`; | |||
| }; | |||
|
|
|||
| export const getNodeDocPath = (node: BlueprintNode): string => `docs/${node.id}.md`; | |||
There was a problem hiding this comment.
10. Exports can write files outside the target 🐞 Bug ⛨ Security
getNodeDocPath interpolates an unrestricted blueprint node ID into a relative documentation path, and export joins that value to the output directory before writing it. A graph containing an ID with parent-directory segments therefore makes the documentation write escape the requested export directory.
Agent Prompt
Issue description
A blueprint node ID is used directly as a documentation filename, permitting parent-directory traversal during export.
Fix Focus Areas
- src/lib/blueprint/codegen.ts[39-39]
- src/lib/blueprint/export.ts[370-372]
- src/lib/blueprint/schema.ts[161-164]
Recommended Fix
Generate documentation filenames from a safe slug or a strict identifier encoding rather than the raw node ID. Also resolve and validate every export destination against `baseDir` before writing.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| const runResult = await runCommand(process.execPath, [RUNTIME_HARNESS_PATH], { | ||
| cwd: workspaceDir, | ||
| timeoutMs: 20_000, | ||
| stdoutMaxBytes: 64 * 1024, | ||
| stderrMaxBytes: 128 * 1024, | ||
| env: { | ||
| ...process.env, | ||
| NO_COLOR: "1", | ||
| CODEFLOW_RUNTIME_PAYLOAD: JSON.stringify(payload), | ||
| CODEFLOW_RUNTIME_RESULT_PATH: resultPath | ||
| } |
There was a problem hiding this comment.
11. Blueprint code can access server credentials 🐞 Bug ⛨ Security
Runtime workspaces write caller-supplied codeDrafts and execute the generated module in a child Node process whose environment spreads process.env. Submitted blueprint code can consequently read deployment secrets and provider credentials through process.env during execution.
Agent Prompt
Issue description
Submitted blueprint code executes in a child process that inherits all environment variables from the CodeFlow server.
Fix Focus Areas
- src/lib/blueprint/runtime-workspace.ts[191-215]
- src/app/api/executions/run/route.ts[9-15]
Recommended Fix
Replace the `process.env` spread with an explicit environment allowlist containing only runtime variables that the harness needs. Ensure secrets, cloud credentials, API keys, and application configuration are never inherited by executable drafts.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| const info = await startServer({ | ||
| provider, | ||
| apiKey, | ||
| model: model || undefined, | ||
| baseUrl: baseUrl || undefined, | ||
| }); |
There was a problem hiding this comment.
13. Configured opencode integrations never start 🐞 Bug ≡ Correctness
The settings component builds a configuration containing MCP servers, skills, and hooks, but passes only provider, key, model, and base URL to startServer. The start route reconstructs the server configuration from that reduced payload, so the saved advanced integrations are silently omitted from the running process.
Agent Prompt
Issue description
The OpenCode settings UI collects advanced configuration but omits it from the server-start request.
Fix Focus Areas
- src/components/opencode-settings.tsx[127-150]
- src/lib/opencode/client.ts[26-35]
- src/app/api/opencode/start/route.ts[7-27]
Recommended Fix
Add typed `mcpServers`, `skills`, and `hooks` fields to the client request and route schema, then pass them to `buildOpencodeConfig`. Add an integration test asserting that these configured values reach the started server configuration.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| {serverStatus.status === "stopped" || serverStatus.status === "error" ? ( | ||
| <button | ||
| onClick={handleStartServer} | ||
| disabled={isLoading || !apiKey} | ||
| type="button" |
There was a problem hiding this comment.
14. Local model users cannot start opencode 🐞 Bug ≡ Correctness
The settings Start button is disabled whenever apiKey is empty, despite the local provider being configured without an API-key variable. A valid local-provider configuration with its required base URL therefore cannot be started from the supplied interface.
Agent Prompt
Issue description
The OpenCode settings UI requires an API key for every provider, including the keyless local provider.
Fix Focus Areas
- src/components/opencode-settings.tsx[369-373]
- src/lib/opencode/types.ts[155-161]
- src/lib/opencode/config.ts[145-160]
Recommended Fix
Base the Start button enablement on `validateConfig` or explicitly exempt the local provider from the API-key requirement while retaining its base-URL validation.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| if (readyTasks.length === 0) { | ||
| const pending = queue.getPendingCount(); | ||
| if (pending > 0) { | ||
| throw new Error('Circular dependency detected - no ready tasks but pending tasks exist'); |
There was a problem hiding this comment.
15. Failed tasks abort dependents as cycles 🐞 Bug ☼ Reliability
TaskQueue.getReadyTasks requires every dependency to have completed status, while a failed task is marked failed. Its dependent remains pending, after which executeWithQueue throws a circular-dependency error even though the graph is acyclic and the actual failure was already known.
Agent Prompt
Issue description
Agent task dependents of a failed task remain pending and are reported as a circular dependency.
Fix Focus Areas
- packages/codeflow-agent/src/agent/task-queue.ts[21-39]
- packages/codeflow-agent/src/agent/task-queue.ts[50-65]
- packages/codeflow-agent/src/agent/agent-spawner.ts[111-119]
Recommended Fix
Detect failed dependencies and mark dependent tasks blocked or skipped with the prerequisite failure recorded. Reserve the circular-dependency error for a verified cycle among pending tasks, and return the partial result set for ordinary task failures.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e5457e44c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| GEMINI_API_KEY=AIzaSyCi2AwIPaqvxI8c_reuzeSVMkUSP_3d8tg | ||
| NVIDIA_API_KEY=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 |
There was a problem hiding this comment.
Remove and rotate the committed Gemini and NVIDIA keys
These non-placeholder provider credentials are tracked in the commit, so anyone with repository or fork access can use them; deleting the file in a later commit will not remove copies already fetched. Remove the file from version control and revoke/rotate both exposed credentials.
Useful? React with 👍 / 👎.
|
|
||
| const { requestMiniMaxChatCompletion } = await import('./packages/codeflow-agent/dist/ai/minimax-client.js'); | ||
|
|
||
| const API_KEY = 'sk-cp-KjobHFSNe1A5LaEtTY0qrBV5l85bitrDDWkjO4VEtsGd6h8uTnRmbcuEQflj1FXbUwFX2L9S1Qt5_M-dqpFnX7qMGg7GUtGTfYp5EJJ05MVyuLN7N5WWoyA'; |
There was a problem hiding this comment.
| const env = { | ||
| ...process.env, | ||
| ...configToEnv(config), | ||
| OPENCODE_CONFIG_CONTENT: JSON.stringify(config), | ||
| }; |
There was a problem hiding this comment.
Exclude the API key from the OpenCode child environment
When OpenCode is started, JSON.stringify(config) includes apiKey and is placed in the server process environment. Any tool or MCP child process spawned by OpenCode inherits that environment, so this directly reintroduces the API-key leak that the file-backed configToEnv handling is meant to avoid; pass only non-secret configuration through the environment.
Useful? React with 👍 / 👎.
| const fileData = | ||
| encoding === "base64" ? Buffer.from(content, "base64") : content; | ||
|
|
||
| if (typeof fileData === "string") { | ||
| await fs.writeFile(validatedPath, fileData, "utf-8"); | ||
| } else { | ||
| await fs.writeFile(validatedPath, fileData); |
There was a problem hiding this comment.
Resolve the final file target before writing
For a repository containing an allowed source-file symlink (for example, link.ts pointing outside the repository), the directory check succeeds because only dirPath is resolved, but fs.writeFile(validatedPath, ...) follows the final symlink. Editing that file through this route can therefore overwrite an arbitrary external target; resolve and verify the final target, or reject symlinked files, immediately before writing.
Useful? React with 👍 / 👎.
| if (instance) { | ||
| await instance.close().catch(() => undefined); | ||
| } | ||
|
|
||
| instance = createCodeRag(runtimeConfig); | ||
| await instance.index({ docsPath: resolvedDocsPath }); |
There was a problem hiding this comment.
Isolate CodeRAG state by repository
The singleton is closed and replaced whenever any project is indexed. With two projects open in separate tabs, building project B replaces project A's index; a subsequent suggestion for A calls getCodeRag() and can attach B's retrieved source excerpts to the A request, including sending them to the configured model provider. Keep instances keyed by project/repository and select the matching one for each request.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
🟡 Changes recommended
One or more issues must be addressed before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
This PR expands the CodeFlow workspace with OpenCode, agent, MCP, versioning, persistence, and UI integrations. It also adds tests and generated package artifacts, but several security and runtime issues remain unresolved.
Changes:
- Adds workspace packages and generated versioning artifacts.
- Adds OpenCode, observability, approval, export, and MCP routes.
- Adds agent orchestration, validation, persistence, and UI scaffolding.
File summaries
| File | Description |
|---|---|
| tsconfig.json | Updated as part of this pull request. |
| src/types/monaco-workers.d.ts | Updated as part of this pull request. |
| src/lib/opencode/server.test.ts | Updated as part of this pull request. |
| src/lib/opencode/index.ts | Updated as part of this pull request. |
| src/lib/blueprint/test-fixtures/sample-repo/src/lib/auth.ts | Updated as part of this pull request. |
| src/lib/blueprint/store.test.ts | Updated as part of this pull request. |
| src/lib/blueprint/run-store.ts | Updated as part of this pull request. |
| src/lib/blueprint/repo.test.ts | Updated as part of this pull request. |
| src/lib/blueprint/observability.test.ts | Updated as part of this pull request. |
| src/lib/blueprint/execute.test.ts | Updated as part of this pull request. |
| src/components/ide-workbench.tsx | Updated as part of this pull request. |
| src/app/policy-canvas/page.tsx | Updated as part of this pull request. |
| src/app/loading.tsx | Updated as part of this pull request. |
| src/app/layout.tsx | Updated as part of this pull request. |
| src/app/api/opencode/stop/route.ts | Updated as part of this pull request. |
| src/app/api/opencode/status/route.ts | Updated as part of this pull request. |
| src/app/api/observability/latest/route.ts | Updated as part of this pull request. |
| src/app/api/observability/ingest/route.ts | Updated as part of this pull request. |
| src/app/api/export/mermaid/route.ts | Updated as part of this pull request. |
| src/app/api/approvals/approve/route.ts | Updated as part of this pull request. |
| pnpm-workspace.yaml | Updated as part of this pull request. |
| packages/codeflow-versioning/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-versioning/src/store/index.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/tools.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/tools.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/store/index.js | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/store/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/store/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/session.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/session.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/risk.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/risk.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/reasoning/index.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/reasoning/index.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/observability.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/observability.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/invoke.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/invoke.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/invoke.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/diff.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/diff.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/diff.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/diff.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/coderag/search.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/coderag/search.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/coderag/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/coderag/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/branch/index.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-versioning/dist/branch/index.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-store/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-store/test-fixtures/sample-blueprint.json | Updated as part of this pull request. |
| packages/codeflow-store/test-fixtures/minimal-blueprint.json | Updated as part of this pull request. |
| packages/codeflow-store/dist/shared/utils.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/shared/run-command.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/shared/file-tree.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/shared/file-tree.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/session/session.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/session/session.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/session/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/session.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/session.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/run/run.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/run/run.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/run/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/run/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/risk/risk.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/risk/risk.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/risk/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/reasoning/reasoning.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/reasoning/reasoning.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/reasoning/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/reasoning/brutal.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/reasoning/brutal.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/ring-buffer.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/ring-buffer.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/ring-buffer.js | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/ring-buffer.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/ring-buffer.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/observability.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/observability.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/config.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/config.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/config.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/observability/config.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/reasoning.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/reasoning.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/checkpoint.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/checkpoint/checkpoint.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/brutal.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/brutal.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/branch.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/branch/branch.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/dist/approval/approval.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-store/dist/approval/approval.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-store/.test-store-checkpoint/self-copy-project/file.txt | Updated as part of this pull request. |
| packages/codeflow-prd/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-prd/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-prd/src/invoke.ts | Updated as part of this pull request. |
| packages/codeflow-prd/src/index.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/prd.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/prd.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/prd.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/prd.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/invoke.js.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/invoke.js | Updated as part of this pull request. |
| packages/codeflow-prd/dist/invoke.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/invoke.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/index.js.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-prd/dist/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/build.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/build.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd/dist/build.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-prd/dist/build.d.ts | Updated as part of this pull request. |
| packages/codeflow-prd-test-npm/package.json | Updated as part of this pull request. |
| packages/codeflow-mcp/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-mcp/scripts/wrap-cli.mjs | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/tools/index.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/tools/index.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/tools/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/tools/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/invoke/index.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/invoke/index.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/index.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/index.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/bin/cli.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/bin/cli.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-mcp/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-mcp/.npmignore | Updated as part of this pull request. |
| packages/codeflow-execution/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-execution/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-execution/src/index.ts | Updated as part of this pull request. |
| packages/codeflow-execution/src/execute.ts | Updated as part of this pull request. |
| packages/codeflow-execution/e2e-demo/package.json | Updated as part of this pull request. |
| packages/codeflow-execution/dist/vcr.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/utils.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/utils.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/sandbox.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/sandbox.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/runtime-workspace.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/runtime-workspace.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/runtime-tests.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/runner.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/runner.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/plan.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/plan.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/mermaid.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/mermaid.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/internal/typescript-workspace.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/internal/run-command.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-execution/dist/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/execute.js | Updated as part of this pull request. |
| packages/codeflow-execution/dist/execute.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/execute.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/codegen.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/codegen.d.ts | Updated as part of this pull request. |
| packages/codeflow-execution/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-execution/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-evolution/tsconfig.build.json | Updated as part of this pull request. |
| packages/codeflow-evolution/test-fixtures/minimal-blueprint.json | Updated as part of this pull request. |
| packages/codeflow-evolution/src/ghost/index.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/src/ghost/ghost-nodes.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/openai.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/openai.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/ollama.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/ollama.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/nvidia.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/nvidia.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/index.js | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/anthropic.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/providers/anthropic.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/index.js.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/index.js.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/index.js | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.js.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.js | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/ghost/ghost-nodes.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/genetic.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/genetic.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/api/evolve/route.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-evolution/dist/api/evolve/route.d.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-dtwin/src/index.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/types.js | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/index.js.map | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/digital-twin.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/digital-twin.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/api/simulate/route.d.ts | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/api/route.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-dtwin/dist/api/route.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-canvas/tsconfig.build.json | Updated as part of this pull request. |
| packages/codeflow-canvas/src/store/index.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/src/components/index.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/src/components/ide-workbench.tsx | Updated as part of this pull request. |
| packages/codeflow-canvas/scripts/wrap-cli.mjs | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/store/index.js.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/store/index.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/store/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/store/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/types.js.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/types.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/traces.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/traces.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/index.js.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/index.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/edit.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/lib/browser/storage.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ts-language-service.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/policy-workbench.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/policy-workbench.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/opencode-settings.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/opencode-settings.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/monaco-setup.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/monaco-setup.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/index.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-workbench.js.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-workbench.js | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-workbench.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-workbench.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-layout.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/ide-layout.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/file-tree.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/file-tree.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/file-tabs.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/file-tabs.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/code-diff-editor.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/blueprint-workbench.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/components/blueprint-workbench.d.ts | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/bin/cli.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-canvas/dist/bin/cli.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/src/services/task-service.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/src/services/base-service.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/src/lib/auth.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/src/app/page.tsx | Updated as part of this pull request. |
| packages/codeflow-analysis/test-fixtures/sample-repo/src/app/api/tasks/route.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/src/index.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/smells.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/smells.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/smells.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/refactor.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/refactor.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/metrics.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/metrics.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/metrics.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/invoke.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/invoke.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/smells.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/refactor-heal.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/refactor-heal.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/refactor-detect.js | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/refactor-detect.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/refactor-detect.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/metrics.js | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/metrics.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/cycles.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/handlers/conflicts.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/cycles.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/cycles.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/conflicts.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/conflicts.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/conflicts.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/conflicts.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/bin/cli.js | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/refactor/heal/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/refactor/heal/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/refactor/detect/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/refactor/detect/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/conflicts/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/conflicts/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/smells/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/smells/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/metrics/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/metrics/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/cycles/route.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-analysis/dist/app/api/analysis/cycles/route.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/vitest.config.ts | Updated as part of this pull request. |
| packages/codeflow-agent/tsconfig.json | Updated as part of this pull request. |
| packages/codeflow-agent/src/plugins/loader.ts | Updated as part of this pull request. |
| packages/codeflow-agent/src/index.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/types/blueprint.js | Updated as part of this pull request. |
| packages/codeflow-agent/dist/types/blueprint.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/skills/registry.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/skills/loader.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/skills/loader.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/plugins/registry.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/plugins/loader.js | Updated as part of this pull request. |
| packages/codeflow-agent/dist/plugins/loader.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/plugins/loader.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/mcp/connector.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/index.js | Updated as part of this pull request. |
| packages/codeflow-agent/dist/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/cli/index.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/cli/index.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/test-generator.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/test-generator.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/scaffold-utils.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/scaffold-generator.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/scaffold-generator.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/refactor-suggester.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/refactor-suggester.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/multi-language-codegen.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/multi-language-codegen.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/index.js | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/doc-generator.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/doc-generator.test.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/doc-generator.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/ai/code-generator.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/types.js | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/task-queue.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/result-aggregator.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/result-aggregator.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/tester-prompt.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/tester-prompt.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/reviewer-prompt.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/reviewer-prompt.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/planner-prompt.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/planner-prompt.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/prompts/coder-prompt.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/blueprint.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/blueprint.d.ts | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/agent.test.d.ts.map | Updated as part of this pull request. |
| packages/codeflow-agent/dist/agent/agent.test.d.ts | Updated as part of this pull request. |
| next.config.ts | Updated as part of this pull request. |
| eslint.config.mjs | Updated as part of this pull request. |
| codeflow-core/vitest.config.ts | Updated as part of this pull request. |
| codeflow-core/tsconfig.json | Updated as part of this pull request. |
| codeflow-core/test-fixtures/sample-ts/base-service.ts | Updated as part of this pull request. |
| codeflow-core/test-fixtures/sample-js/service.js | Updated as part of this pull request. |
| codeflow-core/test-fixtures/sample-c/main.c | Updated as part of this pull request. |
| codeflow-core/src/store-paths.ts | Updated as part of this pull request. |
| codeflow-core/src/index.ts | Updated as part of this pull request. |
| codeflow-core/src/analyzer/index.ts | Updated as part of this pull request. |
| codeflow-core/dist/store-paths.js | Updated as part of this pull request. |
| codeflow-core/dist/store-paths.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/storage/store-paths.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/internal/prd.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/internal/plan.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/internal/codegen.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/index.js | Updated as part of this pull request. |
| codeflow-core/dist/index.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/export/index.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/conflicts/index.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/tree-sitter-queries.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/tree-sitter-loader.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/test-hook-check.js | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/test-hook-check.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/repo.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/repo-multi.test.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/index.js | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/index.d.ts | Updated as part of this pull request. |
| codeflow-core/dist/analyzer/build.d.ts | Updated as part of this pull request. |
| claude-code/verification/current-failures.json | Updated as part of this pull request. |
| claude-code/verification/attempt-count.txt | Updated as part of this pull request. |
| claude-code/reasoning/verification-summary.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-status.txt | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775122124.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775106145.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775106088.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775106063.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775106029.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775105963.md | Updated as part of this pull request. |
| claude-code/reasoning/verification-1775099076.md | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775122417.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775106463.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775106448.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775106433.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775106389.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775106169.json | Updated as part of this pull request. |
| claude-code/reasoning/task-results-1775099215.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775121879.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775106141.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775106086.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775106062.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775106025.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775105962.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775100635.json | Updated as part of this pull request. |
| claude-code/reasoning/task-context-1775099033.json | Updated as part of this pull request. |
| claude-code/reasoning/subagent-results-summary.md | Updated as part of this pull request. |
| claude-code/reasoning/subagent-assignments.json | Updated as part of this pull request. |
| claude-code/reasoning/subagent-aggregation-summary.md | Updated as part of this pull request. |
| claude-code/reasoning/quality-gates-.json | Updated as part of this pull request. |
| claude-code/reasoning/prompt-compliance.txt | Updated as part of this pull request. |
| claude-code/reasoning/modular-tasks.json | Updated as part of this pull request. |
| claude-code/reasoning/doc-result.txt | Updated as part of this pull request. |
| .serena/.gitignore | Updated as part of this pull request. |
| .qwen/settings.json | Updated as part of this pull request. |
| .gitignore | Updated as part of this pull request. |
| .env | Updated as part of this pull request. |
Review details
- Files reviewed: 94/1349 changed files
- Comments generated: 40
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| GEMINI_API_KEY=AIzaSyCi2AwIPaqvxI8c_reuzeSVMkUSP_3d8tg | ||
| NVIDIA_API_KEY=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 |
| "./agent": { "types": "./dist/agent/index.d.ts", "default": "./dist/agent/index.js" }, | ||
| "./skills": { "types": "./dist/skills/index.d.ts", "default": "./dist/skills/index.js" }, | ||
| "./mcp": { "types": "./dist/mcp/index.d.ts", "default": "./dist/mcp/index.js" }, |
| // Validate it's a proper BlueprintGraph | ||
| if (!parsed.projectName || !Array.isArray(parsed.nodes) || !Array.isArray(parsed.edges)) { | ||
| throw new Error(`Invalid BlueprintGraph: missing projectName, nodes, or edges`); | ||
| } | ||
|
|
||
| return parsed as BlueprintGraph; |
| const result = await ctx.spawner.spawnAgent(task, { | ||
| systemPrompt: `You are executing task: ${task.name}.${mcpContext}`, | ||
| userPrompt: task.description, | ||
| model: task.model |
| // Parse and normalize | ||
| const jsonString = extractJsonObjectString(content); | ||
| let parsed: Record<string, unknown>; | ||
| try { | ||
| parsed = JSON.parse(jsonString) as Record<string, unknown>; | ||
| } catch { | ||
| throw new Error(`Failed to parse blueprint JSON: ${jsonString.substring(0, 200)}`); | ||
| } | ||
|
|
||
| return normalizeAiBlueprint(parsed, options); |
| } | ||
|
|
||
| // In a real implementation, this would load the plugin's code and initialize it | ||
| return { id: pluginId, success: true }; |
| { | ||
| id: 'superpowers:subagent-driven-development', | ||
| name: 'Subagent Driven Development', | ||
| path: '/Users/abhinavnehra/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.7/skills/subagent-driven-development/SKILL.md', |
| import type { OpencodeProvider } from "@/lib/opencode/types"; | ||
|
|
||
| const restartRequestSchema = z.object({ | ||
| provider: z.string(), |
| import type { OpencodeProvider } from "@/lib/opencode/types"; | ||
|
|
||
| const startRequestSchema = z.object({ | ||
| provider: z.string(), |
| import type { RunRecord } from "@/lib/blueprint/schema"; | ||
| import { runPath } from "@/lib/blueprint/store-paths"; | ||
|
|
||
| const ensureDir = async (dirPath: string): Promise<void> => { | ||
| await fs.mkdir(dirPath, { recursive: true }); | ||
| }; | ||
|
|
||
| export const createRunId = (): string => crypto.randomUUID(); | ||
|
|
||
| export const saveRunRecord = async (runRecord: RunRecord): Promise<void> => { | ||
| const filePath = runPath(runRecord.id); | ||
| await ensureDir(path.dirname(filePath)); | ||
| await fs.writeFile(filePath, `${JSON.stringify(runRecord, null, 2)}\n`, "utf8"); | ||
| }; |
Original task: task_1780281408931_wl61hi99e
PR branch: claude-lane/task_1780281408931_wl61hi99e-20260602145932
CI failure: merge-conflict
Strategy: rebase
Hint: PR has merge conflicts with main. Run: git fetch origin && git rebase origin/main && git push --force-with-lease. The watcher's open_pr_for_task will detect the existing PR.
Failure log (last 3000 chars)
Workflow
git log origin/main..claude-lane/task_1780281408931_wl61hi99e-20260602145932)claude-lane/task_1780281408931_wl61hi99e-20260602145932) — the worktree is already set up by the dispatcherfix(ci): <one-line summary>(single line)Automated by DevPulse dispatcher.