You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
links as clickable cards with URL preview where possible
Raw JSON expandable for verification — clicking "show raw"
reveals the underlying ```handoff block as written.
Fallback rendering when parseHandoff returns null: render
the raw markdown body of the comment with an "(unparseable
handoff)" annotation. The handoff format is the v0 spec,
byte-identical, and evolves additively, so v1 readers must
accept all v0 handoffs. Handoff comment renderer #34 is the v1-side reader implementing
this.
Uses the v0 parseHandoff library directly — no UI-side parsing
variations.
Soft pattern for import path (decoupling from #2's timing): #34 may copy the v0 parseHandoff source into the v1 codebase with
a // TODO(#2): replace with import once #2 settles import path
comment. Once #2 closes, replace the copy with the agreed import.
The renderer logic itself is the load-bearing deliverable; the
import-path mechanics are mechanical follow-up.
Specify how handoff comments render in the comments / handoff
thread (#31's container).
Cover:
changed_filesas a file list with countsverificationas a code-formatted listresidual_riskas a warning-styled callout (Design system foundations and dark-mode-first approach #29 token)linksas clickable cards with URL preview where possiblereveals the underlying
```handoffblock as written.parseHandoffreturns null: renderthe raw markdown body of the comment with an "(unparseable
handoff)" annotation. The handoff format is the v0 spec,
byte-identical, and evolves additively, so v1 readers must
accept all v0 handoffs. Handoff comment renderer #34 is the v1-side reader implementing
this.
Uses the v0
parseHandofflibrary directly — no UI-side parsingvariations.
Soft pattern for import path (decoupling from #2's timing):
#34 may copy the v0
parseHandoffsource into the v1 codebase witha
// TODO(#2): replace with import once #2 settles import pathcomment. Once #2 closes, replace the copy with the agreed import.
The renderer logic itself is the load-bearing deliverable; the
import-path mechanics are mechanical follow-up.
Cross-track deps: #29 (design system).
Output:
docs/ui/0005-handoff-renderer.md+ sample card mockup.Parents