Early version v0.1.0 · Native agents, one terminal workflow.Current status

Navigation

Browse documentation

Design constraints

Architectural rules that protect native ownership, policy, and honest compatibility claims.

On this page

Keep the core small

Core contracts are synchronous, I/O-free, and have no third-party dependencies. Process execution, async runtime concerns, and the session journal belong outside the core. The workspace forbids unsafe_code.

Provider adapters depend on the SDK; generic runtime and transport code depend on the core. Provider names and hardcoded selection orders do not belong in generic registry logic.

Preserve ownership

Native configuration, authentication, plugin loading, skills, MCP discovery, and instruction handling belong to providers. uuldana-cli owns only its records and the data exposed at the process boundary.

Trusted adapters are reviewed code, not isolated plugins. A launch plan is descriptive and cannot structurally prevent a provider executable from writing files.

Never silently escalate

Approval, filesystem access, and network access are distinct. Honest mapping can become stricter, but may not exceed the requested policy or session ceiling. Failover never raises the ceiling. Native approvals are explicitly non-transferable.

Unknown means unknown

Missing capability evidence does not mean support. Inferred events do not mean exact native events. Platform configuration does not mean an executed passing test. A capability that was not proven against the real provider is Unknown, not Supported.

Frozen interfaces and additive growth

Contract 0.2 is frozen. Non-exhaustive enums, builders, default unsupported methods, custom capabilities, and extension events support controlled growth. Adapters with incompatible contract versions are rejected.

What is not promised

No universal plugin portability, hidden-state transfer, or cross-provider native resume is promised. uuldana-cli does not become an agent: changes that add an agent loop, a generic model wrapper, or simulated provider responses are out of scope.

Search documentation

Start typing to search all articles.

↑ ↓ navigate · Enter openEsc close