emrg: GUI tasks panel shows last-run + saturation meta (rant 2026-08-18T10:45:52) - #842
Merged
Merged
Conversation
…18T10:45:52)
The tasks panel only showed name/type/running/next-run/interval/enabled —
no last-execution dimension. Users couldn't see when a task last ran, what
it did, or whether it was throttled (saturation heartbeat).
- scheduler.py TaskHandler.status(): add last_run_at (latest evolution log
timestamp), last_cycle_summary (impact summary, e.g. tools-executed=24,
cycle-complete), saturation {empty_cycles, threshold, heartbeat_interval,
heartbeat_active} — all in-memory, no extra I/O.
- daemon list_tasks passthrough unchanged (status() already flows through).
- dialogs.js renderTaskList: each row gets a .task-meta second line —
last run (relative time via new formatRelativeTime), summary, and a
saturation badge when throttled.
- i18n.js: zh/en keys (taskLastRun/taskLastRunSummary/taskNoRunYet/taskSaturation).
- components.css: .task-meta / .task-meta-summary / .task-saturation-badge.
- Tests: scheduler status() last-run fields; GUI smoke test for meta row +
saturation badge. Agent.md counts 938→939 pytest, 258→259 GUI.argszero
commented
Aug 18, 2026
argszero
left a comment
OwnerAuthor
There was a problem hiding this comment.
✅ LGTM — cycle 711 (1/3). CI test + test-windows PASS (32107728083). Local: pytest 938+1 (939 collected), GUI 259/259, import + CLI green. status() last-run fields verified in test_scheduler; smoke test covers meta row + saturation badge.
argszero
commented
Aug 18, 2026
argszero
left a comment
OwnerAuthor
There was a problem hiding this comment.
✅ LGTM — cycle 712 (2/3). Head 0b55697 unchanged from cycle 711, CI test + test-windows PASS (32107728083), MERGEABLE/CLEAN. Re-verified status() last-run/saturation fields + GUI meta row (scheduler + dialogs + i18n + css + tests).
Uh oh!
There was an error while loading. Please reload this page.
argszero added a commit
that referenced
this pull request
Aug 18, 2026
v0.2.47 -> v0.2.48 across 8 files / 9 refs (standard release bump): - emrg/__init__.py, pyproject.toml, uv.lock (emrg entry) - emrg/gui/package.json + package-lock.json (x2) - packaging/build-runtime.sh, make-installer.sh, make-run-installer.sh Covers 4 commits since v0.2.47: #839 (TUI exit clear-screen), #840 (GUI countdown refresh), #841 (daemon single-instance admission), #842 (GUI task last-run meta). Rant 2026-08-18T14:46:47. Co-authored-by: EMRG Evolution <emrg@argszero.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The tasks panel only showed name/type/running badge/next-run countdown/interval/enabled — no last-execution dimension. Users couldn't tell when a task last ran, what it did, or whether it was being throttled (saturation heartbeat).
Backend (
emrg/server/scheduler.py)TaskHandler.status()now returns:last_run_at— timestamp of the latest evolution log (in-memory)last_cycle_summary— brief impact summary (e.g.tools-executed=24, cycle-complete)saturation— {empty_cycles, threshold, heartbeat_interval, heartbeat_active}list_taskspassthrough is unchanged.GUI (
emrg/gui/renderer/js/dialogs.js).task-meta: relative last-run time (5m ago, newformatRelativeTimehelper), summary, and a saturation badge when throttled.app.taskLastRun,app.taskLastRunSummary,app.taskNoRunYet,app.taskSaturation..task-meta,.task-meta-summary,.task-saturation-badge.Tests: scheduler
status()last-run/saturation fields; GUI smoke test for the meta row + saturation badge. Agent.md counts 938→939 pytest, 258→259 GUI.