Skip to content

Fix/improve restart recovery - #780

Closed
gsxdsm wants to merge 1 commit into
AutoMaker-Org:v0.15.0rcfrom
gsxdsm:fix/improve-restart-recovery
Closed

Fix/improve restart recovery#780
gsxdsm wants to merge 1 commit into
AutoMaker-Org:v0.15.0rcfrom
gsxdsm:fix/improve-restart-recovery

Conversation

@gsxdsm

@gsxdsm gsxdsm commented Feb 17, 2026

Copy link
Copy Markdown
Collaborator

Improve recovery of tasks after a server restart

Summary by CodeRabbit

  • New Features

    • Added Playwright for automated testing in Docker environment (pre-installed, zero setup required).
    • Added comprehensive planning and architecture documentation.
  • Bug Fixes & Improvements

    • Upgraded default Claude model to Opus 4.6 with enhanced reasoning capabilities.
    • Improved feature execution workflow and auto-mode loop coordination.
    • Enhanced error handling and recovery mechanisms for interrupted features.
    • Optimized Docker environment PATH configuration for tool availability.
  • Documentation

    • Added Playwright setup guide in Docker.
    • Expanded coding conventions and architecture guides.

@coderabbitai

coderabbitai Bot commented Feb 17, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

This pull request introduces a major architectural refactoring of the auto-mode service layer, including new planning documentation, updated Claude model versions, Docker enhancements for Playwright support, and comprehensive service decomposition replacing the monolithic AutoModeService with a facade pattern, global service, and specialized orchestrators for execution, pipelines, and approvals.

Changes

