Skip to content

v0.3.0

Choose a tag to compare

@specful-release specful-release released this 31 Aug 12:24
c42aa9e

This release replaces the MSRS/MSDD artifact model with first-class Requirement and Design artifacts, following the
accepted ADRs SPECFUL-ADR-0002 through SPECFUL-ADR-0004. It is a direct, pre-1.0 break: there is no compatibility layer
and no automated migration. It also delivers the documentation site at https://unkos-dev.github.io/specful/ and an
opt-in agent plugin, installed from this repository's own marketplace, carrying skills for authoring, reviewing, and
adopting the convention.

Breaking changes

  • schemas/msrs/ and schemas/msdd/ are removed. schemas/requirement/v1 (type: REQ) and schemas/design/v1
    (type: DESIGN) replace them.
  • The ADR schema's discriminator moves from kind: adr to type: ADR, in place at profile-version: 1. Existing ADRs
    must update their frontmatter.
  • ADR section headings move to sentence case: Context and problem statement, Decision drivers, Considered options,
    Decision outcome (and, where present, Pros and cons of the options, More information).
  • .specful/config.yaml counters change from next-adr-sequence / next-msrs-sequence /
    next-requirement-sequence / next-msdd-sequence to next-adr-sequence / next-requirement-sequence /
    next-design-sequence. config-version stays 1.
  • specful new msrs and specful new msdd are removed. Use specful new requirement and specful new design, each
    taking --scope as before. Requirements and Designs live under docs/specs/<scope>/requirements/ and
    docs/specs/<scope>/design/ respectively (previously msrs/ and msdd/).
  • A Requirement is one normative obligation per file (Statement, Rationale, Acceptance criteria,
    More information); the old per-module bundled requirements with source citations are gone. A Design describes one
    subject across eight canonical sections (Purpose and boundaries, Structure, Interfaces and dependencies,
    Data and state, Runtime behaviour, Failure and recovery, Security and operations, More information) and
    declares the Requirements it satisfies.

Manual conversion steps for an existing repository

  1. Edit .specful/config.yaml: replace next-msrs-sequence and next-msdd-sequence with next-design-sequence, and
    rename any existing Requirement counter to next-requirement-sequence if it is not already named that.
  2. For every ADR, change kind: adr to type: ADR and update its ## headings to sentence case.
  3. For every MSRS module, split its bundled requirements into individual type: REQ files under a requirements/
    directory, one obligation per file, following templates/requirement.md.
  4. For every MSDD module, convert it to a type: DESIGN file under a design/ directory, following
    templates/design.md, and set satisfies to the Requirement identifiers it satisfies.
  5. Run specful index to regenerate the catalog and navigation views, then specful validate to confirm the result.

Added

  • (plugin) publish the first marketplace pin (#58)
  • (plugin) add the Specful agent plugin with an empty marketplace root
    (#57)
  • deliver the documentation site (#50)
  • [breaking] implement the Requirement and Design artifact model (#49)

Fixed

  • (templates) stop stamping scaffolded artifacts with an SPDX licence tag (#56)
  • (deps) update rust crate jsonschema to 0.52.0 (#47)

Other

  • adopt the Requirement and Design artifact model (#48)
  • use absolute masthead URLs in the README (#41)