plano/crates
Spherrrical 53a23ec8f9 refactor(claude-cli): make session bookkeeping sync, drop lock-across-await
- Convert ClaudeProcess::last_used from tokio::sync::Mutex<Instant> to
  std::sync::Mutex<Instant>: the critical section is one Copy read/write
  with no .await, so a sync mutex lets SessionManager iterate sessions
  without holding the map lock across an await point. Fixes the
  lock-across-await pattern in lru_session_id and evict_idle.
- Simplify SessionManager::get_or_spawn to a single map-lock acquisition
  on the fast path; only release the lock for the rare case where we
  need to await a victim shutdown before spawning.
- Replace the hand-rolled "deterministic UUID via DefaultHasher" with a
  real UUIDv5 over the OID namespace (uuid feature `v5`). Stable across
  Rust toolchain versions, unlike SipHash, and matches what the doc on
  the helper claimed all along.
- Introduce ProcessError::MissingStdio { which } so spawns where
  Stdio::piped() somehow returned None surface as their own programmer-
  error variant rather than masquerading as ExitedEarly.
- Delete the dead is_zero() helper.
2026-05-04 13:35:11 -07:00
..
.vscode use standard tracing and logging in brightstaff (#721) 2026-02-09 13:33:27 -08:00
brightstaff refactor(claude-cli): make session bookkeeping sync, drop lock-across-await 2026-05-04 13:35:11 -07:00
common feat(claude-cli): add local Claude Code CLI provider bridge 2026-05-04 12:57:53 -07:00
hermesllm fix(claude-cli): keep upstream path as /v1/messages for ClaudeCli 2026-05-04 13:09:17 -07:00
llm_gateway Add first-class ChatGPT subscription provider support (#881) 2026-04-23 15:34:44 -07:00
prompt_gateway Rename all arch references to plano (#745) 2026-02-13 15:16:56 -08:00
build.sh Use mcp tools for filter chain (#621) 2025-12-17 17:30:14 -08:00
Cargo.lock refactor(claude-cli): make session bookkeeping sync, drop lock-across-await 2026-05-04 13:35:11 -07:00
Cargo.toml use standard tracing and logging in brightstaff (#721) 2026-02-09 13:33:27 -08:00