Skip to main content
Harnest validates your source, lowers it to ADK or LangGraph, and serves it through one neutral runtime.

The path from source to server

orchestrator.py is trusted project code. Rendering a plan imports it. In CI, you can inspect or store the JSON plan before deployment.

Ownership

Treat .harnest/ as generated output. Commit your source and uv.lock; regenerate artifacts when the source or selected framework changes.

Framework boundary

The framework choice is explicit:
The manifest records the framework, mode, versions, and source digest. The runtime rejects mismatches.

Compare ADK and LangGraph

See what moves between frameworks unchanged and what remains framework-native.

Filesystem composition

Harnest uses location to discover capabilities. Public filenames define resource identity. Optional directories may be absent. Invalid or duplicate resources fail compilation.

Runtime boundary

The neutral runtime keeps common product behavior consistent across ADK and LangGraph. Use neutral routes for portable behavior. Native routes remain framework-owned.

Deployment plan

An orchestrator selects agent folders and deployment settings. The Go engine receives the JSON plan, compiles each agent, and starts its artifact. The digest covers agent-owned inputs. A pre-rendered plan lets CI inspect the deployment without executing authored Python later.

Safety defaults

Build an agent

Follow each source concept from authoring to discovery.

Serve an agent

See the neutral API and production boundary.