Design Principles
The invariants SOW uses to keep ownership, generated state, publication, and evidence understandable.
This section records the reasoning that should survive an implementation rewrite: where SOW draws ownership boundaries, which invariants make a repository safe to copy and publish, and why a compatibility choice was accepted or rejected.
The operational guides and CLI reference on this site describe the released v0.2.0 line. These design pages also document the implemented 0.3 development architecture. They label the boundary explicitly; a development design is not a release or compatibility claim.
These pages are the maintained design authority. Historical PRDs, review transcripts, ADRs, and dated acceptance reports are preserved in the source repository’s sealed archive. They remain evidence for the version and environment they name, but they do not silently redefine the current product.
A claim progresses through distinct layers:
design contract -> source implementation -> focused tests -> real client/provider evidence -> release
Passing an earlier layer never implies that a later one passed. The compatibility design and each release note state the highest verified layer explicitly.
The invariants SOW uses to keep ownership, generated state, publication, and evidence understandable.
The objects and state transitions that connect packages, distributions, generations, and publication targets.
How the 0.3 design keeps one canonical package path per Repository and renders metadata-only APT and RPM views.
The target-scoped state machine for publishing, recovering, retaining, and safely deleting repository objects.
How SOW separates protocol correctness, client behavior, mirror tools, relocation, HTTP normalization, and storage-provider semantics.
The path from the V1 repository experiment through v0.2 C2 views to the 0.3 single-payload architecture.