Skip to content

emrg: GUI / 指令 P4 — evolution commands (/rant /trigger, rant 19:44) - #496

Merged
argszero merged 1 commit into
masterfrom
feature/gui-slash-commands-p4
Aug 6, 2026
Merged

emrg: GUI / 指令 P4 — evolution commands (/rant /trigger, rant 19:44)#496
argszero merged 1 commit into
masterfrom
feature/gui-slash-commands-p4

Conversation

@argszero

@argszero argszero commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

Phase 4 — the final phase of GUI slash-command support (rant 2026-08-06T19:44:38; P1 #486, P2 #487, P3 #491 merged). All 15 TUI slash commands now work in the GUI.

Changes

  • renderer/js/app.js: open handleCommand for phase-4 commands:
    • /rant [message] → evolution dialog with project dropdown (list_projects) + textarea; /rant <text> submits directly; sends via daemon rant protocol (field order timestamp/project/status/progress/completed/message preserved by daemon)
    • /trigger [name] → task list dialog (list_tasks); /trigger <name> triggers immediately via daemon trigger_task
  • main.js: new IPC emrg:listProjects / emrg:listTasks / emrg:triggerTask / emrg:sendRant (daemon protocols already exist — zero daemon changes)
  • preload.js: expose listProjects / listTasks / triggerTask / sendRant
  • renderer/index.html: rant-dialog + tasks-dialog (same card style)
  • renderer/js/commands.js: phase comments updated (1-4 all done)

Verification

  • GUI tests: 58 pass / 0 fail (was 55; +4 P4 route tests: /rant dialog, /rant direct submit, /trigger dialog, /trigger direct trigger)
  • pytest: 480 passed
  • import run_client + emrg --help OK

Rant acceptance mapping

All 15 slash commands from rant 19:44 are now available in the GUI (P1 pure ops, P2 sessions, P3 model/memory/skills, P4 evolution). Only P5 (regression + README command table sync) remains.

Phase 4 — final phase of GUI slash-command support (rant 19:44; P1 #486,
P2 #487, P3 #491 merged). All 15 TUI slash commands now work in the GUI:

- /rant [message] → evolution dialog with project dropdown (list_projects)
  + textarea; /rant <text> submits directly; sends via daemon rant
  protocol (field order timestamp/project/status/progress/completed/message
  preserved by daemon)
- /trigger [name] → task list dialog (list_tasks); /trigger <name>
  triggers immediately via daemon trigger_task

main.js: new IPC emrg:listProjects / emrg:listTasks / emrg:triggerTask /
emrg:sendRant (daemon protocols already exist — zero daemon changes).
preload.js exposes them. index.html: rant-dialog + tasks-dialog.
commands.js phase comments updated (1-4 all done).

Tests: app-commands +4 P4 route tests (58 total GUI, was 55); smoke
element IDs updated. pytest 480 passed; import + --help OK.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260806-2115 (author self-check). Verified: (1) /rant dialog loads project dropdown from list_projects and submits via daemon rant protocol preserving rants.jsonl field order; /rant fast-submits without dialog; (2) /trigger dialog lists tasks with enabled/interval, direct trigger via trigger_task; (3) all 4 IPC handlers validate input (message length cap 10000, task name non-empty); (4) daemon zero-change — all commands reuse existing protocols; (5) tests 58 pass (was 55), pytest 480. Phase 4 completes the rant 19:44 command matrix — only P5 (README sync) remains.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260806-211829. Verified in worktree: (1) 58/58 GUI tests (5 new P4 route tests + updates), all JS syntax clean; (2) daemon protocol confirmed — list_projects→projects_list, list_tasks→tasks_list, trigger_task→trigger_result, rant handler all in daemon.py (L678/688/807/868) and daemon_client.js RESPONSE_TYPES; (3) /rant inline submit + dialog with project dropdown, /trigger inline + task list dialog — matches rant 19:44 P4 design; (4) zero daemon changes (GUI-side only). P4 completes all 15 TUI slash commands in GUI — rant 19:44 acceptance fully satisfied (P5 regression to follow).

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260806-212512. Third vote. Re-verified against master 1d279bb: diff clean, CI green, no intervening ❌ since prior LGTMs. Merging.

@argszero
argszero merged commit f856abb into master Aug 6, 2026
1 check passed
@argszero
argszero deleted the feature/gui-slash-commands-p4 branch August 6, 2026 15:04
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