Skip to content

git-strata v0.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:08

git-strata 0.2.1 — session marks and safe auto-close

Upgrade first: store migration v6 → v7 (irreversible)

The first 0.2.1 daemon start upgrades <root>/store/store.db from schema v6
to v7, adding session marks. It makes a durable, verified pre-migration backup
in store/backups/ and prints its path. 0.2.0 cannot open a v7 store.
Upgrade the CLI, daemon and hook callers together; a mixed installation is not
supported. No config edits are required.

Before upgrading, check git-strata status and git-strata daemon status:
no publishing and no holders. Back up the store and its sidecars, config.toml,
pins.json and the LaunchAgent plist. Upgrade the Homebrew formula (and the
desktop cask if installed), restart the existing LaunchAgent with
launchctl kickstart -k gui/$(id -u)/com.gwd.git-stratad, then verify daemon
status and git-strata ls. Never start a second daemon with brew services.
Refresh the installed skill: npx skills update git-strata -g.

To downgrade, stop the daemon, preserve the current store and sidecars together,
restore the verified v6 backup as store/store.db (without the v7 sidecars),
and install the matching 0.2.0 CLI and daemon before restarting. Restoring the
backup loses metadata recorded after migration; preserve and reconcile session
directories before further work. Git commits and refs remain. Earlier-schema
upgrades must restore the backup compatible with their old binaries; see
store recovery.

Session marks

  • git-strata mark --session S done records completion intent, with an optional
    note; mark --session S active clears it. Marking never discards work.
  • The desktop app displays done badges and supports filtering by mark.
  • Marking requires the daemon feature session.mark; upgrade the daemon as well
    as the CLI. A done mark allows later automatic closure, so clear it before
    resuming work in that session.

Safe automatic closure after publish

  • Automatic closure defaults to enabled, with global [publish].auto_close and
    per-repo publish.auto_close overrides.
  • After publish has fully landed the session in main, safe eligible sessions
    are moved to trash using non-discard checks. Unpublished work is never thrown
    away: the session remains open, with a safe done mark where allowed.
  • Inspect data.auto_close.sessions[<session id>] in the publish reply for the
    closure result, mark outcome and reasons. Disabled, busy or changed sessions
    are not treated as safely closed. Follow the updated skill's reason-specific
    guidance rather than forcing removal.

Validation note

The landed batch passed review. The full workspace test run encountered the
existing parallel interference in strata-deps/tests/open_files.rs; its serial
rerun passed all six tests. That file is unchanged in this release.

Apple silicon (arm64), macOS 13+. Signing: adhoc (see docs/release.md).

brew install dickwu/tap/git-strata                 # CLI + daemon
brew install --cask dickwu/tap/git-strata-desktop  # desktop app

If macOS blocks the app: System Settings > Privacy & Security > Open Anyway, or
sudo xattr -dr com.apple.quarantine "/Applications/GIT STRATA.app".

Full Changelog: v0.2.0...v0.2.1