Releases: forkzero/lattice
v0.1.22
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 conceptsandlattice help workflowsfor 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
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 conventionslattice help workflows: Shows 4 common task-oriented command sequences (capture_decision, check_health, respond_to_drift, record_gap)lattice helpnow 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
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 jsonresponse shape - Related commands: Navigation hints between commands (e.g.,
drift→get,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_TYPESconstant
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
Summary
Push payload now includes the git remote URL so the app can link back to the source repository.
What's New
repoUrlin push payload:lattice pushsends thegit remote get-url originvalue, 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 repoUrlis optional — omitted gracefully if no git remote is configured
Full Changelog: v0.1.18...v0.1.19
v0.1.18
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
resolvedAtandresolvedByfields - 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
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 pushnow includesgitShaand an optionaldiffobject showing which nodes were added, modified, resolved, or deleted since the last push --since-pushflag onlattice 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-pusherror handling, andgit_head_sha()
Full Changelog: v0.1.16...v0.1.17
v0.1.16
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
ReleaseInfostruct andparse_release_responseeliminate duplication between latest/specific version fetching - Refactored diff internals: extracted
resolve_base_refhelper shared between semantic and raw diff paths
Full Changelog: v0.1.15...v0.1.16
v0.1.15
Summary
Adds orphan node detection to lattice lint, warning on nodes with no inbound or outbound edges.
What's New
- Orphan node detection:
lattice lintnow 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
Summary
Push payloads are now gzip-compressed, reducing transfer size ~10x for typical lattices.
What's Changed
lattice pushnow 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
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 versionlattice editauto-resolves drift: When editing a node, all edge target versions are re-snapshotted to current values (implicit drift acknowledgment)
Fixes
lattice editno longer leaves stale edge versions after bumping a node's version (#15)- E2E test suite: fixed broken pipe in
assert_containsby using here-strings instead of echo pipe
Full Changelog: v0.1.12...v0.1.13