Prepare first release workflow and docs deploy#160
Conversation
… update README and PRD command structure
…-144120-status-fields Stop using labels for workflow status
… Update issue creation and editing functions to accept `prdMetadata` for complexity and blast radius. Remove reliance on labels for these attributes, aligning with native GitHub project fields. Adjust related documentation and tests accordingly.
Continuation retries (test/verification re-runs) now use a fixed 1s
delay via computeRetryDelayMs({ reason: 'continuation' }). Planning
failure retries keep exponential backoff. All retry paths cancel any
existing timer before scheduling a new one to prevent timer leaks.
Polls running pipelines every 30s, fetches GitHub issue state via gh CLI. Cancels pipeline if issue closed or tagged with terminal label (wontfix, duplicate, invalid). Non-fatal on API errors — logs and retries next tick. Wired into desktop app with cleanup on close.
Defines FeatureQaState and FeatureQaResult types with Zod schemas. Adds extractFeatureQaState() parser that reads a ## QA State section from PRD body, validates the fenced JSON block, and surfaces missing/invalid state via buildQaStateGapMessage(). Phase 1 of 3: contract + parser + gap surfacing. Phases 2-3 will wire into verification runs and QA result recording.
WORKFLOW.md front matter now accepts `agent.max_concurrent_agents_by_state` (map of phase → positive int). Dispatcher enforces both global and per-state caps before dispatching. Keys normalized to lowercase; invalid values silently dropped.
When verify retries exhaust, the pipeline now checks if turnCount < maxTurns before failing. If a turn is available, it resets retries, increments turnCount, emits turn_started/turn_completed events, and re-enters planning with a continuation prompt. Default maxTurns: 20 (configurable via WORKFLOW.md agent.max_turns). Also adds continuation_prompt template support.
- Replace directory picker flows with a browsable add-project explorer - Add add-project start directory setting and batch plan status lookup - Virtualize large terminal transcripts for better scroll performance
migrateV45 adds the agent_conversations table for structured logging of every prompt/response exchanged between pipeline phases and providers. Includes FK cascade on thread deletion, indexes on (thread_id, created_at) and (thread_id, phase, round), conversation_id FK on pipeline_step_log, query module with insert/list/count/filter, IPC channel type, and 12 tests. Runtime wrapper + UI tab follow separately.
- Add speech recognition support to the create issue modal - Replace shared icon exports with direct lucide-react imports - Update tests for voice input behavior
migrateV46 adds feature_qa_results table with thread FK cascade. FeatureQaResultQueries supports insert, listByThread, listByFeature, and latestByFeature. IPC channels defined for renderer consumption. 12 new tests (8 query + 4 schema).
Log prompt/response pairs inside runProviderPhase (single choke point for all 5 pipeline phases). Writes are try/catch-guarded so failures never block the pipeline. Links conversation_id to pipeline_step_log. Adds ConversationsTab with phase filters, speaker/model badges, token/cost metadata, copy-as-markdown, and collapsible long turns. Tab conditionally appears when a thread is active. Closes #90
…pdates Replace all Loader2 spinners and "Loading..." text with layout-matching Skeleton components across ActivityView, InboxView, SkillsView, PlanHistoryTab, and CostsTab. Add Suspense fallback skeletons for lazy view transitions in App.tsx. Restructure CostsView from single data gate to per-section progressive loading. Add optimistic cancel in ThreadPanel, parallel git branches query with 30s staleTime, and dashboard:get-stats staleTime fix in ProjectSidebar. Parallelize telemetry-status fetch.
…generation script - Updated layout metadata to include Open Graph and Twitter card details for better social sharing. - Modified install command for desktop to correct the installation path. - Improved UI for the InstallCommand component with better styling and layout. - Introduced a new script to generate the Open Graph image dynamically.
- Update hero, footer, and mockup styling on the web site - Add new Open Graph image and README launch screenshot - Bump desktop and pipeline dependencies
- Bump versions for several dependencies including `@tanstack/react-query`, `lucide-react`, and `electron`. - Add new dependencies `@resvg/resvg-js` and `satori` for improved rendering and styling. - Update global styles to include smooth scrolling and hide scrollbars in specific components. - Enhance the Hero component with new CTAs and improved layout. - Add new social media links in the Footer component. - Introduce a new Open Graph image and SVG screenshot for better visual representation.
Extract QA contract from PRD during planning, inject into execute + verify prompt materials, parse <qa_results> from verification output, persist flow-level results to feature_qa_results table, and render a QA Results section in PipelineTab with per-flow pass/fail badges. Wiring: FeatureQaResultQueries added to Queries, PipelineDeps, desktop index, and CLI context. IPC handlers for list-by-thread + latest-by-feature. Pipeline: featureQaState on PipelineContext, qa_contract PromptMaterialKind with execute+verify phase policies, QA flow evaluation prompt appended to verification, extractQaFlowResults parser with Zod validation. Closes #110
Header px-3 → px-4 to match transcript body padding. Floating "Scroll to bottom" pill button appears when user scrolls away from the latest output — smooth-scrolls back and re-engages auto-stick.
- Upgrade `@shipshitdev/ui` to 0.7.0 across desktop, web, and docs - Move `LoadingButtonContent` imports to the shared common entrypoint - Add compare URL helper and tighten a few modal and settings layouts
- Link automation runs to the project Git tab and GitHub compare view - Preserve Kanban focus state when the board mounts
- Add retry button for failed inbox notifications - Cover GitHub compare URL parsing cases - Update Kanban keyboard tests for focus behavior
- Retry verification with focused test-fix context - Surface test failure summaries in notifications - Add a UI action to create a draft PR from a completed run
- Modify CI workflow to run tests in a CI-specific mode for improved performance. - Update coverage command to utilize sharded coverage reporting and set minimum coverage threshold to 95%. - Add new test cases and enhance existing ones for better coverage and reliability. - Update .gitignore to exclude vitest reports from apps and packages directories. - Refactor GitHub handler tests to improve clarity and structure.
Infrastructure refactor: add PipelineRunQueries and PipelineWakeRequestQueries to context initialization, improve error handling via markInterruptedForThread, and bump dependencies (@types/node, @tanstack/react-query, vitest).
Bulk --ours conflict resolution in prior commit dropped 'runs' tab from IssueDetailTab union while leaving stash references in IssueDetailTabs.tsx. Restoring stash intent to fix typecheck.
- New migrateV59 adds run_id FK on terminal_events, prompt_telemetry,
agent_conversations, pipeline_phase_log, pipeline_step_log plus
pipeline_started_at on github_issue_cache.
- Pipeline execution-phases now checks the issue execution lock before
emitPhase('executing'); runtime claimExecutionIfNeeded early-returns
when the lock is held by another run.
- IssueCardParts moves Pause into the row menu and simplifies the
Copy branch button.
- Tests updated: CLI context mock exports PipelineRunQueries, desktop
index mock adds PipelineRunQueries/PipelineWakeRequestQueries plus
markInterruptedForThread on QueryMock, IssueDetail tab order
includes 'Runs'.
* fix(cli): handle fast terminal process exits * fix(ci): use react doctor inspect action
grepTool agent test spawns rg directly; ubuntu-latest doesn't include ripgrep by default, causing 3 grepTool tests to fail with ENOENT.
Packaged Electron on macOS/Linux inherits minimal PATH from Finder/Dock, breaking git/bun/codex/claude resolution in child processes. fixMainProcessPath runs the user's login shell with -ilc and prepends the resulting PATH onto process.env.PATH so all subsequent spawnSync/execFileSync calls inherit the corrected environment. No-op on Windows and in dev.
Schema permits decision='reject' but the planning-phases handler only branched on approve/request_changes, so a reject fell through to the 'unexpected decision' error. Reject now halts at the approval gate (never auto-executes, never loops revisions), surfacing the rejection to the user with reviewDecision='reject' + reason 'reviewRejected'.
Automation ticks synthesize a stub plan with empty files/steps.files arrays. The executor skill instructs 'touch every file listed in the plan's files array', causing the executor to no-op on automation runs. - Add isAutomationRun flag on PipelineContext (set in startFromAutomation) - buildExecutionPrompt accepts isAutomationRun option - When set, append an automation_override block that tells the executor to treat the prompt as source of truth and discover files itself. - Update verification-prompt snapshot drift (unrelated stale snapshot)
When a repo-owned setup contract invokes bun/pnpm/yarn install --frozen-lockfile (or npm ci) and the install fails because of lockfile drift, resolution mismatch, or min-release-age violations, the whole pipeline previously hard-failed. Repo lockfiles drift quickly and blocking the pipeline on every drift is the wrong default. buildFrozenInstallFallback inspects the failure output, and when it matches a known drift signature, rebuilds the command without the freeze flag and retries once. Unrelated failures (EACCES, ENOENT) still propagate as before.
AppSettings.shellCommandTimeoutMs (default 10m, range 30s-2h) controls the repo setup command timeout. RepoSetupContract.shellCommandTimeoutMs overrides per project for slow installs.
- Updated terminal command tests to include a new test for successful codex terminal summary. - Introduced terminal summary commands to print the latest saved terminal summary and handle GitHub comments. - Adjusted coverage settings to lower the default minimum coverage threshold from 95 to 85. - Modified the maximum workers setting for coverage shards from 2 to 1 for improved performance.
|
Important Review skippedToo many files! This PR contains 300 files, which is 150 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (300)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
React DoctorScore: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad700c1caa
ℹ️ 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".
What changed
Why
The first production release should run tests, linting, typecheck, docs export, web build, CLI build, and desktop code build before publishing. Docs export was blocked by Nextra theme schema validation, and the Vercel workflow was using the wrong cwd for the linked project.
Validation