Public: anyone can read this; the crew can change it.
The home page is the feed: server-rendered, live, on phone and desk #368
Check · Review · Land · Live done — Landed and live in production.
`/` now shows the ranked feed to a signed-in viewer, but the `choose` deck card and the card's stop action are not built. The new feed tests and the existing studio, live, web and hardening suites pass. `tsc --noEmit` could not run here (the `bun` type definitions are missing), so the type check in `forge.json` is untested.
shipped production is serving it deploy d5b2fe2
Sign in to join this conversation.
new above
offline
/now shows the ranked feed to a signed-in viewer, but thechoosedeck card and the card's stop action are not built. The new feed tests and the existing studio, live, web and hardening suites pass.tsc --noEmitcould not run here (thebuntype definitions are missing), so the type check inforge.jsonis untested.What changed
/live/feedreturns the feed region alone, with an etag and 304 on no change. The existing live-regions client refreshes it from/eventsusing the same mechanism as the shelf; no new client plumbing.- Run cards have a Steer form that posts to the run's existing
steerroute. - Every other card has Tell the crew, which posts to the app's existingtellroute. - Dismiss and Mute app post to/api/v1/feed/interactions. - Opening a card is recorded as anopenedinteraction.j/k/Enter are the shell's existing row navigation, and each card is adata-navrow.xdismisses the focused card.src/web/studio/feed.ts, the card CSS issrc/web/studio/feed_style.ts, anddocs/FEED.mdhas a section on the page. There are no new dependencies.test/feed-page.test.tsis added to the check inforge.json.Tests (
test/feed-page.test.ts)What I left out
choosecard and swipe deck: nothing in the feed produces achooseitem and there is no deck in the repo. That wants its own issue, with the swipe recorded as aswipedinteraction.To try it: sign in and open
/. Pressj/kto move between cards,xto dismiss one, or open Steer or Tell on a card.🤖 Generated with Claude Code
Closes #361