Skip to content

v0.2.0 — re-mode + engine unification

Choose a tag to compare

@ashbrener ashbrener released this 08 Jun 21:45
· 14 commits to main since this release
e284ba7

Minor release on top of v0.1.0. Install via the GitHub-generated source tarball at this tag.

Feature 004 — guarded re-mode / orphan pruning (new, user-facing)

An opt-in, controlled-destruction reconcile.sh --remode that converges a board to the shape the current mapping projects:

  • Orphan pruning — prunes the bridge-owned artifacts a prior mapping shape left behind, identified by a vendor-neutral diff O = E \ D over the speckit-* identity labels, then regenerates the new shape in one pass.
  • Fail-safe scoping — an issue carrying no speckit-* identity label (e.g. operator-created) is structurally excluded and never touched.
  • Dry-run preview--remode --dry-run previews the exact prune + regenerate set with zero writes, byte-faithful to the real run.
  • Fail-closed — reads are fail-closed (an unreadable read aborts before any delete); a partial prune failure is surfaced and completable by a re-run; backward-drift on a to-be-pruned issue is warned first.
  • Selectable destruction modelremode.destruction: hard-delete (default) or archive.
  • Ordinary reconcile stays strictly non-destructive — it only warns when it detects prior-shape orphans.
  • Governance — gated on a constitution v1.1.0 amendment: a scoped controlled-destruction carve-out to Principle I (flag-only, bridge-owned-only, dry-run-previewable, fail-closed). No principle removed.

Feature 003 — engine orchestration unification (internal, behavior-preserving)

Re-platforms the engine onto one neutral, mapping-driven projection (sync_level_artifact + link_to_parent) driven by a vendor-neutral level loop; the 001-era orchestrators (~450 lines) are removed. An enforced committed gate keeps the engine path free of Jira issue-type / artifact-name / relationship knowledge, so the eventual engine extraction is a near-mechanical lift. No operator-observable change — behavior is byte-for-byte identical and the full suite passes unchanged.

Full changelog: https://github.com/ashbrener/spec-kit-jira-sync/blob/v0.2.0/CHANGELOG.md