Skip to content

chore(release): v1.7.6 — token usage dashboard + auto-memory#54

Merged
mohitsoni48 merged 4 commits into
mainfrom
release/v1.7.6
Jul 9, 2026
Merged

chore(release): v1.7.6 — token usage dashboard + auto-memory#54
mohitsoni48 merged 4 commits into
mainfrom
release/v1.7.6

Conversation

@mohitsoni48

Copy link
Copy Markdown
Owner

Summary

  • Token usage dashboard (Usage nav tab): adaptive-granularity heatmap (1h/12h/24h boxes for 7d/30d/all), 8 stat tiles, per-model breakdown with stacked chart + ranked legend, lifetime milestone ladder with a fun-fact comparison.
  • Auto-memory: silent background extraction of durable user facts (opt-in, off by default), Settings toggle + reviewable/deletable fact list, injected into future new conversations only. Tagged Experimental in the Settings UI.

Test plan

  • npm run typecheck (frontend)
  • Verified live against the real daemon (127.0.0.1:6996): dashboard renders across 7d/30d/all ranges, Models tab stacked chart, Settings Memory section toggle + fact list + Experimental badge
  • Auto-memory outbound-payload verified: fact appears in a new conversation's persisted system prompt; deletion and toggle-off both correctly remove it

Token usage dashboard: adaptive-resolution activity heatmap (1h boxes for
7d, 12h for 30d, 1-day GitHub-style grid for all, always 7 rows tall so the
card height stays constant across ranges, padded to 180 days minimum),
gamified stats (streaks, peak hour, favorite model), a per-model breakdown
with a stacked usage chart, and a milestone/fun-fact card. New nav entry
"Usage", positioned before Developer.

Auto-memory: background extraction of durable facts from the user's own
chat messages via the model's own inference (never attachments/tool
output), gated by a new off-by-default Settings toggle, with a
view+delete-only fact list. Facts are injected into new conversations'
system prompt only — verified end-to-end against the actual outbound
request payload, not just DB state.
New feature with a narrow silent-extraction scope; the badge sets
expectations before it sees broader use.
Bumps to 1.7.6 (patch, founder call), updates the changelog/README/persona
knowledge base for the two new features, and applies fixes from the
pre-release Opus review of PR #54:
- memory.ts: dedup was Jaccard-comparing raw words, so filler words (I/my/is/
  in/as/a) dominated the overlap score and distinct facts of the same shape
  ("I live in Paris" vs "I live in Berlin") were silently dropped. Now
  compares content words only, with a regression test covering the exact
  cases the review reproduced.
- personas.ts: cap injected memory facts to the most recent 50 so a
  long-lived account's fact list can't quietly eat an ever-growing slice of
  every new chat's context window.
- DailyBarChart.tsx: fixed a y-axis tick formatter that collapsed adjacent
  values (e.g. 2000 and 1500) to the same "2K" label.
- TokensScreen.tsx: raised the fun-fact multiplier floor from 1x to 2x so a
  total near a band's own lower boundary can't land a weak "~1x" comparison
  depending on which reference the random pick landed on.
@mohitsoni48 mohitsoni48 merged commit 90fa1c3 into main Jul 9, 2026
1 check passed
@mohitsoni48 mohitsoni48 deleted the release/v1.7.6 branch July 9, 2026 10:40
Sign up for free to 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