Skip to content

Releases: jimutt/dld-kit

v0.6.0

22 Mar 14:28

Choose a tag to compare

What's Changed

  • Incremental snapshot updates (#16) — The snapshot skill now detects what changed since the last run and applies targeted edits instead of rewriting SNAPSHOT.md and OVERVIEW.md from scratch. Includes detect-snapshot-changes.sh script, commit_hash state tracking, --full flag, and auto-commit of pending decision files before change detection.
  • Review subagent step for dld-implement (#15) — The implement skill now spawns a review subagent to verify implementation quality before completing.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

15 Mar 21:43

Choose a tag to compare

What's new

amends relationship for partial decision modification

New amends frontmatter field allows a decision to partially modify a previous one without fully superseding it. Amended decisions stay accepted — the amendment changes part of the original's scope while the rest remains in effect.

  • create-decision.sh: new --amends flag
  • /dld-decide & /dld-plan: prompt now distinguishes supersede (full replace) vs amend (partial modify)
  • /dld-audit: informational check for amended decisions + mandatory missing-amends detection via new find-missing-amends.sh script
  • /dld-audit-auto: amend-aware auto-fix rules + script-driven missing amends backfill
  • /dld-snapshot: cross-referenced *Amends:* / *Amended by:* annotations and relationship diagram edges
  • /dld-implement: context-gathering now includes amended decisions
  • Steering rule: updated to distinguish supersede vs amend

New script: find-missing-amends.sh

Deterministic audit helper that finds decision IDs referenced in body text but not declared in supersedes or amends fields. Gives audits a concrete starting point for detecting missing amendment relationships.

Test fixes

  • Fixed macOS compatibility: /var vs /private/var symlink resolution, sedawk in structure tests
  • 8 new tests for find-missing-amends.sh
  • 111/111 tests pass on macOS

v0.4.0

14 Mar 15:42

Choose a tag to compare

What's new

Configurable snapshot artifacts (#10)

/dld-snapshot can now generate custom documentation artifacts beyond the built-in SNAPSHOT.md and OVERVIEW.md. Define them in dld.config.yaml:

snapshot_artifacts:
  - title: ONBOARDING.md
    prompt: >
      Generate a developer onboarding guide that explains the system
      from scratch, assuming no prior context.
  - title: API-CONTRACTS.md
    prompt: >
      Summarize all API-related decisions into a single API contract reference.

Each artifact is synthesized from the decision log using the provided prompt and written to decisions/ alongside the built-in files. Per-artifact timestamps are tracked in .dld-state.yaml.

Test suite & CI (#12)

Added 102 bats tests covering all shell scripts and project structure, with GitHub Actions running on every PR and push to main.

  • Tier 1: Unit tests for config parsing, ID generation, decision creation, status updates, index regeneration, annotation detection, snapshot/audit state tracking
  • Tier 2: Structural checks for dual directory sync, script path references, SKILL.md frontmatter validation, tile.json integrity

Other changes

  • Mermaid escaping rules added to snapshot diagram guidelines (#11)
  • Clarified immutability semantics: decision content is immutable once accepted, metadata (status, references) is not
  • Fixed missing compatibility field in dld-audit-auto SKILL.md

v0.3.0

09 Mar 19:17

Choose a tag to compare

Breaking Changes

  • Decision records moved to records/ subdirectory. DL-*.md files now live in decisions/records/ instead of directly in decisions/. High-level docs (INDEX.md, OVERVIEW.md, SNAPSHOT.md, PRACTICES.md) and state files (.dld-state.yaml) remain at the decisions/ root. Existing projects need to mkdir decisions/records && mv decisions/DL-*.md decisions/records/ (and for namespaced projects, move namespace subdirectories into records/).

What's New

  • Added get_records_dir() helper to common.sh
  • All scripts, SKILL.md files, steering rule, and docs updated to use the new layout