Skip to content

Releases: yusing/mekugi

v0.5.0

Choose a tag to compare

@yusing yusing released this 28 Oct 06:20
0c508b6
fix(threadcontrol): expose schemas before inference (MEKUGI-208)

Because threadcontrol schemas were deferred from the initial catalog,
agents could guess spawn arguments and receive validation errors.

Expose invocation-owned MCP declarations eagerly through Codex's
existing catalog configuration. Keep user-server exposure unchanged.

Verified by TestInvocationMCPComposedEndpoint and
TestNativeThreadsServerOwnedCodex. The installed-Codex host check fails
against the previous configuration and passes with this change.

v0.4.0

Choose a tag to compare

@yusing yusing released this 23 Oct 10:50
dfad8b7
fix(activity): prevent elapsed rollover render panics (MEKUGI-69)

Because elapsed labels can shorten between layout and deferred painting,
a running command crossing 999ms to 1s could shrink two rows into one
and panic when the renderer copied the original row range.

Freeze the painter clock for each feed render and restore it afterward.
Keep subsequent frames advancing without truncating content or changing
navigation metadata to hide mismatched geometry.

Verified by TestUISnapshotFeedElapsedRollover, which reproduced the
slice panic before the fix and now matches fixed-time eager rendering
in Main and Activity. All 680 affected tests pass.

v0.3.0

Choose a tag to compare

@yusing yusing released this 23 Oct 10:49
v0.3.0
c0258bb
v0.3.0

v0.2.0

Choose a tag to compare

@yusing yusing released this 07 Oct 09:11
v0.2.0
de3acf5

Breaking Changes

  • Execution: Mekugi mode requires Codex's JavaScript exec interface (6e5797c)
    • Choose a model that exposes Codex's JavaScript exec interface; models offering only direct execution tools fail before inference.
    • Execution feature overrides apply only to the invocation and do not rewrite user configuration.
  • Execution/Approvals: Interactive remote repository writes require approval even with --yolo (cb2a80a, 88424e2, 73f6074)
    • The guard requires unsandboxed execution, Codex command-hook support, and mekugi-exec installed beside mekugi.
    • Use --vcs-guard=false to retain sandboxed execution or launch interactive passthrough.
    • Conflicting hook configuration can block launch or a new turn without discarding the composer draft.
    • Headless and noninteractive commands do not use the guard.
    • The guard protects against accidental remote writes, not arbitrary program behavior or sandbox escape.
  • Journal/Recovery: Context resets use retained journal evidence by default (eccc727, 5308310, b001417)
    • The default --journal-compaction=auto handles manual and context-full resets for Main and child threads without a provider summary request.
    • Unavailable recovery evidence stops an auto-mode reset with a visible error instead of falling back to the provider.
    • Use --journal-compaction=off to restore provider compaction, or slice to reset only at planned slice boundaries.
    • Recovery focuses on current work and indexes retained details for selective journal reads.
    • Child recovery content appears once under readable agent headings with child-local paths.
    • Passthrough implies off and rejects explicit auto or slice settings.
  • Diagnostics/Profiling: Replace replay-session profile flags with mekugi-pprof (74ee26b)
    • Build with make mekugi-pprof and collect live-session or replay profiles through the diagnostic binary's printed loopback URL.
    • The diagnostic listener has no additional authentication; local callers can access private process information.
    • Normal builds start no profiling listener.
  • UI/Composer: Escape expedites pending steers instead of restoring them to the editor (121e847)
    • The current draft remains unchanged and already-committed input is never resent.
    • Ctrl-C retains the interrupt-and-restore behavior without automatic resending.
  • UI/Diff: Saved Diff no longer has a follow mode (95ad743, 31a956a)
    • Incoming saved edits refresh without moving the chosen file or scroll position.
    • Press s to show and focus the navigator; Enter focuses the selected diff and Escape returns to the list.
    • The r shortcut still resumes following in streaming previews.

