Group 2: Create shell-pool-blitz feature crate #15

Closed
opened 2026-04-16 12:44:33 +02:00 by kade · 0 comments
Owner

Overview

Create optional feature crate in Blitz for shell-pool integration with smol runtime support.

Description

  • Create optional feature crate in Blitz for shell-pool integration
  • Implement Blitz-specific shell-pool client (smol-based)
  • Refactor util::command::new_command() to support optional shell-pool
  • Implement fallback strategy with visible errors
  • Add configuration support (environment variables + Blitz config)

Implementation Steps

  1. Create crates/shell-pool-blitz/ with feature flag
  2. Implement ShellPoolClient with smol runtime
  3. Refactor util::command to use shell-pool when enabled
  4. Add configuration:
    • SHELL_POOL_ENABLED=true
    • SHELL_POOL_SOCKET_PATH=/run/user/$UID/shell-pool.sock
    • SHELL_POOL_FALLBACK=true|false
    • Blitz config file support
  5. Implement fallback strategy:
    • If enabled and available → use shell-pool
    • If enabled and unavailable → visible error in UI
    • If fallback enabled → use smol::process
  6. Add health check for shell-pool daemon

Files

  • services/blitz/crates/shell-pool-blitz/Cargo.toml (new)
  • services/blitz/crates/shell-pool-blitz/src/lib.rs (new)
  • services/blitz/crates/util/src/command.rs (refactor)
  • services/blitz/crates/util/src/shell_pool.rs (new)

Estimated Effort

7-10 days

Success Criteria

  • Feature crate compiles with --features shell-pool
  • Integration tests pass
  • Fallback strategy works correctly
  • Visible errors when shell-pool unavailable
  • Configuration system functional
  • Depends on: Group 1 (smol runtime implementation)
  • This is part of the shell-pool Blitz integration epic. See plan document for full integration strategy.
## Overview Create optional feature crate in Blitz for shell-pool integration with smol runtime support. ## Description - Create optional feature crate in Blitz for shell-pool integration - Implement Blitz-specific shell-pool client (smol-based) - Refactor `util::command::new_command()` to support optional shell-pool - Implement fallback strategy with visible errors - Add configuration support (environment variables + Blitz config) ## Implementation Steps 1. Create `crates/shell-pool-blitz/` with feature flag 2. Implement ShellPoolClient with smol runtime 3. Refactor `util::command` to use shell-pool when enabled 4. Add configuration: - `SHELL_POOL_ENABLED=true` - `SHELL_POOL_SOCKET_PATH=/run/user/$UID/shell-pool.sock` - `SHELL_POOL_FALLBACK=true|false` - Blitz config file support 5. Implement fallback strategy: - If enabled and available → use shell-pool - If enabled and unavailable → visible error in UI - If fallback enabled → use smol::process 6. Add health check for shell-pool daemon ## Files - `services/blitz/crates/shell-pool-blitz/Cargo.toml` (new) - `services/blitz/crates/shell-pool-blitz/src/lib.rs` (new) - `services/blitz/crates/util/src/command.rs` (refactor) - `services/blitz/crates/util/src/shell_pool.rs` (new) ## Estimated Effort 7-10 days ## Success Criteria - Feature crate compiles with `--features shell-pool` - Integration tests pass - Fallback strategy works correctly - Visible errors when shell-pool unavailable - Configuration system functional ## Related Issues - Depends on: Group 1 (smol runtime implementation) - This is part of the shell-pool Blitz integration epic. See plan document for full integration strategy.
kade 2026-04-16 14:32:22 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kade/blitz#15
No description provided.