Technology

The engineering behind dpc: concurrent execution, parallel sub-agents, embedded validation, and a continuously optimized agent loop.

Concurrent bash output monitoring

dpc runs multiple shell processes in parallel and streams their output live and simultaneously. There is no sequential queue and no blocking wait between processes.

spawn(task="cd /project && make build", timeout=600) spawn(task="cd /project && make test-unit", timeout=600) spawn(task="cd /project && make lint", timeout=300) spawn(task="cd /project && make coverage", timeout=300) # All four run concurrently. SwarmWait(pid=101) → SwarmResult(pid=101) SwarmWait(pid=102) → SwarmResult(pid=102) SwarmWait(pid=103) → SwarmResult(pid=103) SwarmWait(pid=104) → SwarmResult(pid=104)

Each process has its own live output pane, so compilation, tests, linting, and coverage reports are visible as they run. Backgrounded shells can be polled with BashOutput, streamed line-by-line with Monitor, or terminated with KillShell — all without blocking the agent loop.

Concurrent agent management

Sub-agents are first-class citizens with their own context windows, running in parallel with the main agent. Delegation, isolation, and forked conversations are all concurrent.

# Fork-isolated sub-agents run simultaneously delegate(task="Audit all error handling paths") delegate(task="Find all database queries and list file:line") delegate(task="Generate list of all public API endpoints") # Project-defined sub-agents with dedicated contexts Agent(subagent_type="nim-builder", prompt="Fix all compilation errors") Agent(subagent_type="style-maintainer", prompt="Lint and format entire codebase")

Fork isolation allows a sub-agent to inherit the full parent conversation context, work independently in its own sandbox, and return results without polluting the main context.

Built-in universal syntax validator

dpc ships with nimcheck, a universal parser and validator that checks syntax across languages and template formats without requiring any external interpreter, compiler, or toolchain. Everything is embedded in the binary.

Zero interpreters required. Validate Nim, Python, JavaScript, TypeScript, PHP, HTML, XML, Bash, Jinja templates, JSON, YAML, and TOML — offline and instantly.

Programming languages

Nim
Python
JavaScript
TypeScript
PHP

Markup & document formats

HTML
XML
JSON
YAML
TOML

Shell & templates

Bash / Shell
Jinja

The validator auto-detects language from file extension or content heuristics. Per-file, per-project, or per-glob validation produces structured error output — position, severity, error code, message. It serves as a pre-commit gate, a CI step, or an inline agent tool during autonomous refactoring.

Auto-detection Structured diagnostics Zero install Offline Per-file / per-project / per-glob Error codes Severity levels

Command-line issue reporting

ReportIssue files an issue from the dpc CLI directly into the project's Gitea issue tracker on devplace.net. No browser, no form, no context switch.

ReportIssue( title="Race condition in swarm output collection", description="When two spawns finish within 5ms of each other, SwarmResult interleaves stdout incorrectly on kernel 6.12+. Repro: spawn 3 concurrent tasks that emit 1000 lines each." ) # → uid: "abc123" (poll with ReportIssueStatus)

Immediate notification. When an issue is filed, designated project administrators receive email and phone notifications within seconds. The issue is live on Gitea — assignable, labelable, and fully tracked, with no manual triage step.

Issue filing is asynchronous: dpc returns a uid immediately, and ReportIssueStatus confirms creation. The flow is typed, validated (title: 1–200 characters; description: 1–5000), and credential-forwarded through the DevPlace gateway.

The molodetz model

DevPlace Code users receive a daily quota for molodetz, a combined text and vision model served through the DevPlace AI Gateway (https://devplace.net/openai/v1) with inference optimised for agent workloads.

Text + Vision

Design from screenshots, debug from error images, analyse UI mockups — one model handles both modalities.

Generous daily quota

A daily allowance sized for real development work, included with every account.

Output caching

Repeated prompts, identical prefixes, and common tool outputs are cached, reducing cost and latency for recurring work.

Performance

Low latency, high throughput, and streaming responses, tuned for interactive terminal use.

Output quality

Structured, consistent, code-aware responses suited to software engineering tasks.

Zero config

The binary is pre-configured: no model selection, no provider routing, no key management.

The self-optimizing agent loop

The agent is not static — it is continuously optimized based on its own execution logs.

Tool calls, errors, successes, and reflections are fed back into the system. The agent records which patterns work and which fail, and its behaviour is adjusted accordingly across releases.

Execution log analysis

Every session produces structured logs: tool successes, tool failures, timing data, and token usage — all captured and fed into the optimization pipeline.

Automatic reflection

When a tool call fails, the agent does not blindly retry. It runs reflect() — diagnosing the root cause, recording the observation, and adapting its next action.

Pattern reinforcement

Successful patterns — tool combinations, error recovery strategies, architectural decisions — are reinforced across sessions and releases.

Continuous improvement

The optimization loop runs with every release cycle. Each session contributes measurable data to the next iteration of the agent.

Built-in safety gates

Read-before-write enforcement, dry-run pre-checks, verification gates, and disk-change detection — optimization includes hardening the agent's own safety behaviour.

Proven in production

dpc is developed with dpc. The binary, this website, the gateway integration, and the knowledge base were all built using the agent itself.

Try it

dpc is a purpose-built autonomous engineering system, used daily to develop real software — including itself.