Type to search pages and rules.

Browse pages

Release Standard

A release joins deployed product behavior with evidence that a maintainer can operate it.

Markdown28 provisions

Intent#

A release joins deployed product behavior with evidence that a maintainer can operate it. One completed layer or passing test category does not meet this outcome.

Standards#

Keep unfinished behavior in draft#

ruleguidance

Requirement A use case with unfinished behavior MUST keep its record in draft.

Rationale Draft status prevents incomplete code from claiming released behavior.

litespec/core/release#keep-unfinished-behavior-in-draft

Verify connected journeys#

ruleguidance

Requirement A completed journey MUST connect verified use cases to one observable outcome through a deployed public boundary.

Rationale A passing journey test proves the connected product path.

litespec/core/release#verify-connected-journeys

Run boundary-selected checks#

ruleguidance

Requirement A release change MUST run every check selected by its changed backend, frontend, journey, product, domain, API, and extension boundaries.

Rationale Each boundary adds evidence that a narrow test category cannot replace.

litespec/core/release#run-boundary-selected-checks

Run backend release checks#

ruleguidance

Requirement A backend change MUST pass the release build and the backend test suites.

Rationale The release build compiles the solution in release mode. The backend suites are the architecture, integration, and acceptance suites the size requires.

litespec/core/release#run-backend-release-checks

Run frontend release checks#

ruleguidance

Requirement A frontend change MUST run frozen installation, lint, type checking, tests, and production build checks.

Rationale The frontend requires dependency, static, behavior, and production compilation evidence.

litespec/core/release#run-frontend-release-checks

Run journey checks#

ruleguidance

Requirement A journey change MUST run its journey tests.

Rationale Journey changes need evidence through their deployed public boundary.

litespec/core/release#run-journey-checks

Run consistency checks#

rulecheckable

Requirement A product, domain, or API change MUST pass the reference consumer validator.

Rationale litespec consumer checks metadata, links, and cross-file references.

litespec/core/release#run-consistency-checks

Run extension checks#

ruleguidance

Requirement A selected project or applicable local extension MUST run its stated verification when affected.

Rationale Extension boundaries add tests and operating evidence beyond the baseline release checks.

litespec/core/release#run-extension-checks

Regenerate application contracts#

ruleguidance

Requirement A source change MUST regenerate OpenAPI and frontend API types when it changes their source contract.

Rationale Committed derived contracts remain aligned with the source that defines them.

litespec/core/release#regenerate-application-contracts

Keep generated contracts stable#

ruleguidance

Requirement A generated application contract MUST be stable and exclude timestamps, machine paths, and nondeterministic ordering.

Rationale Deterministic output makes contract changes reviewable and repeatable.

litespec/core/release#keep-generated-contracts-stable

Meet release readiness gates#

ruleguidance

Requirement A release MUST include only verified use cases and passing deployed journey evidence for its included journeys.

Rationale A use case is verified when every one of its Cases is proved by a passing test. Release evidence proves the included product outcome through its deployed public boundary.

litespec/core/release#meet-release-readiness-gates

Apply release access controls#

ruleguidance

Requirement A release with restricted access MUST provide authentication and authorization.

Rationale Restricted behavior requires a trusted identity and resource-access decision.

litespec/core/release#apply-release-access-controls

Provide release data recovery#

ruleguidance

Requirement A release MUST provide repeatable schema creation or upgrade, backup instructions, and a tested restore.

Rationale A deployed product needs reproducible data setup and recovery evidence.

litespec/core/release#provide-release-data-recovery

Provide release operating visibility#

ruleguidance

Requirement A release MUST provide liveness, readiness, trace-correlated diagnostics, and secrets outside source control.

Rationale Operators need health and diagnostic evidence without exposing secret material.

litespec/core/release#provide-release-operating-visibility

Provide release delivery controls#

ruleguidance

Requirement A release MUST provide CI, tested deployment and rollback paths, current operating limits, and the runbooks those limits name.

Rationale Repeatable delivery and operation need current execution and recovery records.

litespec/core/release#provide-release-delivery-controls

Record the release artifact#

ruleguidance

Requirement A release MUST create one release record for its immutable artifact.

Rationale The release record connects evidence to the exact deployed artifact.

litespec/core/release#record-the-release-artifact

Resolve release blockers#

ruleguidance

Requirement A release MUST settle every open decision and external claim it depends on, or exclude the affected behavior from every owning record.

Rationale A declared reduced boundary is valid only when product and release records agree.

litespec/core/release#resolve-release-blockers

Report verification exactly#

ruleguidance

Requirement A completion report MUST name exact commands, outcomes, evidence scope, skipped checks, generated differences, scope limits, and covered use cases.

Rationale Reviewers can distinguish completed evidence from unrun or irrelevant checks.

litespec/core/release#report-verification-exactly

Identify immutable release artifacts#

ruleguidance

Requirement A release record MUST name source commit and immutable artifact reference.

Rationale These identifiers bind recorded evidence to one reviewed release output.

litespec/core/release#identify-immutable-release-artifacts

List included release behavior#

ruleguidance

Requirement A release record MUST list included journeys, use cases, and selected applicable extensions.

Rationale The record defines the behavior boundary for the immutable artifact.

litespec/core/release#list-included-release-behavior

Record release evidence#

ruleguidance

Requirement A release record MUST list build, test, contract, security, journey, schema, backup, deployment, readiness, diagnostics, smoke-test, and rollback results.

Rationale The complete evidence set makes the release supportable by its maintainer.

litespec/core/release#record-release-evidence

