BaseHarbor v0.4.12
v0.4.12 makes BaseHarbor agent-native through a small, versioned machine interface over the same deterministic application/runtime semantics used by the human CLI.
The release deliberately does not add an AI framework, embedded model, remote agent platform or generic command execution. Coding agents get BaseHarbor semantics, not a bypass around them.
Added
- Machine contract
v1for the supported inspect/plan/status/doctor result surface. baha agent describeandbaha agent describe -o jsonfor semantic operation discovery, safety classification, capability specifications and MCP metadata.baha mcp serveas a local stdio Model Context Protocol server.- Official Model Context Protocol Go SDK v1.8.0 with MCP
2026-07-28as the current protocol target and negotiated2025-11-25compatibility. - Four deliberately small read-only MCP tools:
baseharbor.inspectbaseharbor.planbaseharbor.statusbaseharbor.doctor- MCP tool annotations describing read-only, destructive and open-world semantics.
- Stable machine error categories and versioned JSON error envelopes for automation failures.
- Generic MCP-client acceptance proving tool discovery and execution without a BaseHarbor-specific client plugin.
- Canonical English/German agent-machine-interface documentation.
Changed
- Status plus TLS observation now use one shared typed result consumed directly by CLI, TUI and MCP.
- Doctor collection now produces one shared typed result consumed directly by CLI, TUI and MCP instead of requiring TUI/MCP adapters to execute a CLI JSON path and parse it back.
- Inspect, plan, status and doctor structured results now identify machine contract
v1. - The bounded BaseHarbor
AGENTS.mdsection now tells coding agents to prefer structured BaseHarbor interfaces and MCP rather than shell/Docker/Compose bypasses. - Normal development now targets the long-lived
developintegration branch.mainremains the released source line and advances through release promotion or an explicit hotfix. - Pre-release validation defaults to and validates candidates contained in
develop; release tags remain required to point to source contained inmain.
Security
- MCP is stdio-only in v0.4.12: no listening network socket, remote transport or remote authentication surface is introduced.
- The MCP catalog contains no generic
exec, shell, Docker or Compose primitive. - All initial MCP operations are read-only and explicitly annotated as such.
- Machine responses remain secret-safe; acceptance injects a marker secret and verifies it never appears in MCP responses.
- Provider-global credentials, runtime sockets and provider/runtime bypass paths are not exposed to agents.
- Structured errors provide actionable machine codes without requiring secret-bearing diagnostic payloads.
- MCP tool annotations are treated as discovery metadata, not as the security boundary; the security boundary remains the explicitly registered BaseHarbor semantic operations.
Deprecated
Nothing is newly deprecated by BaseHarbor in v0.4.12.
The MCP implementation does not depend on protocol features deprecated by MCP 2026-07-28 such as Roots, Sampling or MCP Logging.
Removed
Nothing is removed from the BaseHarbor application contract or existing human CLI workflow.
Compatibility & upgrade notes
- Manifest v1 remains the portable application compatibility surface.
- Existing human CLI commands keep their normal behavior.
- Existing JSON consumers should tolerate the additive top-level
contract_versionfield. - Agent/MCP consumers should treat BaseHarbor machine contract
v1and the MCP wire-protocol version as separate version domains. baha mcp serverequires no daemon configuration and communicates only over stdin/stdout.- Existing applications do not need to add agent-specific fields to
baseharbor.yaml. - Kubernetes/OpenShift runtime behavior, remote MCP transport/auth, OIDC/RBAC/JIT and application-provided MCP capabilities remain future work.