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.