Skip to content

SPEC-007 — Governed Publication Lifecycle

Requirement

A generated narrative MUST NOT replace a published artifact without explicit human approval and an explicit publish operation.

States

A publication MUST use publication_state independently of the research object's general lifecycle status. Supported states are:

draft, generated, needs_review, approved, published, rejected, superseded, and archived.

Policy

Each publication MUST declare a policy containing:

  • auto_generate;
  • auto_publish, which MUST be false;
  • require_review;
  • require_signature;
  • regenerate_when.

auto_generate MAY regenerate a derived draft. It MUST NOT publish that draft.

Staleness

The narrative engine MUST compare a stored source digest with the current digest of all linked source objects. A stale publication MUST NOT be approved or published until regenerated.

Review

Approval MUST record reviewer, timestamp, draft revision, note, and—when required—signature. Rejection MUST remain auditable.

Publish

Publishing MUST require:

  1. an approved publication state;
  2. a non-stale source digest;
  3. the approved draft file;
  4. publisher identity;
  5. publisher signature when required.

The published artifact MUST be copied to the NUR documentation tree only after these gates pass.

Audit

Generation, approval, rejection, publishing, and archiving MUST append immutable repository events and publication-history entries.