Skip to content

ci: use setup-sema action - #2

Merged
HelgeSverre merged 2 commits into
mainfrom
ci/use-setup-sema
Jul 13, 2026
Merged

HelgeSverre merged 2 commits into
mainfrom
ci/use-setup-sema

Conversation

@HelgeSverre

@HelgeSverre HelgeSverre commented Jul 13, 2026 •

Copy link
Copy Markdown
Member

Dogfood the new sema-lisp/setup-sema action: replaces the manual curl | sh install with a single uses: step (tool-cached, checksum-verified, version-pinnable). Pinned to @main until v1 is published.

@HelgeSverre
HelgeSverre merged commit e10ce30 into main Jul 13, 2026
1 check passed
@HelgeSverre
HelgeSverre deleted the ci/use-setup-sema branch July 13, 2026 07:57
HelgeSverre added a commit that referenced this pull request Jul 13, 2026
Correctness / crashes (#f treated as truthy by when-let/if-let on current sema):
- overlay: resume-sel-session / mcp-sel-server return nil, not #f, so the
  restore/connect when-let guards skip on an empty modal instead of calling
  (:id #f) / (:name #f) and crashing the TUI (#1, #4).
- commands: editor-command returns nil so open-config! can't run a shell
  command literally named "#f" when $VISUAL/$EDITOR are unset (#12).

Data loss:
- tui: gate the ⌃O/⌃R overlay opens on *busy* — a mid-turn restore raced the
  finishing turn, which then overwrote *messages* and persisted onto the wrong
  session file (#2).
- tui: /clear (messages → '()) now starts a fresh session id via apply-tui-state!
  so the next turn doesn't overwrite the cleared conversation's file (#6).
- session: save-session! writes a temp file then renames over the target, so a
  crash mid-write can't truncate the only copy (#14).

Config reload:
- commands: /reload keeps the running config on a broken init.sema (like the
  file-watch path) instead of reconciling to defaults, which wiped the user's
  live commands/keybindings/servers over a typo (#3).
- tui/commands: re-run mcp-autostart! on hot-reload and /reload so newly-declared
  :autostart servers actually connect (#8).

Output caps / render:
- tools: read-file and grep apply a character cap (not just a line cap), so a
  few very long lines can't flood context / OOM (#5, #13).
- tui: re-clamp the frame after overlay-center so an overlay taller than the
  terminal can't write past the bottom and desync the diff renderer (#7).

Tests (new audit_regressions_test.sema + additions):
- resume/mcp selection nil-safety, /clear session rotation, provider-key-missing?
  on an unknown provider (#11), truncate-chars (#10), :raw whitespace
  preservation (#15), and reconcile preserving a live MCP connection (#9).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant