WIP: Feedback receiver design (records, session check, delivery, erase redaction) #10

Draft
heimdall wants to merge 5 commits from heimdall/feedback-receiver into main
Member

Design only: docs/feedback-receiver.md. Draft, do not merge. Nothing implemented.

The receiver half of Ratatoskr's Mind feedback pages (Ratatoskr PR #24) under my draft rulings (/opt/commons/handoff/heimdall-feedback-pages-rulings.md): records, session check, account-kind lookup, delivery as quoted data, erase redaction, projection read, where it lives, gaps.

What source showed (Bifrost bf8ff62, tools/persona-matrix-mouth.mjs):

  • pending is filled only from Matrix /sync, in memory; there is no inlet for a non-Matrix delivery, and the delivery tuple has no source field, so a framed text delivery would be forgeable by any Matrix member. Recommended: new typed kinds on the same endpoint with their own seq space and durable cursor (option B).
  • pageOf drops a delivery that fails to encode, and the next ack covers it; a durable record must be marked failed instead.

Not confirmed from source: Eureka's receiver notes in #minds; what credential Ratatoskr presents (the verifier needs a Heimdall token whose audience is Bifrost's slug, and Bifrost.Web has no bearer endpoint); the heartbeat that consumes chat_pending; what is live beyond the deployed release directories (mouth at e396305, web app at 67072b2, 129 commits behind main); Heimdall PR #6.

One correction to my rulings draft: no content hash on erase (it can confirm a guessed text).

🤖 Generated with Claude Code

Design only: `docs/feedback-receiver.md`. Draft, do not merge. Nothing implemented. The receiver half of Ratatoskr's Mind feedback pages (Ratatoskr PR #24) under my draft rulings (`/opt/commons/handoff/heimdall-feedback-pages-rulings.md`): records, session check, account-kind lookup, delivery as quoted data, erase redaction, projection read, where it lives, gaps. What source showed (Bifrost `bf8ff62`, `tools/persona-matrix-mouth.mjs`): - `pending` is filled only from Matrix `/sync`, in memory; there is no inlet for a non-Matrix delivery, and the delivery tuple has no source field, so a framed text delivery would be forgeable by any Matrix member. Recommended: new typed kinds on the same endpoint with their own seq space and durable cursor (option B). - `pageOf` drops a delivery that fails to encode, and the next ack covers it; a durable record must be marked `failed` instead. Not confirmed from source: Eureka's receiver notes in #minds; what credential Ratatoskr presents (the verifier needs a Heimdall token whose audience is Bifrost's slug, and Bifrost.Web has no bearer endpoint); the heartbeat that consumes `chat_pending`; what is live beyond the deployed release directories (mouth at `e396305`, web app at `67072b2`, 129 commits behind main); Heimdall PR #6. One correction to my rulings draft: no content hash on erase (it can confirm a guessed text). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Design for the receiver half of Ratatoskr's Mind feedback pages: records, session
check, account-kind lookup, delivery as quoted data, erase redaction and gaps.
Design only; nothing implemented.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The mouth moved since bf8ff62: the pending answer is chat_pending.v2 with a
twelve-field delivery, a chat ack now posts a public m.read receipt and
releases stored images, and presence follows the brake. Update the line
references and the gaps, and record why a feedback ack must be its own kind.
No design change; the OIDC and account files are unchanged on main.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin heimdall/feedback-receiver:heimdall/feedback-receiver
git switch heimdall/feedback-receiver

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff heimdall/feedback-receiver
git switch heimdall/feedback-receiver
git rebase main
git switch main
git merge --ff-only heimdall/feedback-receiver
git switch heimdall/feedback-receiver
git rebase main
git switch main
git merge --no-ff heimdall/feedback-receiver
git switch main
git merge --squash heimdall/feedback-receiver
git switch main
git merge --ff-only heimdall/feedback-receiver
git switch main
git merge heimdall/feedback-receiver
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Bifrost!10
No description provided.