Skip to main content

Skip docs navigation
manual page/ ADRs

ADR-0147 — User-directed artifact promotion

sourceSource: suspec/docs/adrs/0147-artifact-promotion.mdModified: 2026-07-13

Context

Transient native artifacts sometimes become durable truth. Preserving a whole document differs from extracting one lesson, but a Suspec store, registry, lifecycle state, or imposed destination would recreate retired infrastructure.

Decision

  1. Promotion is explicit and stateless. promote-artifact discovers project-native durable destinations, presents structured choices, sanitizes transient or private content, moves by default, repairs references, and validates. An already-durable artifact returns unchanged.
  2. The project owns durability. Promotion creates no registry, state field, CLI verb, MCP tool, Suspec directory, or lifecycle record. The human selects a project-native destination.
  3. Git actions are separate choices. Promotion may commit when selected. It never pushes implicitly. Sensitive content blocks promotion until the human selects sanitization or cancellation.
  4. Promotion and findings remain distinct. save-findings extracts durable lessons; promote-artifact preserves a whole document.

Narrowed decisions

  • ADR-0137: transient placement stands; this is the explicit whole-document escape hatch.
  • ADR-0141: native placement stands.
  • ADR-0142: finding promotion remains retired; whole artifact promotion is a distinct stateless action.

Consequences

  • Useful artifacts become durable without a second storage system.
  • Moving prevents transient and durable copies from drifting.
  • Promotion cannot silently publish or push private material.

Status

Accepted (2026-07-12).

Need a starting point? Install the skills