Bug Fixes

  • UI/Terminal: macOS UI input setup no longer makes inherited stdout nonblocking (1aee568)
  • UI/Service Tiers: The tier picker changes the effective provider tier (2b550c3, abfd0f0)
    • Explicit choices, including default, override configured per-model tiers for the current thread and routed model during the invocation.
    • The picker shows the effective tier without rewriting the configuration file.
  • UI/Composer: All panes repaint after returning from the draft editor (58bf45c)
  • UI/Composer: Bracketed paste no longer triggers shortcuts or freezes composer input (0e9bdc4)
  • UI/Questions: Question answers preserve editing and complete tool input (2712bd0, f64872e)
    • Bare Left and Right move the caret while editing an Other answer or option note. (2712bd0)
    • Submitted question answers wait until tool input is complete rather than interrupting a partially generated edit or script. (f64872e)
  • Transport/WebSocket: WebSocket interruption preserves valid captures and cancellation status (53bab3b, 4fcf9d1)
    • Cancellation after a completed response no longer marks its capture incomplete.
    • Instant interruption remains cancellation rather than producing an inspection failure notice.
  • Journal: Journal reads and child completion handoffs remain consistent (261e605)
    • Completed child lifecycles can hand off without forcibly closing child-owned unfinished tasks.
    • Parent integration is no longer blocked solely by unfinished task states in a completed child.
    • Provider answers included in a retained child result appear as one complete enriched reply with stable assignment links.
  • Journal/Delivery: Confirmed journal answer delivery survives an immediate disconnect (4099fd5)
  • Changes: VCS effects no longer inflate agent-authored change evidence (e8d8a6b, 463af65)
    • Recognized repository imports, discards, and redirected or piped VCS output remain diagnostic history rather than authored changes.
    • Recognized VCS effects no longer open pending or running live-diff cards.
    • Source-named authored edits in mixed calls remain visible.
    • Existing retained provenance is not rewritten.
  • UI/Live Diff: Finished file operations no longer leave live previews covering the transcript (d86c09d, ebd6bb8, f24e08e, c7276b5)
    • Completed sh and supported env-prefixed formatter commands release their live previews.
    • Guarded formatter commands also release their previews before later work finishes.
    • Move-only operations retain completed evidence without opening live source cards.
  • Execution/Tracking: Command tracking retains per-command evidence inside Codex sandboxes (0f18118)
  • UI/Session: Copied Session Overview values exclude visual wrapping and indentation (907896d)
  • UI/Notifications: Completion notifications wait until automatic continuation is finished (3aa5e65)

New Features

  • UI/Approvals: Interactive sessions can run without --yolo (60471fa, b17cf4d, e63ee43, 5d78fe5)
    • The UI answers Codex command, edit, and permission approval requests using the offered scopes.
    • Command denials can include a typed or pasted reason without losing the parked composer draft or attachments.
    • Remote-write approvals can be remembered for the exact expanded arguments, workdir, and executable until the UI closes.
    • Command rows show pending, approved, denied, and automatically denied states with full details in their dialogs.
    • Headless sessions still require --yolo.
  • Projection: Opt in to duplicate-content references with --duplicate-output (abd95d6, 766e597, de3acf5)
    • Repeated tool output and attached file or skill content can reference earlier visible text in model input.
    • Request-local source IDs distinguish duplicate sources and remain stable as the request grows.
    • Full host results, retained evidence, and UI output remain unchanged.
    • The option is off by default and has no effect in passthrough.
  • UI/File Dialogs: Open local Markdown file links in the shared content dialog (bac7772, 5a4bb24, ab53c1e)
    • Relative links resolve against the session workspace; absolute paths and local file URLs are also supported.
    • Line and line-range suffixes reveal the referenced source and highlight its line numbers.
    • Markdown files open in rendered Markdown view with a separate numbered File view.
    • Each view retains its own scroll and search state; whole-page copy returns the original file bytes.
    • Files must be UTF-8 text no larger than 8 MiB; unsupported content and read failures show copyable errors.
  • UI/Selection: Extend text selections beyond the visible viewport (521a061, 676b222, 5a4bb24)
    • Wheel and keyboard scrolling preserve a frozen selection across transcript panes, saved Diff, side answers, and content dialogs.
    • Content dialogs offer Reference, Copy, and Clear actions matching the transcript.
    • Selection backgrounds preserve source syntax colors.
  • UI/Skills: Inspect the skills loaded in each agent's current context (2cff522, 676b222)
    • Main's title and child-agent rows count confirmed skill reads and submitted skill attachments in the current context.
    • Click a loaded-skills count to open the sorted names.
    • Resume reconstructs confirmed loads from history; incomplete counts remain hidden rather than appearing as zero.
  • Execution/Tracking: Per-command tracking supports Linux dash-backed sh (be2356d, e0c51da, 97e6b65)
    • Supported command lists stream per-command output with individual exit status and measured elapsed time.
    • Supported single Bash and dash-backed sh commands show measured command time.
    • Unsupported scripts retain aggregate host output rather than fabricated command boundaries.
  • UI/Activity: Running command headers remain visible above the transcript (8750436)
    • Off-screen running headers stay pinned in Main and the filtered child Activity view until completion.
    • Pinned headers retain their output-dialog click targets.
  • UI/Activity: Long-running command rows show known timeout bounds (7f75217, bc53eb8)
    • Supported literal shell timeout prefixes and available exec_command timeout_ms inputs appear after 500 ms of command runtime.
    • Recognized reads, skills, and supported pipelines retain their operation labels under literal timeout prefixes.
    • Fresh resume omits parameter-derived bounds when the original invocation input is unavailable.

Improvements

  • Metrics/Throughput: Provider-measured token rates stay visible while streaming and between requests (e00c2c4, 218642c, 050d6e3, 3e57156, 30b6d3e)
    • Main's rate appears in its composer and child rates appear in their roster rows.
    • Measured durations exclude local processing and delivery of response bytes already received.
    • Rates remain blank until the first valid measurement and survive resume when retained.
  • UI/Diff: Diffs emphasize changed words within replacement lines (b038f97)
    • Replacement blocks preserve syntax colors and emphasize inserted and removed words.
    • Shared source previews use the same highlighting without changing copied source or retained evidence.
  • UI/Transcript: Completed transcript activity uses compact summaries (0b4e369, 03dc239, 887536e)
    • Settled Main operation groups collapse after scrolling...
Read more