The full product walk
Catalogue to live session to reload-survival — end to end.
The end-to-end product demo: the story catalogue, a fresh PRD run narrated turn-by-turn on the chat surface, then the product's defining seam — a full page reload that the active session survives — landing back on the home active-sessions table.
How do the main product surfaces fit together?
The path through library, session, trace, meta, and observer views.
One story definition drives the same behavior across the product surfaces.
Key beats
kitsoki discovers every story under your stories tree and lists them here as a live catalogue — each a deterministic state machine you can run, observe, and reload. We'll take the whole product for a spin on the PRD authoring story.

Each card names a discovered story, its on-disk path, and a live-session badge. Rescan re-walks the tree on demand — no fsnotify magic, just an explicit, auditable refresh. We'll drive the PRD card: idea → clarify → brief → references → draft → done.

New session mints an independently-traced run from the story and drops you straight onto its chat surface — no dead-end on a read-only observer. Click it to begin the PRD walkthrough.

A new session opens live in idle, with the room's opening prompt already on screen and the composer ready. The state badge in the header is the hard signal of where the run is; it updates the instant a turn lands.

Text-slot intents are typed right into the composer. We send the idea "a CLI for X" via the discuss intent — idle absorbs it as a self-transition, distilling the conversation before the pipeline advances.

Full recorded walkthrough (12 steps)
Slot-less intents render as buttons — exactly the transitions the current room offers, nothing invalid. We press start, clear the prior-art search gate, and land in clarifying, where the interviewer asks scoping questions.

We answer the clarifying questions in the composer; submit_answers appends the round to the transcript and advances to brief, where the editable brief artifact is written and opened in the IDE.

Confirming the brief runs the researcher and lands on references; confirming again advances to drafting, where the full PRD is authored. Each confirm is a single, unambiguous button — the pipeline never asks for invalid input.

Accept publishes the draft and the run reaches its terminal exit. The badge flips to a done state, the composer is replaced by the done note, and the trace timeline on the right holds every event the run produced — the whole flow, no LLM, reproducible byte-for-byte.

Sessions live in the server's store, not the browser tab. We just hard-reloaded the whole page and navigated home: every run is still here, its current state recovered straight from the trace. Close the tab, reopen tomorrow — the runs are exactly where you left them.

Home rolls every live run up into one table — each row its session, current state, and an Open link straight back into the run view. The completed PRD run shows its terminal exit state; a fresh one sits at idle. The state is reported raw from the trace, never rewritten.

Back on the PRD card, the live-session badge now reflects its running sessions. One catalogue, every run accounted for — discovery, driving, observing, reload-survival, and roll-up, all over one deterministic, fully-traced product. Hit '?' anytime to replay this tour.
