Skip to content

emrg: GUI task primary/secondary list — drop last_cycle_summary from primary row + add reason column to run detail - #873

Merged
argszero merged 2 commits into
masterfrom
feature/gui-task-primary-secondary-list
Aug 19, 2026
Merged

emrg: GUI task primary/secondary list — drop last_cycle_summary from primary row + add reason column to run detail#873
argszero merged 2 commits into
masterfrom
feature/gui-task-primary-secondary-list

Conversation

@argszero

Copy link
Copy Markdown
Owner

Fixes host rant 2026-08-19T18:25:14 (GUI 任务管理·一级/二级列表).

Problem

  • The task management primary list showed last_cycle_summary ("what was done") inline, cluttering the row.
  • The click-to-expand secondary list (run records) lacked the reason (原因) for the throttle/idle judgment.

Changes

  • emrg/gui/renderer/js/dialogs.js: primary task row no longer renders last_cycle_summary; accordion head/rows gain a 4th Reason column (app.taskRunsColReason).
  • emrg/server/scheduler.py + emrg/protocol.py: EvolutionLog gains reason; the vibe-check reason field (natural-language judgment explanation) is now persisted and surfaced in status()recent_runs.
  • emrg/gui/renderer/js/i18n.js: new app.taskRunsColReason key (zh/en); orphaned app.taskLastRunSummary removed (no longer referenced).
  • emrg/gui/renderer/css/components.css: run-detail grid widened to 4 columns (72px / 1fr / 92px / 1fr) + ellipsized .task-run-reason.
  • Tests: scheduler recent_runs reason assertions; GUI accordion test asserts reason column + primary list no longer shows the summary.

Verification

  • Python suite: 976 passed + 1 skipped (977 collected)
  • GUI i18n + renderer smoke: 147/147; daemon_client: 45/45
  • Import + CLI checks pass

Note: GUI integration tests are skipped locally while the daemon holds the fixed port (single-instance admission); they run in CI's isolated environment.

… reason column (rant 2026-08-19T18:25:14)
- Primary task row no longer shows last_cycle_summary ('what was done');
execution records moved entirely to the click-to-expand secondary list.
- Scheduler now persists the vibe-check 'reason' field in EvolutionLog and
exposes it via status() recent_runs (time/work/throttle/reason columns).
- i18n: new app.taskRunsColReason key (zh/en); orphaned taskLastRunSummary
removed. CSS grid widened to 4 columns with ellipsized reason cell.

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

✅ LGTM — cycle

Verified:

  • diff is 7 files / +45 −13, scoped to the rant's requirement (primary row drops last_cycle_summary; accordion gains a Reason column fed by a newly persisted vibe-check reason field).
  • Scheduler status() recent_runs now carries reason; EvolutionLog dataclass extended; no daemon API shape changes elsewhere.
  • i18n: new app.taskRunsColReason (zh/en), orphaned app.taskLastRunSummary removed — orphan/missing-key guard passes.
  • Local verification: Python suite 976 passed + 1 skipped (977 collected, matches Agent.md); GUI i18n + renderer smoke 147/147; daemon_client 45/45; import + CLI OK.
  • CI: test job PASS. (test-windows still running; integration tests need an isolated daemon so they are skipped locally by design while the daemon holds the fixed port.)

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

✅ LGTM — cycle (2nd)

Re-verified in this cycle:

  • Head unchanged (6f4b09b, 7 files / +45 −13); MERGEABLE.
  • Change is scoped and consistent: primary row drops last_cycle_summary; accordion gains Reason column fed by the newly persisted vibe-check reason (EvolutionLog + status().recent_runs); i18n orphan app.taskLastRunSummary removed; CSS grid 4 cols.
  • Local: Python suite 976 passed + 1 skipped (977 = Agent.md); GUI i18n+smoke 147/147; daemon_client 45/45; import + CLI OK.
  • CI: original run's test job PASS; the Windows job was queue-stuck for 35+ min (same start time as the 1m25s linux job) — cancelled and re-triggered via workflow_dispatch (run 32245064133), now in progress.

@argszeroargszero left a comment

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

✅ LGTM — cycle (3rd)

Final verification:

  • Head b369899 (empty re-check commit on top of 6f4b09b, no code change — supersedes the cancelled Windows check from the old run); mergeStateStatus CLEAN, MERGEABLE.
  • Fresh pull_request run 32245663591: test PASS (1m34s) + test-windows PASS (58s).
  • Local verification from cycles 930/931 stands: Python 976+1=977, GUI i18n+smoke 147/147, daemon_client 45/45, import + CLI OK.
  • 3 consecutive LGTMs (cycles 930/931/932), no ❌ between → merging.

@argszero
argszero merged commit 64ca5af into masterAug 19, 2026
2 checks passed
@argszero
argszero deleted the feature/gui-task-primary-secondary-list branch August 19, 2026 11:28
argszero added a commit that referenced this pull request Aug 19, 2026
Co-authored-by: EMRG Evolution <emrg@argszero.dev>
Sign up for freeto 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

@argszero