Skip to content

Local-first agent orchestration

2026 · Implemented local prototype

Agentic Playground

Making multi-agent work inspectable before making it autonomous

I built a local R&D workbench that routes sensitive tasks, coordinates stateful agent workflows, measures cost and output quality, and turns coding runs into validated patch packages for human review instead of silently changing a repository.

Agentic Playground task dispatcher with workflow selection, status stages, token cost, and output panels
The current task dispatcher brings workflow choice, execution status, model cost, and output into one operator surface. Captured from the existing frontend source in a temporary read-only preview; no workflow was executed.

Quick scan

TL;DR

The shortest version: what changed, what shipped, what was verified, and where the proof stops.

Overview

Problem

Agent demos can produce an answer while hiding the decisions that matter: where private context goes, which specialists acted, what a run cost, and whether generated code is safe to consider.

Move

Used deterministic LangGraph workflows as the control plane, with local privacy classification, budget gates, typed handoffs, operator traces, evaluation, and review-only patch validation around model calls.

Outcome

Completed a local prototype with 11 registered workflow choices, five coding specialists, a career-intelligence layer, an MCP tool surface, and source-level regression coverage across the orchestration boundaries.

Scope

Independent product architecture, full-stack engineering, agent workflow design, privacy and cost policy, observability, evaluation, and local operator experience.

Proof

Workflow surface
11 registered choicesThe graph registry spans research, synthesis, planning, coding, and six career-intelligence modes.
Coding topology
5 specialist rolesArchitect, implementation, test, security, and docs work fan out before merge and validation.
Regression surface
153 test functionsChecked-in Python tests cover core policy, graphs, persistence, career workflows, MCP, and UI-facing run data.
Build history
27 commitsThe inspected branch records the prototype’s development from June 15 through June 18, 2026.

01 · Context

The hard part was not adding agents. It was keeping their work legible.

A useful research or coding run crosses several boundaries: task intake, sensitive context, provider selection, retrieval, specialist delegation, synthesis, cost, evaluation, and persistence. A chat window can conceal all of them while still returning plausible output.

Agentic Playground began as a local-only R&D orchestrator and expanded into a workbench for research, planning, career intelligence, and review-only coding. The product question was how to expose enough of the system for an operator to understand what happened without turning every run into a wall of infrastructure detail.

02 · The decision

Put deterministic policy and receipts around probabilistic work.

Classify first. Bound the run. Delegate explicitly. Validate the artifact. Leave the final action to the operator.

LangGraph owns the workflow spine while models operate as bounded workers inside it. A local prefilter classifies sensitive inputs before any model call, model roles are configured separately from graph code, and circuit breakers track calls and cost. WebSocket events and OpenTelemetry spans make status, tokens, latency, and errors inspectable during and after a run.

The coding path follows the same rule. Structured intake establishes mode, target paths, tests, acceptance criteria, dependency permissions, and autonomy level before five specialists fan out. Their work is merged into a patch proposal, reviewed, parsed, and checked for unsafe paths, binary changes, secrets, lockfiles, and excessive scope. The current system stops at a review package; it does not apply changes to the real repository.

Agentic Playground coding intake for the Agentic Development workflow with mode, target, validation, constraint, and dependency controls
Agentic Development makes scope and permissions explicit before dispatch. This is the implemented pre-run interface; empty fields are intentional and no backend workflow was invoked for the capture.
Engineering noteThe safety boundary lives below the prompt.

The model can propose work, but deterministic code decides where data routes and whether a patch package is safe enough to present for review.

  • The privacy prefilter is local and deterministic, with zero model and network calls.
  • Path and command policy deny secrets, traversal, arbitrary shell commands, and network-enabled sandbox requests by default.
  • Patch validation rejects absolute paths, binary patches, secret-looking additions, oversized changes, and other blocked surfaces before a receipt is produced.

03 · What shipped

One operator surface, several bounded kinds of work.

The registry exposes 11 workflow choices across deep research, synthesis, planning, code scaffolding, agentic development, and career intelligence. Runs stream node status and token events to the frontend, persist history and receipts to SQLite, write selected outputs to a local Markdown vault, and can emit OpenTelemetry traces without requiring a collector for normal local use.

Research tasks can fan out across parallel sub-agents and pass the synthesis through a non-blocking judge for faithfulness, relevance, and completeness. Career workflows add job-market research, company briefs, startup vetting, resume alignment, durable approval state, structured reports, and seven MCP-compatible tools over the same workflow system.

Agentic Development adds typed intake and handoffs, repository-context selection, five parallel specialists, policy decisions, a critic pass, patch parsing, and a run receipt. Sandboxed apply and test execution remain dry-run primitives rather than completed autonomous execution, preserving the prototype’s review-only posture.

Engineering noteFan-out is implemented as concurrency, not presentation.

Independent research subtasks and coding specialists execute with asyncio.gather, then merge back into shared graph state for synthesis or patch review.

  • Research results are retained under per-subtask keys before being merged for synthesis.
  • The development graph selects architect, implementation, test, security, and docs specialists from a typed orchestration plan.
  • Integration tests exercise specialist fan-out, merged patch validation, policy decisions, handoffs, and the final receipt.

04 · Evidence

The evidence is the implemented control plane, not an autonomy claim.

The inspected repository contains 27 commits over four days and 153 checked-in Python test functions across unit, integration, career, and end-to-end surfaces. The current source registers 11 workflow names and the Agentic Development graph fans out to five specialist roles before patch validation and receipt generation.

A June 15 security checkpoint records 48 passing tests, clean Ruff and frontend checks, a clean dependency audit, and successful mock CLI and browser runs for the earlier platform slice. The repository added substantial career and agentic-development functionality after that checkpoint, so those 48 results are historical evidence rather than a current full-suite claim. The broader 153-function test inventory was inspected but not rerun while the sibling repository remained read-only.

No adoption, revenue, retention, or production-use analytics were found. The screenshots prove implemented pre-run interface states; the source and history prove system behavior. Neither is presented as evidence that autonomous agents improved team output.

05 · Reflection

Useful autonomy begins with a visible stopping point.

The project changed the way I think about agent interfaces. The most important controls are not prompt controls; they are decisions about provider routing, cost ceilings, context selection, permissions, validation, persistence, and who is allowed to take the final action.

It also exposed the value of keeping architecture language honest. The README and design documents still describe parts of Agentic Development as a target architecture even though a review-only slice now exists in source. Other pieces—real sandbox apply, sandbox test execution, and a full coding approval interrupt—remain planned or dry-run only and should stay described that way.

The next proof would be longitudinal: replayable benchmark tasks, quality and cost trends across model changes, and operator research showing whether receipts and checkpoints actually make failures faster to diagnose.

Continue with the project

Explore Agentic Playground in context.