Releases: forkzero/lattice
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
v0.1.12
Summary
Fixes update notifications not appearing on several commands, and makes them visible to agents running in non-terminal environments (e.g. Claude Code sandbox).
Fixes
- Update notification now shows on all commands (previously skipped when commands like
lattice driftreturned early) - Update notification no longer suppressed in non-terminal environments, so agents can see it too
- Bare
lattice(no subcommand) now shows update notification before help output
Full Changelog: v0.1.11...v0.1.12
v0.1.11
Summary
Adds lattice remove edge and lattice replace edge commands for full edge lifecycle management, plus new lattice requirements from gws architecture review and auth team recommendations.
What's New
lattice remove edge: Remove an edge between two nodes by specifying--from,--type, and--tolattice replace edge: Retarget an existing edge to a new node with--old-toand--new-to, optionally updating the rationale- New lattice requirements REQ-CLI-020 through REQ-CLI-026 (skill generation, schema introspection, dry-run mode, auth commands)
- New sources: SRC-GWS-CLI (Google Workspace CLI patterns), SRC-AUTH-PATTERNS (auth team recommendations)
What's Changed
- SKILL.md: Added edge management commands to Quick Reference and new "Managing Edges" section
- CLAUDE.md: Added edge commands to CLI Commands reference
- SKILL.md: RFC 2119 notation and three-tier editing rules (from v0.1.10)
Fixes
- Edge removal cleans up empty vectors (sets field to None instead of leaving
[])
Full Changelog: v0.1.10...v0.1.11
v0.1.10
Summary
Closes the CLI gap that forced agents to hand-edit YAML for implementation metadata, and hardens the skill with RFC 2119 notation and a feedback loop for missing capabilities.
What's New
lattice edit --filesand--test-command: Implementation nodes can now have their file paths and test commands updated via the CLI, eliminating the last common reason agents fell back to editing YAML directly- RFC 2119 skill notation: Skill instructions now use MUST/SHOULD/MAY for clearer agent behavioral boundaries
- CLI gap feedback loop: When the CLI can't do something, agents are instructed to run
lattice lintafter any direct YAML edit and file an issue onforkzero/latticewith thecli-gaplabel
What's Changed
lattice editcommand catalog updated with--filesand--test-commandparameters and examples- Skill now includes
add implementationexample (was missing, causing agents to not know how) - New dedicated "Editing Nodes" section in skill with concrete examples
- Handles
#[serde(untagged)]round-trip issue by re-parsing implementation meta based on node type
Full Changelog: v0.1.9...v0.1.10