ns-ui

Memory Ledger Decay

Session memory that visibly patinates: each remembered fact steps its ink from --foreground toward --muted the longer it goes unused, snaps back and underlines when the agent rehearses it, and is governed by real pin/evict controls.

Use when the panel showing what a long-running agent currently remembers about the user, where each fact visibly ages toward --muted if unreferenced and snaps back to --foreground the turn it's actually cited in a reply — a time-decay-with-rehearsal ledger the user can pin or evict, not a load meter (meter-context-window) or an unused-space treatment (empty-state-dashed).

Install

npx shadcn add https://design.helpmarq.com/r/memory-ledger-decay.json
  • memory
  • agent
  • ledger
  • list
  • decay
  • pin
  • evict
  • mono
  • aria-live
  • accessibility
  • governance

ns-ui / memory-ledger-decay — turn 11

  • prefers metric units
  • wants terse, no-fluff replies
  • project uses Next.js + Tailwind v4
  • based in Lisbon, GMT+1
  • reviews diffs before applying
  • asked about espresso once, in passing
  • old project name: 'nimbus'
  • originally said Berlin, later corrected

Props

PropTypeDefaultDescription
memoriesPatinaMemory[]
turnnumbercurrent turn index — advances as the conversation proceeds
ageThresholds?readonly [number, number, number]turns-unused boundaries between fresh/aging/fading/dormant. default [1, 4, 9] (0 turns = fresh, 1-3 = aging, 4-8 = fading, 9+ = dormant)
onPinToggle?(id: string, pinned: boolean) => void
onEvict?(id: string) => voidcalled once a row's evict collapse animation has finished
ariaLabel?stringaccessible name for the ledger list. default "Session memory"
className?string