Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Jul 17:58
982b83b

Added

  • reconcile now commits multi-file updates as one conflict-detecting durable transaction, recovers
    interrupted work automatically before real runs, and provides recovery-only --recover mode;
    init prints the corresponding transaction-artifact ignore patterns.
  • Empty ATX headings such as # and ## are now recognized and receive the same empty GitHub
    slug that github-slugger generates.
  • Document symlinks whose targets remain inside the project root are now supported. Aliases to the
    same resolved document are loaded once, while external targets are skipped with a warning and
    reconcile revalidates containment before writing.

Changed

  • Documentation ownership is consolidated: README.md owns the user contract, ARCHITECTURE.md owns
    durable decisions and module boundaries, CLAUDE.md routes contributors and agents, CHANGELOG.md
    owns history and migrations, and roadmap.md contains future direction only.
  • Internal: doc_lattice.cli is now a package with a frozen per-invocation runtime, focused
    command adapters, centralized output and error handling, and command-mirrored CLI tests. Runtime
    behavior is unchanged.
  • Internal: Markdown heading recognition and GitHub-compatible slug generation now pass through a
    documented adapter pinned to markdown-it-py==4.2.0 and github-slugger@2.0.0. The slug-strip
    and JavaScript Unicode 17 lowercase and contextual-casing compatibility data is generated from
    upstream. Section spans and the cache schema are unchanged, but existing version-2 load caches
    are rebuilt so parser-derived anchors and spans use the new adapter. Rare headings whose casing
    data was absent from Python Unicode 15.1 now receive the upstream-compatible section id.
  • Internal: the load cache module is now a phase-separated doc_lattice/cache/ package
    (schema/codec, store, lookup, run state). No user-facing behavior change; the cache file
    format is unchanged.

Fixed

  • Markdown files that open YAML frontmatter without a closing --- now fail with a
    source-naming tool error (exit 2) across cached and uncached loads instead of being silently
    omitted from the lattice. Existing version-1 load caches are rebuilt.

Removed

  • BREAKING (2.0): Removed the unsupported binding_layers configuration key. Migration:
    delete the key from 1.x configs; there is no replacement, and lint's fixed authority ladder
    is unchanged. Strict configuration now rejects the key.
  • BREAKING (2.0): Removed the silent --json alias from check, lint, impact,
    reconcile, and linear; impact, reconcile, and linear now accept --format human|json.
    Migration: replace --json with --format json. --indent now requires an effective
    --format json, and the former --json/--format github conflict rule is gone along with
    the alias.
  • Internal: removed the singular section_span helper in favor of the existing section_spans
    API.
  • Deleted completed design specs and implementation plans after recording their durable Linear,
    load-cache, and Markdown compatibility decisions in ARCHITECTURE.md. Also deleted the duplicate
    code-conventions guide and incomplete build log; their owners are CLAUDE.md and CHANGELOG.md.
    Version control retains the implementation history.