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

Home is the feed: signed in, `/` is a composer above one timeline, and your apps move one step away #599

shipped production is serving it opened this
opened this

Pillar: P1 Feed (umbrella #587). One run, started fresh from today's main.

Outcome (what a person sees). Signed in, the forge opens on one timeline, like opening X: a composer on top, then posts. Tells and issues are posts; their comments are replies under them; runs, pulls and looks are the crew member's posts, with its name and face. Your apps are one tap away, not the page itself.

Today. The studio home (src/web/studio/home.ts) renders app rows with a feed region inside; ?mode=dev renders the old dashboard. The feed read model is in src/feed/ (docs/FEED.md).

Acceptance.

  • [ ] GET / signed in: composer (POST /api/v1/feed/tells), then the timeline from the feed read model, live over /live/feed. Every post links in one tap to its thing: the issue, pull, run or look.
  • [ ] A narrow "Your apps" column on a desk, a tab on a phone, links to /apps.
  • [ ] The signed-out door is unchanged.
  • [ ] No ranking weights change, except to add the post kinds this needs.

Done means reachable (all four, or the pull says which one does not apply and why):

  • Page: /
  • MCP: a feed tool returns the same posts (limit, cursor)
  • Test: signed-in home has the composer and posts; the MCP feed matches
  • Look: phone and desk, on the pull

Start from: src/web/pages/site.ts (home), src/web/studio/home.ts, src/web/studio/feed.ts, src/web/studio/feed_style.ts, src/feed/, src/http/feed.ts, docs/FEED.md, src/http/mcp.ts.

Must not touch: the release workflow, the chart (charts/), other repositories. Do not change the signed-out door or the TUI.

commented

Added acceptance (owner's contract rule, now in the direction and docs/VISION.md):

  • [ ] Contract: one interface per job. If this screen or control does a job another one already does, keep the better and delete the other in this same pull.
  • [ ] Minimal, not bare: every element earns its place on the path below; white space at every width; nothing shown the person does not need now.
  • [ ] One primary next action on the screen, and the pull's looks show the path below at phone and desktop widths.
  • [ ] The pull says what it removes for every screen or control it adds.

The path: a signed-in person opens the forge from anywhere, to see what is happening and say something; the one primary action is the composer; they go to a post's thing (issue, pull, run, look) or stay. Removes: the studio home's app rows as the page itself, and dashboard() once #603 lands.

commented

Parked by the crew: the check failed and the decider saw no point in another try (pull #676 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs