Skip to content

Releases: forkzero/lattice

v0.1.22

24 Mar 21:25

Choose a tag to compare

Summary

Adds a --compact flag for LLMs that already know the lattice domain model and just need command signatures.

What's New

  • lattice --json --compact: Outputs only command names and parameter specs (name, type, required, description) — no examples, descriptions, concepts, or workflows. ~50% smaller than the full catalog.
  • Also available via lattice help --json --compact

What's Changed

  • v0.1.21 added lattice help concepts and lattice help workflows for human-readable onboarding
  • v0.1.20 added the full enriched catalog (concepts, workflows, structured examples, schema hints, related commands)

Full Changelog: v0.1.21...v0.1.22

v0.1.21

24 Mar 20:58

Choose a tag to compare

Summary

Adds human-readable help topics so users can learn lattice concepts and workflows directly from the CLI.

What's New

  • lattice help concepts: Displays node types (with prefixes), all edge types with semantics and direction, versioning/drift model, and ID naming conventions
  • lattice help workflows: Shows 4 common task-oriented command sequences (capture_decision, check_health, respond_to_drift, record_gap)
  • lattice help now includes a TOPICS section pointing to the new topics
  • Unknown topics produce a clear error with available options

Full Changelog: v0.1.20...v0.1.21

v0.1.20

24 Mar 20:29

Choose a tag to compare

Summary

Enriches the lattice --json command catalog so LLMs can understand the domain model, edge semantics, and common workflows without external documentation.

What's New

  • Concepts block: Node types (with prefixes and purpose), all 10 edge types with plain-English semantics and direction, versioning/drift model, and ID naming conventions
  • Workflows section: 4 task-oriented patterns — capture_decision, check_health, respond_to_drift, record_gap — with step-by-step command sequences
  • Structured examples: Examples now include command + explanation (was bare strings)
  • Output schema hints: Each command includes a one-line hint of its --format json response shape
  • Related commands: Navigation hints between commands (e.g., driftget, edit, summary)

What's Changed

  • All command descriptions expanded with "when to use" guidance
  • 6 new tests validating catalog structure; edge type test validates against canonical EDGE_TYPES constant

Fixes

  • JUnit XML test reporting added for forkzero meta-repo conformance (make test-all)

Full Changelog: v0.1.19...v0.1.20

v0.1.19

17 Mar 01:36

Choose a tag to compare

Summary

Push payload now includes the git remote URL so the app can link back to the source repository.

What's New

  • repoUrl in push payload: lattice push sends the git remote get-url origin value, enabling the app to link to the source repo, files, commits, and PRs

What's Changed

  • Made get_git_remote_url() public for use by the push handler
  • repoUrl is optional — omitted gracefully if no git remote is configured

Full Changelog: v0.1.18...v0.1.19

v0.1.18

17 Mar 00:56

Choose a tag to compare

Summary

Adds resolution status to the push payload and improves push diagnostics with detailed error messages.

What's New

  • Resolution data in push payload: Push now includes requirement resolution status (verified/blocked/deferred/wontfix) with resolvedAt and resolvedBy fields
  • Diagnostic warnings on push: When the semantic diff cannot be computed (network issues, missing baseline), clear warnings explain why instead of silent fallback

What's Changed

  • Extracted enum_to_string() helper to deduplicate enum serialization in push payload construction
  • Removed unnecessary URL clone in fetch_last_push_sha()
  • Updated last-push-sha endpoint path to /api/lattice/push/last

Full Changelog: v0.1.17...v0.1.18

v0.1.17

15 Mar 23:07

Choose a tag to compare

Summary

Adds semantic diff tracking to lattice push and a new --since-push flag on lattice diff, so the app knows what changed since the last push.

What's New

  • Semantic diff in push payload: lattice push now includes gitSha and an optional diff object showing which nodes were added, modified, resolved, or deleted since the last push
  • --since-push flag on lattice diff: Fetches the last-push SHA from the API and uses it as the diff baseline — no need to remember git refs
  • Changed fields tracking: Modified nodes now report which fields changed (e.g. ["title", "body"]), visible in JSON output and the push payload

What's Changed

  • Extracted resolve_api_credentials() helper to deduplicate API URL/key resolution across push and diff handlers
  • 15 new tests (9 unit + 6 integration) covering field comparison, wire-format serialization, --since-push error handling, and git_head_sha()

Full Changelog: v0.1.16...v0.1.17

v0.1.16

15 Mar 21:45

Choose a tag to compare

Summary

Better update UX and raw diff output for lattice files.

What's New

  • lattice diff --raw: Show the actual git diff of .lattice/ files instead of the semantic summary — useful for reviewing exact YAML changes or piping into other tools

What's Changed

  • Clearer update error: When a release exists but binaries haven't been uploaded yet (release workflow still building), the error now says "Release vX.Y.Z exists but binaries are not yet available" instead of a confusing URL-based error
  • Refactored update internals: shared ReleaseInfo struct and parse_release_response eliminate duplication between latest/specific version fetching
  • Refactored diff internals: extracted resolve_base_ref helper shared between semantic and raw diff paths

Full Changelog: v0.1.15...v0.1.16

v0.1.15

15 Mar 01:11

Choose a tag to compare

Summary

Adds orphan node detection to lattice lint, warning on nodes with no inbound or outbound edges.

What's New

  • Orphan node detection: lattice lint now warns on nodes that have zero edges (no connections to any other node), indicating incomplete graph wiring
  • Added REQ-LINT-001 requirement tracking this feature

What's Changed

  • Refactored lint internals to build the node index once and share it across cross-node checks, eliminating redundant filesystem I/O

Full Changelog: v0.1.14...v0.1.15

v0.1.14

15 Mar 00:21

Choose a tag to compare

Summary

Push payloads are now gzip-compressed, reducing transfer size ~10x for typical lattices.

What's Changed

  • lattice push now gzip-compresses the JSON payload before sending (Content-Encoding: gzip)
  • Uses fast compression to minimize CPU overhead

Note: The receiving server must support gzip-encoded request bodies.

Full Changelog: v0.1.13...v0.1.14

v0.1.13

14 Mar 22:31

Choose a tag to compare

Summary

Fixes drift persisting after lattice edit and adds lattice drift --acknowledge for explicitly accepting drift without editing.

What's New

  • lattice drift --acknowledge <ID>: Re-snapshot all edge target versions on a node without changing content or bumping version
  • lattice edit auto-resolves drift: When editing a node, all edge target versions are re-snapshotted to current values (implicit drift acknowledgment)

Fixes

  • lattice edit no longer leaves stale edge versions after bumping a node's version (#15)
  • E2E test suite: fixed broken pipe in assert_contains by using here-strings instead of echo pipe

Full Changelog: v0.1.12...v0.1.13