Skip to content

v0.6.0

Choose a tag to compare

@Aha43 Aha43 released this 11 Jul 12:17
· 21 commits to main since this release
635a792

[0.6.0] - 2026-07-11

Sprint 6 — the explorer grows hands. Its menu, previously read-and-navigate only, now acts:
create a participant, start a dormant project, pin/unpin, or end one behind a confirmation —
each over the matching fm verb, so the menu never knows anything the CLI doesn't. Two shakedown
fixes from days of real use (the menu no longer closes under the cursor mid-navigation; the app
survives its launch terminal and logs its own crashes), and a multi-agent pre-release review
caught six more before the cut — chiefly install-agent leaving a duplicate menu-bar icon.

Added

  • New participants from the explorer. Each project's submenu gains "New participant"
    listing the configured roles plus shell; clicking one creates the terminal and pulls it
    into a Terminal window, same as clicking a participant. Roles the project already has are
    shown disabled. Failures surface as a notification. Closes #69.

  • Pin and unpin from the explorer. Each project's submenu gains a Pin/Unpin toggle —
    one item, labeled by what a click would do — over the CLI's pin/unpin verbs. The ★
    and sort order update immediately instead of waiting out the 10-second poll. Closes #71.

  • Done from the explorer, behind a confirmation. Each project's submenu lists
    "Done …" per participant; a caution dialog stands between click and teardown —
    "closing is harmless, ending is explicit", and a misclick must never kill a participant.
    Anything but an explicit Done (cancel, 60-second give-up, error) answers no. Per-participant
    only: whole-project done stays a deliberate CLI act. Closes #72.

  • Start a dormant project from the explorer. Projects configured in config.toml but not
    running are listed under "start a project"; picking a role creates the first participant
    and pulls it into a Terminal window — a project exists when its session does, so starting
    one is just new on a project not running yet. Closes #70.

Fixed

  • The explorer can survive its launch terminal, and leaves evidence when it dies.
    fm-explorer install-agent registers a macOS LaunchAgent that starts the explorer at login
    and relaunches it if it crashes (but not on a deliberate Quit) — so it no longer vanishes
    when the terminal it was launched from closes; uninstall-agent removes it. Either way,
    panics are now logged to ~/.local/state/foreman/explorer.log instead of a silent
    disappearance, and a panic in one menu action is contained rather than taking down the whole
    app. Closes #80.

  • The explorer menu no longer closes itself while you navigate it. The 10-second poll
    rebuilt the entire menu every tick, slamming an open menu shut under the cursor — barely
    noticeable on the old flat menu, unusable with submenus. The menu is now torn down only
    when its shape changes (projects or participants appear/disappear, pins flip, config
    changes); label-only changes update the existing items in place, which macOS renders live
    without closing anything. Observation (state memory, waiting-notifications) still runs
    every tick regardless. Closes #79.

Changed

  • Explorer project headers are now submenus. Each project's header opens a submenu that
    will host the Sprint 6 actions (new participant, pin/unpin, done); until those land it
    holds a placeholder. Participants stay top-level items — the at-a-glance view and the
    one-click "pull it here" are unchanged. Closes #68.