RMASTER-ADR-0005 accepted · accepted-1 railiance-master reviewed 2026-07-26generated from canonical source — do not edit

Derived Rail Composition

Source: railiance-master · docs/adr/ADR-0005-derived-rail-composition.md · 883533ed8af1703cc9bb4a2b24137e325bbbda47

Review due: 2027-01-26

Date: 2026-07-26 Status: Accepted

Context

Knative provides distinct workload activation and revision semantics but runs on Kubernetes. Treating it as an unrelated peer rail would duplicate generic workload lifecycle and substrate assumptions.

Decision

Railiance distinguishes base and derived rails.

rail-kubernetes is the default base rail for platform workloads. rail-knative is a derived rail that inherits a versioned rail-kubernetes common contract and overrides only Knative-specific activation, revision, autoscaling, traffic, cold-start, and rollback semantics.

The detailed contract is docs/rail-composition-contract.md.

Consequences

  • New platform workloads continue to use rail-kubernetes unless a specialized rail is justified.
  • Derived rails declare base-rail compatibility rather than copying lifecycle contracts.
  • Fabric and conformance tooling must understand rail dependency and readiness.
  • Knative installation stays with the S2 substrate owner.