feat(feedback): report, suggest, and an inbox in the Profile tab

The app's side of stage 4 (ADR 0005, rule 11). The card's Report sheet
offers "Send to the author too" on a card from a release; a copy's menu
reports the studyset as a whole and lists what is reported and
suggested on it, as Explore's summary does; the editors of cards, notes
and steps suggest them to the author as the learner has them, never
under "no derivatives". The Profile tab holds the inbox: the threads on
the person's published studysets and those they wrote, the newest
activity first, with a count on the tab. A thread shows a suggestion
beside the author's own item and its replies; its writer and the author
reply, and the author accepts (the content becomes their own edit, its
files fetched from the writer's), declines, closes, hides or blocks.
Writing needs an identity; reading what is public doesn't.

ADR 0005 gets an addendum for stage 4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-10 01:29:09 +02:00
commit 1c1a1aada8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -93,6 +93,21 @@ requests behind a gateway. This ADR decides it, and the order it is built in.
take a studyset off Explore again: nobody can add it then, and copies get no updates;
its releases stay.
## Addendum: stage 4, reports and suggestions (2026-10-09)
11. **Reports and suggestions are public, gathered by the instance from each writer's own
space.** A report or suggestion on a published studyset (or one of its cards, notes or
steps), its replies and its author's decisions are rows of their writers' own synced
spaces, so writing works offline; the instance gathers them when they are read, and
decides then what counts: threads from people with an identity and a public profile the
author hasn't blocked, replies from the writer and the author alone, decisions from the
author alone, no suggestion under "no derivatives". Everyone signed in reads them, each
with its writer's public profile, but for those the author hides (then only writer and
author see them). The author replies, closes, hides, accepts or declines a suggestion,
and blocks people from writing on their studysets. A suggestion is a card, note or step
as its writer has it; accepted, it becomes the author's own edit, its files fetched from
the writer's, and the next release credits the writer (`Co-authored-by`).
## Consequences
- An instance's operator chooses an account domain once, and keeps WebFinger answering