Skip to content

TUI migration notes

This page records TUI changes an upgrading reader needs. Newest notes first. Current behavior lives on the TUI pages.

Command name sase tui

The TUI command is sase tui. Settings still live under the ace: section of sase.yml (for example ace.keymaps and ace.page_size). See Launching the TUI.

--model-size and tab aliases

--model-size (big or little) remains accepted as an alias of --model-tier (large or small). Startup --tab still accepts axe for services and changespecs / patches for artifacts. See the generated sase tui page.

Agent query tokens

Older agent_query spellings still parse. A known older token such as age>2h or type:run appends the unified replacement hint when it fails:

Older (agent_query) Current (agents-live)
type:workflow / type:run / type:running kind:workflow / kind:agent
age>2h, age>=2h until:2h (started at or before 2h ago)
age<5m, age:5m since:5m (started at or after 5m ago)
status:foo (substring) status:FOO (enum, completion-assisted)
project:foo (substring) project:foo (exact; completion-assisted)
tribe: (bare, "any tribe") no direct equivalent; OR explicit tribes
everything else (cl:, machine:, pinned:, needs:input, source:axe, text:, booleans, AND/OR/NOT, parens, quoting) unchanged spelling

See Agents tab search and modes.

Prompt history store

A ~/.sase/prompt_history.json store is migrated into monthly shards under ~/.sase/prompt_history/ before normal reads and writes when the shard directory has not already been created. See Prompts overlay.

Config and keymap aliases

These older keys remain accepted:

  • ace.artifacts.commits.default_query is an alias of ace.artifacts.stitches.default_query.
  • Gate-modal activate_control is an alias of submit_primary.
  • Stale ace.keymaps.app.search_forward and ace.keymaps.modes.leader_mode.keys.edit_query overrides are ignored with a warning; use ace.keymaps.modes.leader_mode.keys.search_forward and ace.keymaps.app.edit_query.
  • tasks.history_limit is an alias of procs.history_limit.
  • Workflow meta_changespec is an alias of meta_patch.

See Filtering, Global controls, Procs tab, and Agents tab main deck.

In-process pager

Paging runs the SASE pager in-process and passes the structured document directly. See SASE Pager and sase pager.

Detached procs

sase.procs.submit_detached_proc() records the same unattributed command row as sase.procs.submit_proc(session_id=None). Historical detached rows remain visible. A hidden --kind filter remains on sase proc list for those rows. See Procs tab.

Dismissed-name prefix

Older dismissed bundles may still contain YYmmdd.<base> names. Bare %wait skips those prefixed candidates so it anchors on a live, visible agent. See Agent statuses.

HITL and launch-request fallbacks

Older HITL bundles retain a direct response-file fallback. Launch approval retains the older launch-request fallback alongside hash-verified command bundles. See Notifications modal and Launch Approval.

Glossary lane and sase/sase.yml

The SASE CONTEXT / GLOSSARY lane shows audited events from the retired sase glossary read command. Current sase memory read glossary:<keyword> reads surface in the MEMORY lane. Reports from those older events may name a sase/sase.yml source. See Agents tab main deck.

Prompt stack restore and macro sources

Older stash rows and failed-launch recovery rows have no saved cursor, so they restore to the last pane at end of text. Labeled compatibility macro sources remain browseable and read-only; they are never new-write destinations. See Prompt stacks and Snippets.

Session member suffixes

sase's TUI still canonicalizes older dotted suffixes (.plan, .2, .code) and single-dash suffixes (-plan, -2, -code) when reading older artifacts. New plan-session metadata stores double-dash role_suffix values. See Agent workflows.

Artifacts Agent pane

Agent history lives in the Agents tab Archive (,a). The Artifacts ▸ Agent sub-tab is off by default (artifacts_agent_pane_retired); sase flag disable artifacts_agent_pane_retired restores it. See Tabs and panes and Files and preview.

Keymap moves

  • ,n is replaced by Enter on the Agents tab. The direct Patch jump survives as the unbound jump_to_agent_patch command.
  • The Agents-tab detail-view picker is gone; the tab always shows agent data decks and cards. Press p for the deck picker.
  • Glossary-panel bindings folded into Memory-panel actions. ace.keymaps.glossary is still accepted in config for one release, but it is inert. sase doctor warns when a loaded config layer sets it and points at ace.keymaps.memory.
  • ace.prompt_completion.history_word_min_length is replaced by word_min_length.
  • Launch Control rows use the grid ownership gutter | name | value/model | state. Kind labels such as launch and setting are not a column.

See Agents tab, Agent statuses, Global controls, Prompt completion, and Launch Control.

Auto-name migration

sase agent names migrate-auto moves older generated names into the permanent namespace. Pass --force to rerun after the migration marker is present, or --json for machine-readable output. See Agent workflows.

_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.