Skip to main content

Multi-provider model routing, prompt templates, session state, and metrics for the Dabbler AI-led-workflow.

Project description

Dabbler AI Orchestration

An AI-led coding-session workflow for VS Code. Structured AI sessions with cross-provider verification, automatic cost tracking, git- worktree-aware session-set state, and a Session Set Explorer in the activity bar.

Session Set Explorer in action


What this repo is for

The framework treats AI coding work as a sequence of sessions — bounded slices that run to completion in one orchestrator conversation, end with a verification + commit, and stop. A session set is an ordered chain of sessions that delivers one feature, refactor, or aspect of the solution. Each set lives at docs/session-sets/<slug>/ with a small predictable shape (spec.md, session-state.json, activity-log.json, change-log.md).

Inside each session, the orchestrator (Claude Code, Codex, GitHub Copilot, or Gemini Code Assist) does mechanics — file edits, shell, git — and dispatches every reasoning task (code review, security review, analysis, architecture, documentation, test generation, end-of-session verification) through ai_router.route(). The router picks the cheapest capable model per task type, escalates on poor responses, and runs cross-provider verification by a different provider to catch provider-specific blind spots.

Every routed call is appended to ai_router/router-metrics.jsonl, so per-set, per-task, and per-model spend is fully auditable. The Session Set Explorer extension is the at-a-glance companion: it reads the same files the router writes and renders three groups in the activity bar (In Progress, Not Started, Done), with worktree auto-discovery so parallel sessions surface across sibling workspaces. Full execution mechanics live at docs/ai-led-session-workflow.md; deeper feature descriptions live at docs/repository-reference.md.


Highlights

  • Session sets and sessions — Work is organized into bounded sessions inside ordered session sets, each with its own folder of artifacts the extension reads to render the activity-bar inventory. Deep dive.
  • Cost-minded orchestration — The router routes each task to the cheapest capable tier, escalates on poor responses, and uses a per-task-type effort overrides. Real metrics from contrasting projects show 73% savings vs Opus-only on a CLI/library project (990 calls) and 32% savings on a full-stack UI app with UAT/E2E gates (370 calls) — see docs/sample-reports/ for the full reports. Deep dive.
  • Cross-provider verification — Every session ends with a mandatory independent verification by a model from a different provider. The verifier returns structured JSON ({"verdict": "VERIFIED" | "ISSUES_FOUND", "issues": [...]}); the orchestrator surfaces disagreements for human adjudication rather than self-resolving. Deep dive.
  • Git integration + parallel session sets — Every session ends with git add -A && git commit && git push. Multiple session sets can run in parallel via isolated git worktrees on session-set/<slug> branches, with the last session merging back into main cleanly. Deep dive.
  • Robust fallbacks — Tier escalation on empty/truncated/refused responses; two-attempt verifier fallback when a provider's HTTPS layer fails; documented escalation ladder if both verifier attempts fail. The work is preserved in git for human review either way. Deep dive.
  • UAT + E2E support (opt-in) — Repos that flag requiresUAT: true and/or requiresE2E: true get a UAT checklist with E2E pre- screening; functional checklist items must have matching Playwright coverage before the human is asked to review. No-UI repos default to the universal core (build, test, verify, commit) with no UAT/E2E surface area. Deep dive.

Quick start

  1. Install the extension from the VS Code Marketplace:
  2. Open your workspace. Any folder with — or destined for — a docs/session-sets/ directory. The activity-bar Session Set Explorer icon appears automatically once that path is present.
  3. Run Dabbler: Install ai-router from the command palette (Ctrl+Shift+P). The command auto-detects (or offers to create) a workspace .venv/, runs pip install dabbler-ai-router inside it, and materializes ai_router/router-config.yaml for tuning.

Then set API keys as environment variables (one-time): ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY — the Prerequisites section below has the sign-up links and notes which providers are required.

Subsequent updates: Dabbler: Update ai-router from the command palette.

CLI fallbackpython -m venv .venv && .venv/Scripts/pip install dabbler-ai-router, then from ai_router import route from your orchestrator script.


For new projects: adoption bootstrap

If you're starting a new project — greenfield, an existing local project that hasn't yet adopted the workflow, or a remote repo you want to clone in — the recommended starting point is Dabbler: Copy adoption bootstrap prompt from the command palette. The command copies a short engine-agnostic prompt to your clipboard that you paste into a fresh AI chat (Claude Code, Gemini Code Assist, or any GPT-based tool). The AI then fetches the canonical online instructions at docs/adoption-bootstrap.md and runs an interactive flow: detect your workspace state, run a budget-threshold dialog, propose a session-set decomposition, present a numbered checklist of every intended write / config / scaffolding action for batch approval before executing. No per-write prompts; you can interrupt at any time. The four-tier budget mapping is documented in docs/ai-led-session-workflow.md → Cost-budgeted verification modes.

This entry point sits before the Quick start above for greenfield work — the bootstrap flow installs the router, scaffolds the folders, authors docs/planning/project-plan.md and your first session-set specs, and saves your budget threshold to ai_router/budget.yaml as part of its action checklist.


Prerequisites: tools and accounts

You need VS Code, at least one orchestrator agent installed as a VS Code extension, and API-key accounts for all three model providers (the router calls all three so cross-provider verification has somewhere to route to).

VS Code

Orchestrator agents (install at least one)

Pick whichever AI agent you want to drive sessions; the framework is provider-agnostic and you can switch mid-set.

API keys (all three required)

The router calls all three providers and cross-provider verification needs at least two providers live to be meaningful. Expect to set up all three.

Set each as a Windows User environment variable; macOS / Linux export them in your shell profile. Optionally, pushover.net's PUSHOVER_API_KEY and PUSHOVER_USER_KEY enable end-of-session phone notifications — if unset, the orchestrator skips the notify and prints to console as usual.


More

For technical reference (deep feature descriptions, the UAT/E2E flag matrix, a worked end-of-session output example, and the repository file map), see docs/repository-reference.md.

For runtime mechanics (trigger phrases, the 10-step procedure, the authoritative rule list every orchestrator obeys), see docs/ai-led-session-workflow.md.

For sample manager-report output from real projects at scale, see docs/sample-reports/.

For worked examples of cross-provider AI consultation in practice — what each provider explored, where they agreed and meaningfully differed, and what makes the pattern worth using — see docs/case-studies/.


License

This repo is released under the MIT License. See LICENSE for the full text. Copyright © 2026 darndestdabbler.

A duplicate LICENSE lives at tools/dabbler-ai-orchestration/LICENSE alongside the extension's package.json. The duplication is required: vsce package expects the file beside the manifest and has no flag to point elsewhere. Both files must be kept in sync.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dabbler_ai_router-0.2.4.tar.gz (240.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dabbler_ai_router-0.2.4-py3-none-any.whl (263.6 kB view details)

Uploaded Python 3

File details

Details for the file dabbler_ai_router-0.2.4.tar.gz.

File metadata

  • Download URL: dabbler_ai_router-0.2.4.tar.gz
  • Upload date:
  • Size: 240.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dabbler_ai_router-0.2.4.tar.gz
Algorithm Hash digest
SHA256 05fd85d31308953bb6b9f0d6c0b2eb2526e4faeaec12a25cb8d572dfe4bbdd95
MD5 0b3bc452ea099eb3fd939a09b3744a02
BLAKE2b-256 d9295a02c4e1ed94d560e653ab8a828067e2f427a0211269926e4654d269472f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dabbler_ai_router-0.2.4.tar.gz:

Publisher: release.yml on darndestdabbler/dabbler-ai-orchestration

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dabbler_ai_router-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for dabbler_ai_router-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4ced0ad2d2a412a0ec8b41885548aa5e805ed123e3485517e4b482324beb5b18
MD5 aee2d503b39b0d66c7b06b1134c229a8
BLAKE2b-256 19a35a626b3a1b1ac2569d9a3c1a8111d7253825701ee6a5048b25b44e3c238a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dabbler_ai_router-0.2.4-py3-none-any.whl:

Publisher: release.yml on darndestdabbler/dabbler-ai-orchestration

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page