WIP: Typed responses design (ADR-0020 + glossary) #138
No reviewers
Labels
No labels
kind
bug
kind
enhancement
wayfinder
grilling
wayfinder
map
wayfinder
prototype
wayfinder
research
wayfinder
task
workflow
needs-info
workflow
needs-triage
workflow
ready-for-agent
workflow
ready-for-human
workflow
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rosa/vernier!138
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/typed-responses-adr"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Captures the design for typed responses — reply / like / repost / bookmark posts — as docs only. No code yet; this is the decision record to build against.
What's here
docs/adr/0020-typed-responses-are-an-orthogonal-response.md— new ADR.CONTEXT.md— newResponse/ResponseKind/Reply/Like/Repost/Bookmark/ResponseTargetglossary terms, and a rewordedPostdefinition (content is no longer implied mandatory).Core decisions
Responsevalue object (ResponseKind+ResponseTarget) is added orthogonally to thePostaggregate — not a flat post-kind enum. Title-presence still discriminates Article/Note; the response kind is a separate axis. This corrects ADR-0001's prediction.content.is_some() || response.is_some()— a plain Article/Note still requires content; a bare Like need not.ResponseTargetis any absolutehttp(s)URL (not the stricterWebmentionTarget); SSRF stays a send-time concern.is_publicly_listedgate; the kind lives only in the rendered mf2 class.display_titlefallback: title → content snippet →"{verb} {target host}".Postconstructor and backstopped by SQLiteCHECKs.Boundaries
Marked WIP/draft — opening for review of the design before any implementation lands.
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.