Skip to content

Releases: forkzero/lattice

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

v0.1.12

14 Mar 01:45

Choose a tag to compare

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 drift returned 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

14 Mar 01:18

Choose a tag to compare

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 --to
  • lattice replace edge: Retarget an existing edge to a new node with --old-to and --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

09 Mar 23:55

Choose a tag to compare

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 --files and --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 lint after any direct YAML edit and file an issue on forkzero/lattice with the cli-gap label

What's Changed

  • lattice edit command catalog updated with --files and --test-command parameters and examples
  • Skill now includes add implementation example (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