This document defines the non-negotiable rules for port. When there is a
tradeoff between convenience and coherence, these rules win unless a higher
priority board artifact overrides them explicitly.
port is the product surface. User-facing docs and examples should use
port, not repo-local cargo wrappers.
artifacts,machine,guest, andserviceare the canonical families.- Hosted workflows must reuse the same verbs instead of inventing a hosted-only command tree.
Local and hosted execution share the same machine identity and lifecycle model.
- The runtime owner may change between local runtime roots and hosted control-plane plus node-agent routing.
- The operator vocabulary must not change just because the owner changes.
Port models substrate and protection mode directly.
- Firecracker, Cloud Hypervisor, and AVF are explicit substrate lanes.
standardandpvmare explicit protection contracts.- Unsupported combinations fail fast; they do not silently fall back.
4. Fail Fast Beats Hidden Compatibility
Port uses hard cutover by default.
- Replace old contracts in the same slice when a new canonical contract lands.
- Do not add compatibility aliases, soft deprecations, or hidden fallback logic unless a story explicitly requires them.
Operators should be able to tell who owns runtime state.
port doctor,machine status, andservice statusshould expose explicit routing and runtime detail.- Secrets, placements, and health state must remain attributable to a single runtime owner.
The checked-in sample config and root docs are part of the product surface.
examples/port.tomlis the canonical repo example.- Root contracts such as
CONFIGURATION.mdandARCHITECTURE.mdshould stay current with shipped behavior. - Top-level help surfaces stay short; detail lives in canonical docs.
Implementation is not done at a clean compile.
- Every functional slice needs verification through tests, command proofs, or explicit manual evidence.
- Board state, proofs, and docs should move together.
Hosted features are not second-tier documentation promises.
- If Port claims a hosted workflow, it should have real control-plane and node-agent ownership plus proof.
- Local workflows remain first-class even as hosted capability expands.