Record operating readiness#

ruleguidance

Requirement A release record MUST list operating limits, alerts, runbooks, known operating conditions, and skipped checks.

Rationale Operating context identifies residual boundaries after release.

litespec/core/release#record-operating-readiness

Keep release records non-authoritative#

ruleguidance

Requirement A release record MUST NOT restate a specification or copy a Case.

Rationale Specifications remain the canonical authority for behavior and Cases.

litespec/core/release#keep-release-records-non-authoritative

Record accepted debt as a known gap#

ruleguidance

Requirement Accepted debt MUST live as a Known gap with an owner and an end date.

Rationale The gap names its check, which reports until the end date and fails after it. The model page states the Known gap shape.

litespec/core/release#record-accepted-debt-as-a-known-gap

Keep a first-release readiness record#

ruleguidance

Requirement A consumer before its first production release MUST keep a readiness record with dated rehearsals, green gates, and a rehearsal owner.

Rationale A release record binds evidence to one artifact, so it has nothing to say before the first artifact exists. The readiness record instead states what proves the product may take data. The rehearsal owner owns the backup and restore rehearsal.

litespec/core/release#keep-a-first-release-readiness-record

State each release as a complete record#

ruleguidance

Requirement A release record MUST state its complete behavior and evidence without depending on an earlier release record.

Rationale A reader judges one release from one record. No upgrade guide or earlier record fills a gap in it.

litespec/core/release#state-each-release-as-a-complete-record

Conventions#

Store release records together#

conventionguidance

Default Keep release records under docs/releases/.

Replacement A consumer records a different location as an Exception citing this convention.

Example docs/releases/2026-08-21.md records one immutable artifact and its evidence.

litespec/core/release#store-release-records-together

Treat check warnings as failures#

conventionguidance

Default Treat build and lint warnings as failures unless the build configuration records a narrow suppression with its reason.

Replacement A consumer records a different policy as an Exception citing this convention.

Rationale Unreviewed warnings can conceal a changed compiler, linter, or dependency boundary.

litespec/core/release#treat-check-warnings-as-failures

Reference example#

This informative example demonstrates litespec/core/release#verify-connected-journeys, litespec/core/release#identify-immutable-release-artifacts, and litespec/core/release#record-release-evidence.

An order-checkout release includes verified stock, order, payment, and shipment use cases. The checkout journey passes against the deployed API and database, and the record cites the image digest and release evidence.

Verification#

IDMarkEvidence
litespec/core/release#keep-unfinished-behavior-in-draftguidanceIs every use case with unfinished behavior still in draft?
litespec/core/release#verify-connected-journeysguidanceDoes each completed journey reach one observable outcome through a deployed public boundary?
litespec/core/release#run-boundary-selected-checksguidanceDid the change run every check its changed boundaries select?
litespec/core/release#run-backend-release-checksguidanceDid the release build and every required backend suite pass?
litespec/core/release#run-frontend-release-checksguidanceDid install, lint, type checks, tests, and the production build all pass?
litespec/core/release#run-journey-checksguidanceDid the journey tests pass against the deployed boundary?
litespec/core/release#run-consistency-checkscheckablelitespec consumer exits zero.
litespec/core/release#run-extension-checksguidanceDid each affected extension report its stated verification evidence?
litespec/core/release#regenerate-application-contractsguidanceDo committed contracts match a fresh generation from their source?
litespec/core/release#keep-generated-contracts-stableguidanceIs the contract diff free of timestamps, machine paths, and unstable order?
litespec/core/release#meet-release-readiness-gatesguidanceIs every included use case verified, with passing journey evidence for each journey?
litespec/core/release#apply-release-access-controlsguidanceDo authentication and authorization guard every restricted release path?
litespec/core/release#provide-release-data-recoveryguidanceDo schema setup, backup instructions, and a tested restore all exist?
litespec/core/release#provide-release-operating-visibilityguidanceDo health signals and trace diagnostics ship without secrets in source control?
litespec/core/release#provide-release-delivery-controlsguidanceAre CI, deployment, rollback, limits, and runbooks all current?
litespec/core/release#record-the-release-artifactguidanceDoes one release record name the immutable artifact?
litespec/core/release#resolve-release-blockersguidanceIs every open decision and external claim settled or excluded in every owning record?
litespec/core/release#report-verification-exactlyguidanceWould a reviewer learn the commands, outcomes, scope, omissions, and limits from the report?
litespec/core/release#identify-immutable-release-artifactsguidanceDoes the release record name the source commit and artifact reference?
litespec/core/release#list-included-release-behaviorguidanceDoes the record list every included journey, use case, and extension?
litespec/core/release#record-release-evidenceguidanceDoes the record hold a result for every listed evidence kind?
litespec/core/release#record-operating-readinessguidanceDoes the record state limits, alerts, runbooks, conditions, and omissions?
litespec/core/release#keep-release-records-non-authoritativeguidanceDoes the record link outward instead of restating behavior?
litespec/core/release#record-accepted-debt-as-a-known-gapguidanceDoes every accepted debt live as a Known gap with owner and end date?
litespec/core/release#keep-a-first-release-readiness-recordguidanceDoes one record hold dated rehearsals, green gates, and a rehearsal owner?
litespec/core/release#state-each-release-as-a-complete-recordguidanceWould a reader judge the release from this record alone?
litespec/core/release#store-release-records-togetherguidanceDoes the record path follow the default or a recorded Exception?
litespec/core/release#treat-check-warnings-as-failuresguidanceDoes the build fail on warnings except for recorded narrow suppressions?