Dashboard UI polish (heading, Title Case, named strategies, row clarity)#143
Merged
Conversation
…ection clarity - Heading is now 'Cozempic Dashboard'. - Distinguish the two top sections: 'Lifetime — All Time' band (from ~/.cozempic_savings.json, all-time) vs 'Recorded Prunes' (from receipts, per-prune), with an explanatory note so the rows are no longer ambiguous. - Title Case throughout; strategy / tier / agent slugs render as readable names (tool-output-trim -> Tool Output Trim, claude -> Claude). - Footer shows how to regenerate (cozempic dashboard) — a static HTML file can't run a command itself, so this is the honest equivalent of a regenerate link. 1745 tests passing; ledger/receipts untouched.
There was a problem hiding this comment.
Pull request overview
Polishes the static dashboard HTML (D3/D4) by updating the page title/heading, clarifying the distinction between lifetime totals vs receipt-backed “Recorded Prunes”, and rendering strategy/tier/agent labels in a Title Case display form.
Changes:
- Add a
_pretty_label()helper and apply it to strategy/tier bars and agent labels/pills. - Refresh lifetime band wording/structure (“Lifetime — All Time”) and add a Recorded-Prunes explainer note.
- Update dashboard title/heading/footer copy and adjust tests to match the new rendered strings.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
src/cozempic/dashboard/render.py |
Updates dashboard copy/structure and introduces Title Case rendering for slugs/agent names. |
tests/test_dashboard_render.py |
Updates renderer expectations for Title Case labels and updated headings. |
tests/test_dashboard_lifetime.py |
Updates lifetime band string assertions to match new wording. |
tests/test_codex_inherit.py |
Updates HTML assertions to match Title Case agent rendering (but leaves one isolation assertion case-sensitive). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
112
to
+114
| html = render_dashboard(base, generated_ts="now") | ||
| self.assertIn("codex", html) | ||
| self.assertIn("claude", html) | ||
| self.assertIn("Codex", html) # agent name rendered Title Case | ||
| self.assertIn("Claude", html) |
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 free
to 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.
Follow-up to #141. Heading -> 'Cozempic Dashboard'; distinguishes the Lifetime band vs Recorded-Prunes section; Title Case + named strategies; regenerate hint in footer. 1745 tests passing.