[Improve] Show durable goal status above the task composer - #1341
[Improve] Show durable goal status above the task composer#1341roomote-roomote[bot] wants to merge 8 commits into
Conversation
|
Fixed in Verification: focused transcript test 27/27 passed; web typecheck, lint, format check, diff check, and pre-push oxlint/residual lint/fast typechecks/knip passed. Updated browser proof was unavailable because the configured local preview timed out before and after one bounded restart. |
|
Final compact-layout revision: The durable GoalPanel is now one grouped horizontal status item immediately above the composer: lifecycle icon, bold status, inline truncating objective with tooltip/title, bullet, and adjacent elapsed or final duration. Active, complete, blocked, and continuation-limit states share the same compact structure, and legacy terminal goals without timestamps use accessible The implementation retains persisted objective/status/timestamps, live active timing, terminal frozen timing, TodoList placement, and non-goal behavior. It does not restore transcript UI, prompt parsing, or inferred state. The branch was merged with current Verification: 30 focused web tests passed; web and DB TypeScript passed; web ESLint, formatting, and diff checks passed; pre-push oxlint, residual web/worker lint, fast workspace typechecks, and knip passed. Current desktop proof: compact active goal row above the composer. |
|
Rebased and repaired in The branch now sits on the latest Verification passed: migration application and regeneration integrity, 18 DB tests, 89 focused web tests, DB and web TypeScript, web ESLint, formatting, diff checks, and all pre-push gates. Browser visual proof is not applicable to this maintenance-only rebase and migration repair because no UI implementation changed during the follow-up. |
a1aba1e to
fcc0f1d
Compare
What changed
N/Atext with an accessibleDuration unavailablelabel instead of clipping narrow screens.Why this change was made
The previous durable panel used a tall two-row card treatment that visually separated the objective and pushed timing away from the status. Product feedback called for one grouped inline treatment that stays compact above the composer while retaining strong persisted lifecycle state.
Impact
Users see the latest goal as one scan-friendly line directly above the composer, with the objective and elapsed or final duration kept together. Long objectives truncate gracefully, terminal states use the same structure, and tasks without goals remain unchanged.
The lifecycle migration remains additive and nullable for N-1 rollback compatibility. After rebasing onto the latest
develop, Drizzle regenerated the goal timestamp migration as0044_majestic_lockjaw.sqlafter0043_nifty_payback.sql; its executable SQL adds onlytasks.goal_started_atandtasks.goal_ended_at.Verification passed: 89 focused web tests across the goal panel, session refresh, prompt input, placement, persistence, non-goal, and transcript surfaces; 18 DB goal and migration-integrity tests; web and DB TypeScript; web ESLint; formatting; migration application and regeneration checks; diff checks; and the full pre-push oxlint, web/worker lint, fast workspace typechecks, and knip gates. Browser visual proof is not applicable to this maintenance-only rebase and migration repair because no UI implementation changed during the follow-up.