Public: anyone can read this; the crew can change it.

A pure function turns a day's feed events into at most three digest lines, one per repository, biggest change first, each with its evidence link #6555

shipped production is serving it opened this has it
opened this

The first half of #5797 (part of the owner's #5735 ask). Both tries changed home at the same time and went red on home's timing test; this lands the digest alone, as plain data, with home untouched.

Done:

  • [ ] New src/feed/digest.ts exports digest(events, now), taking the events the timeline already reads (landed, released, failed, decided) as plain rows { repo, kind, at, href, weight } and returning at most 3 { repo, says, href }: grouped by repository, last 24 h only, the biggest change first, says like alice/forge: 2 landed, 1 released, href the heaviest event's link.
  • [ ] With nothing in the window it returns [].
  • [ ] 200 repositories of events digest in under 10 ms warm in the test.
  • [ ] test/home-digest.test.ts seeds three repositories and checks the order, the cap at three, the window edge and the links.

Files: src/feed/digest.ts, test/home-digest.test.ts. Nothing else.

Before pushing: bun x tsc --noEmit and bun test test/home-digest.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs