emrg: GUI / 指令 P4 — evolution commands (/rant /trigger, rant 19:44) - #496
Conversation
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
left a comment
There was a problem hiding this comment.
✅ 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
left a comment
There was a problem hiding this comment.
✅ 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).
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
handleCommandfor phase-4 commands:/rant [message]→ evolution dialog with project dropdown (list_projects) + textarea;/rant <text>submits directly; sends via daemonrantprotocol (field order timestamp/project/status/progress/completed/message preserved by daemon)/trigger [name]→ task list dialog (list_tasks);/trigger <name>triggers immediately via daemontrigger_taskemrg:listProjects/emrg:listTasks/emrg:triggerTask/emrg:sendRant(daemon protocols already exist — zero daemon changes)listProjects/listTasks/triggerTask/sendRantrant-dialog+tasks-dialog(same card style)Verification
import run_client+emrg --helpOKRant 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.