Cohort / File(s) Summary
Planning & Documentation
.gitignore, .planning/PROJECT.md, .planning/codebase/ARCHITECTURE.md, .planning/codebase/CONCERNS.md, .planning/codebase/CONVENTIONS.md, .planning/codebase/INTEGRATIONS.md, .planning/codebase/STACK.md, .planning/codebase/STRUCTURE.md, .planning/codebase/TESTING.md
Added comprehensive project planning and architecture documentation, including code structure, conventions, concerns analysis, technology stack, integrations, and testing patterns. Updated .gitignore to ignore planning directory artifacts.
Model & Provider Updates
CLAUDE.md, apps/server/src/providers/claude-provider.ts, apps/server/src/providers/codex-models.ts, apps/server/src/providers/provider-factory.ts, apps/server/tests/unit/lib/model-resolver.test.ts, apps/server/tests/unit/providers/...
Updated Claude model from opus-4-5 to opus-4-6 with increased maxOutputTokens (16000→128000) and maxTurns (20→100). Added adaptive thinking support. Introduced new GPT-5.3-Codex model. Updated all related model tests.
Docker & Infrastructure
Dockerfile, README.md, apps/server/package.json
Added Playwright Chromium pre-installation for automated testing. Added PATH configuration for automaker user. Updated README with Playwright usage documentation and persistent browser volume guidance. Updated dependencies: @anthropic-ai/claude-agent-sdk and @openai/codex-sdk versions, added @playwright/test devDependency.
Auto-Mode Service Core Refactoring
apps/server/src/index.ts, apps/server/src/services/auto-mode/index.ts, apps/server/src/services/auto-mode/compat.ts, apps/server/src/services/auto-mode/facade.ts, apps/server/src/services/auto-mode/global-service.ts, apps/server/src/services/auto-mode/types.ts
Introduced new auto-mode service architecture: GlobalAutoModeService for cross-project operations, AutoModeServiceFacade for per-project operations, AutoModeServiceCompat as compatibility shim for routes. Added reconcileFeatureStates on startup. Replaced direct AutoModeService instantiation with compat layer.
Execution & Agent Services
apps/server/src/services/agent-executor.ts, apps/server/src/services/agent-executor-types.ts, apps/server/src/services/execution-service.ts, apps/server/src/services/execution-types.ts
Introduced AgentExecutor for streaming-based agent orchestration with spec-driven planning and approval workflows. Added ExecutionService coordinating feature lifecycle with pipeline execution, context loading, and state management. Defines comprehensive callback types for dependency injection.
Orchestration & Coordination Services
apps/server/src/services/auto-loop-coordinator.ts, apps/server/src/services/pipeline-orchestrator.ts, apps/server/src/services/pipeline-types.ts, apps/server/src/services/plan-approval-service.ts
Introduced AutoLoopCoordinator for per-project/worktree auto-loop lifecycle management with concurrency control. Added PipelineOrchestrator for feature pipeline execution with test retry logic and merge handling. Introduced PlanApprovalService for plan approval workflows with timeout and recovery paths.
State & Utility Services
apps/server/src/services/feature-state-manager.ts, apps/server/src/services/recovery-service.ts, apps/server/src/services/concurrency-manager.ts, apps/server/src/services/worktree-resolver.ts, apps/server/src/services/typed-event-bus.ts, apps/server/src/services/merge-service.ts, apps/server/src/services/spec-parser.ts
Added FeatureStateManager for persistence-first feature status lifecycle with event emission. Introduced RecoveryService for crash recovery and interrupted feature resumption. Added ConcurrencyManager for lease-based feature execution tracking. Introduced WorktreeResolver for git worktree discovery. Added TypedEventBus for type-safe auto-mode events. Implemented MergeService for direct git merge operations. Added SpecParser utilities for task and spec extraction.
Provider & Usage Services
apps/server/src/services/claude-usage-service.ts, apps/server/src/services/agent-service.ts, apps/server/src/services/ideation-service.ts
Enhanced ClaudeUsageService with cursor movement sequence handling and improved output parsing. Updated agent-service and ideation-service to use provider's actual model ID instead of resolved Claude model to avoid API errors with custom providers.
SDK & Route Configuration
apps/server/src/lib/sdk-options.ts, apps/server/src/routes/enhance-prompt/..., apps/server/src/routes/github/routes/validate-issue.ts
Added adaptive thinking level handling in SDK options with conditional maxThinkingTokens. Updated model resolution logic to preserve provider-specific models instead of resolving to Claude equivalents.
Auto-Mode Routes
apps/server/src/routes/auto-mode/...
Updated all auto-mode route handlers (start, stop, status, run-feature, resume-feature, resume-interrupted, verify-feature, commit-feature, analyze-project, approve-plan, follow-up-feature, stop-feature, context-exists) to use AutoModeServiceCompat. Added new reconcile route for feature state reconciliation. Updated projectPath validation in approve-plan. Added worktree capacity checks in run-feature.
Project & Feature Routes
apps/server/src/routes/features/routes/list.ts, apps/server/src/routes/projects/..., apps/server/src/routes/running-agents/..., apps/server/src/routes/setup/routes/verify-claude-auth.ts
Updated routes to use AutoModeServiceCompat. Added authType field to Claude auth verification response. Updated projectPath validation in list handler. Enhanced orphan detection logging. Updated overview handler with new status typing and types imports.
Service Integration Tests Removed
apps/server/tests/integration/services/auto-mode-service.integration.test.ts
Removed comprehensive integration test suite for legacy AutoModeService (694 lines), including worktree operations, feature execution, auto-loop, and planning scenarios. Tests replaced by unit tests for new service components.
Planning Mode Tests Removed
apps/server/tests/unit/services/auto-mode-service-planning.test.ts, apps/server/tests/unit/services/auto-mode-service.test.ts
Removed planning mode unit tests (346 lines) and main AutoModeService unit tests (920 lines). Replaced by comprehensive unit tests for new service layers.
New Service Unit Tests
apps/server/tests/unit/services/agent-executor.test.ts, apps/server/tests/unit/services/auto-loop-coordinator.test.ts, apps/server/tests/unit/services/concurrency-manager.test.ts, apps/server/tests/unit/services/execution-service.test.ts, apps/server/tests/unit/services/feature-state-manager.test.ts, apps/server/tests/unit/services/plan-approval-service.test.ts, apps/server/tests/unit/services/pipeline-orchestrator.test.ts, apps/server/tests/unit/services/recovery-service.test.ts, apps/server/tests/unit/services/spec-parser.test.ts, apps/server/tests/unit/services/typed-event-bus.test.ts, apps/server/tests/unit/services/worktree-resolver.test.ts
Added comprehensive unit test suites for all new service components with extensive mock-based coverage of control flow, event emissions, state management, error handling, and integration scenarios.
Provider & Utility Tests
apps/server/tests/unit/services/claude-usage-service.test.ts, apps/server/tests/unit/lib/sdk-options.test.ts, apps/server/tests/unit/providers/claude-provider.test.ts, apps/server/tests/unit/providers/provider-factory.test.ts
Added tests for adaptive thinking support in SDK options. Updated Claude provider tests to reflect model version and maxTurns changes. Added cursor movement handling tests for usage service. Updated all model references from opus-4-5 to opus-4-6.
UI Updates
apps/ui/src/components/dialogs/sandbox-risk-dialog.tsx, apps/ui/src/components/ui/task-progress-panel.tsx, apps/ui/eslint.config.mjs, apps/ui/docs/AGENT_ARCHITECTURE.md
Updated task progress panel to use per-task status from auto_mode_task_status events instead of heuristic completion tracking. Added sandbox troubleshooting documentation. Updated agent architecture docs to reflect opus-4-6 model. Added queueMicrotask to ESLint globals.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

