Skip to content

v0.2.0 - Onboarding + agents-as-tools UX

Latest

Choose a tag to compare

@deepmind11 deepmind11 released this 11 Apr 07:36

Highlights

  • New Onboarding sub-agent — registers first-time patients with duplicate detection and input validation. Returns a patient_id the patient can immediately use for booking or coverage.
  • Single-chatbot UX (agents-as-tools refactor) — the patient now talks to one ClinicOps Assistant. Sub-agents (Onboarding, Scheduler, Eligibility) are exposed to the master as delegate_to_<name> tools and invoked as stateless subroutines. No more visible routing handoff.
  • Interactive REPLclinicops with no subcommand drops into a prompt-toolkit-powered session: persistent history at ~/.clinicops_history, up/down arrow recall, ctrl+r reverse search, inline autosuggest.
  • Streaming responses — agent output streams token-by-token via the OpenAI SDK streaming API.
  • Trace propagation via ContextVar — master agent propagates trace_id into nested sub-agent runs so every event lands under one trace in the events store.

Added

  • Onboarding agent with lookup_patient and register_patient tools
  • Interactive REPL with prompt-toolkit (history, search, autosuggest)
  • Streaming responses via the OpenAI SDK streaming API
  • Current datetime injection into Scheduler, Onboarding, and master system prompts so agents resolve relative dates
  • ContextVar-based trace propagation for nested delegate calls
  • register_builtins() helper shared by CLI and eval runner

Changed

  • Architecture: moved from visible triage → scheduler handoff to single user-facing assistant with sub-agents as tools
  • Config: provider-agnostic LLM_API_KEY / LLM_BASE_URL / LLM_MODEL replace OPENROUTER_* (works with OpenRouter, OpenAI, Ollama, Azure, Groq, any OpenAI-compatible provider)
  • REPL conversation memory via prior_messages passed to the master every turn
  • Master agent system prompt explicitly suppresses routing disclosure
  • CLI chat subcommand simplified — one call to the master, no manual orchestration
  • All markdown docs refreshed for the new architecture

Fixed

  • register_patient validates inputs before any DB I/O so bad inputs fail fast
  • Dashboard Recent decisions panel no longer crashes with ValueError: cannot convert float NaN to integer on events without a latency
  • REPL visual polish: httpx logs suppressed, distinct rich.Panel banner and colored you ▶ prompt

See CHANGELOG.md for the full list.