v2.73.1
Binaries and the merged-pull-request list are on the GitHub releases page.
This release is the second milestone (PD2) of the documentation epic that re-frames orun as platform discipline as code. It covers pillar 1, declare: your platform's structure and standards written as intent. The binary is unchanged from v2.73.0.
A page for every standard, and what orun does with it
The new standards page lists every standard a platform team can declare, by the question it answers: what a component must look like, which version of a golden path, how it may run in each lane, in what order, with which secrets, and within what blast radius. Each one is labelled enforced (a command fails), recorded (in the plan or catalog as evidence), or declared only.
Writing it surfaced several claims the docs made that the code does not back, now corrected across the site:
- Group, environment, and execution-profile
policieswere described as enforced at compile time. orun carries them onto every component instance but does not act on them yet. - Cross-plan promotion gates were described as checks that require prior success. They are recorded on the plan, not enforced.
.orun/compositions.lock.yamlwas described as pinning composition sources; v2.73.0's landing page, principles, and README repeated it. orun writes the lock but never reads it. The pin thatorun planenforces is adigest:on the source inintent.yaml, and every plan records the digest each source resolved to.- A deprecated composition was said to print a warning. Its
lifecycleis recorded on its catalog entity; no warning is printed. conditionon a component'sdependsOnis declared only; an enforced edge always waits for success.
Rewritten
- Intent model is the pillar's hub: who
declares what, every
intent.yamlsection,component.yaml, the merge model, and what reads intent. Its examples now passorun validate. - Compositions is "a golden path written as code": the four documents and how each is enforced.
- Trigger bindings, profile rules, dependency rules, environment promotion, secrets, runtime environment, and the composition reference pages open with why each matters as a standard.
Fixed
- Job IDs are written as
component.environment.jobeverywhere, matching what the planner emits; thecomponent@environment.jobform is legacy. - The
how orun worksand resource-model examples no longer wrap intent fields inspec:, andpromotion.dependsOnuses{environment: …}objects. - The resource model explains the three API groups (
sourceplane.io,orun.io,orun.dev). orun validateis described accurately: it checks the intent, discovered manifests, the reservedORUN_prefix, and profile and dependency rules; schemas are checked byorun plan.