Suggested labels

Refactor, Tests, Infrastructure, Features, Services


🐰 A grand refactoring unfolds with care,
New services and facades everywhere!
From monolith to modular grace,
Auto-mode finds its perfect place.
With tests and docs in harmony,
The codebase now flows, wild and free! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 35.48% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Fix/improve restart recovery' clearly summarizes the main objective of the PR, which is to improve recovery of tasks after a server restart by introducing recovery services and refactoring auto-mode architecture.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @gsxdsm, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant architectural overhaul of the AutoModeService, breaking down a monolithic component into a suite of specialized services. This refactoring aims to improve maintainability, debuggability, and overall system resilience, particularly in handling task recovery after server restarts. Additionally, it enhances the Docker development environment by pre-installing Playwright Chromium for AI agent testing and updates key AI SDKs to their latest versions.

Highlights

  • AutoModeService Refactoring: The core AutoModeService has been refactored into a new architecture comprising several smaller, focused services (AgentExecutor, AutoLoopCoordinator, ConcurrencyManager, ExecutionService, FeatureStateManager, PlanApprovalService, RecoveryService, SpecParser, TypedEventBus, WorktreeResolver). A compatibility layer (AutoModeServiceCompat) is introduced to maintain existing API routes during the transition.
  • Improved Restart Recovery: The system now includes robust mechanisms for recovering tasks after a server restart. Features stuck in transient states (e.g., 'in_progress', 'pipeline_*') are automatically reconciled to resting states ('ready' or 'backlog') upon startup, ensuring continuity and preventing stale UI states.
  • Enhanced Claude Authentication Detection: The server's startup process includes more detailed logging and detection for Claude authentication methods, including API keys and CLI-based OAuth tokens, providing clearer feedback on credential status.
  • Docker Image with Playwright Chromium: The Docker image now pre-installs Playwright Chromium, enabling AI agents to perform verification tests in automated testing mode out-of-the-box without additional setup.
  • Updated SDKs and Model Aliases: The Claude Agent SDK has been updated to version 0.2.32 and the OpenAI Codex SDK to 0.98.0. Claude Opus model alias has been updated to claude-opus-4-6 to reflect adaptive thinking capabilities.
  • New Codebase Documentation: A comprehensive set of planning and codebase documentation has been added under the .planning/codebase directory, detailing architecture, concerns, conventions, integrations, stack, structure, and testing patterns.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .gitignore
    • Added new entries for local-only planning documents and generated files within the .planning directory.
  • .planning/PROJECT.md
    • Added a new project planning document outlining the comprehensive refactoring of AutoModeService.
  • .planning/codebase/ARCHITECTURE.md
    • Added a new document detailing the overall system architecture, pattern overview, layers, and data flow.
  • .planning/codebase/CONCERNS.md
    • Added a new document outlining codebase concerns including technical debt, known bugs, security considerations, performance bottlenecks, fragile areas, scaling limits, missing features, and test coverage gaps.
  • .planning/codebase/CONVENTIONS.md
    • Added a new document describing coding conventions, naming patterns, code style, import organization, error handling, logging, comments, function design, module design, and TypeScript-specific guidelines.
  • .planning/codebase/INTEGRATIONS.md
    • Added a new document detailing external integrations with AI/LLM providers, data storage, authentication, monitoring, CI/CD, environment configuration, webhooks, credential management, and third-party services.
  • .planning/codebase/STACK.md
    • Added a new document outlining the technology stack, including languages, runtime, frameworks, UI components, data validation, utilities, key dependencies, configuration, and platform requirements.
  • .planning/codebase/STRUCTURE.md
    • Added a new document describing the codebase structure, directory layout, purposes, key file locations, naming conventions, and guidelines for adding new code.
  • .planning/codebase/TESTING.md
    • Added a new document detailing testing patterns, framework, file organization, structure, mocking, fixtures, coverage, test types, common patterns, and best practices.
  • CLAUDE.md
    • Updated Claude Opus model alias from claude-opus-4-5-20251101 to claude-opus-4-6.
  • Dockerfile
    • Added installation of Playwright Chromium browser for AI agent verification tests.
    • Ensured opencode --version command is run for checking OpenCode CLI installation.
  • README.md
    • Updated documentation to reflect the inclusion of Playwright Chromium in the Docker image and provided instructions for persisting browsers and manual updates.
  • apps/server/package.json
    • Updated @anthropic-ai/claude-agent-sdk to 0.2.32.
    • Updated @openai/codex-sdk to 0.98.0.
    • Added @playwright/test as a dev dependency.
  • apps/server/src/index.ts
    • Updated AutoModeService import to AutoModeServiceCompat.
    • Implemented feature state reconciliation on server startup to reset transient feature states.
    • Enhanced Claude authentication detection with more detailed logging of environment variables and CLI auth indicators.
  • apps/server/src/lib/sdk-options.ts
    • Modified buildThinkingOptions to support adaptive thinking for Claude Opus 4.6 by omitting maxThinkingTokens.
  • apps/server/src/providers/claude-provider.ts
    • Increased default maxTurns for Claude SDK execution from 20 to 100.
    • Updated logic for maxThinkingTokens to support adaptive thinking for Opus 4.6.
    • Updated Claude Opus model ID to claude-opus-4-6 and increased its maxOutputTokens to 128000.
  • apps/server/src/providers/codex-models.ts
    • Added GPT-5.3-Codex as the latest frontier agentic coding model.
    • Updated descriptions for GPT-5.2-Codex and GPT-5.1-Codex-Mini.
    • Updated GPT-5.2 description to reflect improvements across knowledge, reasoning, and coding.
  • apps/server/src/providers/provider-factory.ts
    • Updated JSDoc example for Claude Opus model ID to claude-opus-4-6.
  • apps/server/src/routes/auto-mode/index.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Added a new POST route /reconcile for on-demand feature state reconciliation.
  • apps/server/src/routes/auto-mode/routes/analyze-project.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/approve-plan.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Added validation for projectPath in the request body.
    • Modified resolvePlanApproval call signature to pass projectPath as the first argument.
  • apps/server/src/routes/auto-mode/routes/commit-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/context-exists.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/follow-up-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Removed the .finally() block from the followUpFeature call, as resource release is now handled by the new architecture.
  • apps/server/src/routes/auto-mode/routes/reconcile.ts
    • Added a new route handler to reconcile feature states for a given project.
  • apps/server/src/routes/auto-mode/routes/resume-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/resume-interrupted.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/run-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Removed the .finally() block from the executeFeature call, as resource release is now handled by the new architecture.
  • apps/server/src/routes/auto-mode/routes/start.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/status.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Made getStatusForProject an async call.
  • apps/server/src/routes/auto-mode/routes/stop-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/stop.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/auto-mode/routes/verify-feature.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/enhance-prompt/routes/enhance.ts
    • Modified model resolution logic to correctly pass custom provider model IDs to the API, preventing 'model not found' errors.
  • apps/server/src/routes/features/index.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/features/routes/list.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
    • Added error handling for orphan detection to prevent unhandled promise rejections.
  • apps/server/src/routes/github/routes/validate-issue.ts
    • Modified model resolution logic to correctly pass custom provider model IDs to the API, preventing 'model not found' errors.
  • apps/server/src/routes/projects/index.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/projects/routes/overview.ts
    • Updated AutoModeService type to AutoModeServiceCompat and related types (RunningAgentInfo, ProjectAutoModeStatus).
  • apps/server/src/routes/running-agents/index.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/running-agents/routes/index.ts
    • Updated AutoModeService type to AutoModeServiceCompat.
  • apps/server/src/routes/setup/routes/verify-claude-auth.ts
    • Added import for getClaudeAuthIndicators.
    • Implemented logic to determine the specific Claude authentication type (OAuth, API key, or generic CLI) for success messages.
  • apps/server/src/services/agent-executor-types.ts
    • Added a new file defining interfaces for AgentExecutionOptions, AgentExecutionResult, and callback function types for agent execution.
  • apps/server/src/services/agent-executor.ts
    • Added a new file implementing the core agent execution engine, responsible for streaming model responses, handling planning modes, task execution loops, and plan approval workflows.
  • apps/server/src/services/agent-service.ts
    • Modified model resolution logic to correctly pass custom provider model IDs to the API, preventing 'model not found' errors while still using resolved Claude models for SDK configuration.
  • apps/server/src/services/auto-loop-coordinator.ts
    • Added a new file implementing AutoLoopCoordinator, which manages the lifecycle of auto-mode loops for projects and worktrees, including concurrency, failure tracking, and idle detection.
  • apps/server/src/services/auto-mode/compat.ts
    • Added a new file implementing AutoModeServiceCompat, a compatibility shim that wraps the new GlobalAutoModeService and AutoModeServiceFacade to provide the old AutoModeService interface to existing routes.
  • apps/server/src/services/auto-mode/facade.ts
    • Added a new file implementing AutoModeServiceFacade, which provides a clean, project-scoped interface for auto-mode functionality by delegating to underlying specialized services.
  • apps/server/src/services/auto-mode/global-service.ts
    • Added a new file implementing GlobalAutoModeService, which handles global auto-mode operations such as overall status, active projects/worktrees, and marking all running features as interrupted during graceful shutdown.
  • apps/server/src/services/auto-mode/index.ts
    • Added a new entry point file for the refactored auto-mode functionality, exporting GlobalAutoModeService, AutoModeServiceFacade, AutoModeServiceCompat, and related types.
  • apps/server/src/services/auto-mode/types.ts
    • Added a new file defining interfaces and types specific to the AutoModeServiceFacade and its underlying services, including FacadeOptions, SharedServices, AutoModeStatus, ProjectAutoModeStatus, WorktreeCapacityInfo, RunningAgentInfo, OrphanedFeatureInfo, and FacadeError.
  • apps/server/src/services/claude-usage-service.ts
    • Improved parsing of Claude CLI usage output by correctly handling ANSI cursor movement codes (ESC[nC) to preserve word boundaries and ensure accurate text extraction.
    • Expanded trust prompt detection to include additional variants like 'Quick safety check' and 'Yes, I trust this folder'.
  • apps/server/src/services/concurrency-manager.ts
    • Added a new file implementing ConcurrencyManager, which tracks running feature executions using a lease-based reference counting system to support nested calls and manage concurrency across projects and worktrees.
  • apps/server/src/services/execution-service.ts
    • Added a new file implementing ExecutionService, which coordinates the feature execution lifecycle, including prompt building, agent invocation, pipeline execution, task retry logic, and status updates.
  • apps/server/src/services/execution-types.ts
    • Added a new file defining callback types for ExecutionService and related services, facilitating dependency injection and decoupling.
  • apps/server/src/services/feature-state-manager.ts
    • Added a new file implementing FeatureStateManager, which manages feature status updates with robust disk persistence, backup recovery, event emission, and logic for resetting stuck features and finalizing tasks.
  • apps/server/src/services/ideation-service.ts
    • Modified model resolution logic to correctly pass custom provider model IDs to the API, preventing 'model not found' errors.
  • apps/server/src/services/merge-service.ts
    • Added a new file implementing performMerge, a utility function for direct git merge operations, including branch validation, conflict detection, and optional worktree/branch deletion.
  • apps/server/src/services/pipeline-orchestrator.ts
    • Added a new file implementing PipelineOrchestrator, which coordinates the execution of pipeline steps, handles test retries with agent fixes, and manages merge operations.
  • apps/server/src/services/pipeline-types.ts
    • Added a new file defining interfaces and types for PipelineOrchestrator, including PipelineContext, PipelineStatusInfo, StepResult, MergeResult, and various callback function types.
  • apps/server/src/services/plan-approval-service.ts
    • Added a new file implementing PlanApprovalService, which manages the plan approval workflow, including handling timeouts, resolving approvals, and supporting recovery after server restarts.
  • apps/server/src/services/recovery-service.ts
    • Added a new file implementing RecoveryService, which handles crash recovery by saving and loading execution states, detecting existing context, and resuming interrupted features (both pipeline and non-pipeline).
  • apps/server/src/services/spec-parser.ts
    • Added a new file containing pure functions for parsing spec content, extracting tasks, detecting task/phase markers, performing fallback spec detection, and extracting summaries from agent output.
  • apps/server/src/services/typed-event-bus.ts
    • Added a new file implementing TypedEventBus, a type-safe wrapper around EventEmitter for consistent and structured event emission within the auto-mode services.
  • apps/server/src/services/worktree-resolver.ts
    • Added a new file implementing WorktreeResolver, which provides utilities for Git worktree discovery, finding worktrees by branch name, getting the current branch, and listing all worktrees.
  • apps/server/tests/integration/services/auto-mode-service.integration.test.ts
    • Removed the integration test file for the old auto-mode-service.ts.
  • apps/server/tests/unit/lib/model-resolver.test.ts
    • Updated expected Claude Opus model ID from claude-opus-4-5-20251101 to claude-opus-4-6 in unit tests.
  • apps/server/tests/unit/lib/sdk-options.test.ts
    • Added unit tests for buildThinkingOptions to verify correct behavior with adaptive thinking and 'none' thinking levels.
  • apps/server/tests/unit/providers/claude-provider.test.ts
    • Updated expected Claude Opus model ID to claude-opus-4-6 in unit tests.
    • Updated expected default maxTurns from 20 to 100 in unit tests.
  • apps/server/tests/unit/providers/provider-factory.test.ts
    • Updated expected Claude Opus model ID to claude-opus-4-6 in unit tests.
  • apps/server/tests/unit/services/agent-executor.test.ts
    • Added new unit tests for AgentExecutor, covering constructor, interface exports, options, result structure, and dependency injection patterns.
  • apps/server/tests/unit/services/auto-loop-coordinator.test.ts
    • Added new unit tests for AutoLoopCoordinator, covering starting/stopping loops, concurrency, failure tracking, and multi-project/worktree scenarios.
  • apps/server/tests/unit/services/auto-mode-service-planning.test.ts
    • Removed the unit test file for planning mode in the old auto-mode-service.ts.
  • apps/server/tests/unit/services/auto-mode-service.test.ts
    • Removed the unit test file for the old auto-mode-service.ts.
  • apps/server/tests/unit/services/claude-usage-service.test.ts
    • Added unit tests for stripAnsiCodes to verify correct handling of ANSI cursor movement codes.
    • Added unit tests for parseUsageOutput to ensure accurate parsing of Claude CLI usage output with complex ANSI sequences.
  • apps/server/tests/unit/services/concurrency-manager.test.ts
    • Added new unit tests for ConcurrencyManager, covering acquire, release, isRunning, getRunningFeature, getRunningCount, getAllRunning, updateRunningFeature, and worktree-specific counting.
  • apps/server/tests/unit/services/execution-service.test.ts
    • Added new unit tests for ExecutionService, covering feature prompt building, execution flow, error handling, task retry logic, worktree resolution, and auto-mode integration.
  • apps/server/tests/unit/services/feature-state-manager.test.ts
    • Added new unit tests for FeatureStateManager, covering loading/updating features, handling task finalization, creating notifications, syncing to app_spec, resetting stuck features, and persistence ordering.
  • apps/server/tests/unit/services/pipeline-orchestrator.test.ts
    • Added new unit tests for PipelineOrchestrator, covering pipeline step execution, test retries, merge operations, and resume functionality.
  • apps/server/tests/unit/services/plan-approval-service.test.ts
    • Added new unit tests for PlanApprovalService, covering waitForApproval, resolveApproval, cancelApproval, hasPendingApproval, and timeout mechanisms.
  • apps/server/tests/unit/services/recovery-service.test.ts
    • Added new unit tests for RecoveryService, covering saving/loading/clearing execution state, context detection, and resuming interrupted features.
  • apps/server/tests/unit/services/spec-parser.test.ts
    • Added new unit tests for SpecParser, covering parsing tasks from spec content, detecting various markers, fallback spec detection, and extracting summaries.
  • apps/server/tests/unit/services/typed-event-bus.test.ts
    • Added new unit tests for TypedEventBus, covering event emission, auto-mode event wrapping, subscriptions, and compatibility with existing event patterns.
  • apps/server/tests/unit/services/worktree-resolver.test.ts
    • Added new unit tests for WorktreeResolver, covering getCurrentBranch, findWorktreeForBranch, and listWorktrees.
  • apps/ui/eslint.config.mjs
    • Added queueMicrotask to globals.builtin to correctly recognize it as a global variable.
  • apps/ui/src/components/dialogs/sandbox-risk-dialog.tsx
    • Added troubleshooting steps for users running Automaker in Docker, including environment variable checks and log inspection commands.
  • apps/ui/src/components/ui/task-progress-panel.tsx
    • Updated task status initialization logic to rely on the persisted t.status from planSpec.tasks instead of tasksCompleted count.
    • Modified auto_mode_task_started event handling to only update the started task's status to in_progress, without assuming previous tasks are completed.
    • Added a new auto_mode_task_status event handler to directly update task statuses based on server-emitted events, improving UI synchronization.
Activity
  • The pull request description does not contain specific activity details such as comments, reviews, or progress updates.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive set of planning and documentation files for a major refactoring of the AutoModeService into smaller, more manageable services. These new .planning/codebase Markdown files detail the project's architecture, codebase concerns, coding conventions, external integrations, technology stack, codebase structure, and testing patterns. Additionally, the pull request updates the Claude Agent SDK and OpenAI Codex SDK versions, modifies the Dockerfile to pre-install Playwright Chromium for automated AI agent verification tests (with corresponding README.md updates), and updates the CLAUDE.md model alias for 'opus' to claude-opus-4-6. Core server logic changes include updating the AutoModeService to use a new AutoModeServiceCompat layer, which acts as a compatibility shim for the refactored auto-mode services, and enhancing Claude authentication detection with more detailed logging. The sdk-options.ts and claude-provider.ts files are updated to support adaptive thinking for Claude Opus 4.6 by conditionally omitting maxThinkingTokens. The claude-usage-service.ts now includes improved ANSI code stripping for better parsing of Claude CLI output, and codex-models.ts is updated with new GPT-5.3-Codex model definitions. Several new services (AgentExecutor, AutoLoopCoordinator, ConcurrencyManager, ExecutionService, FeatureStateManager, MergeService, PipelineOrchestrator, PlanApprovalService, RecoveryService, TypedEventBus, WorktreeResolver) are introduced to modularize the AutoModeService functionality, with corresponding type definitions and callback interfaces. The TaskProgressPanel in the UI is updated to correctly reflect task statuses based on persisted data and individual task status events, rather than relying on a heuristic. Finally, the eslint.config.mjs is updated to include queueMicrotask as a readonly global, and the SandboxRiskDialog in the UI now provides troubleshooting steps for Docker users.

@gsxdsm
gsxdsm changed the base branch from main to v0.15.0rc February 17, 2026 18:04
@gsxdsm gsxdsm closed this Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant