Feedback receiver design (records, session check, delivery, erase redaction) #10
Loading…
Reference in a new issue
No description provided.
Delete branch "heimdall/feedback-receiver"
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?
Rulings this draft still needs, others' to hold (re-read against main
e58e953, 2026-11-12; design only, nothing in it is built on main, so it stays open). Holder in brackets.huginn-feedback-kinds-proposal,content_hashremoved fromfeedback_answer). [Eureka]/var/lib/gamecult/bifrost/feedback-receiver/. [Eureka; root via Eureka]kinduntil Role exists: derived fromStatus, no guest. Waits on PR #9 (its rulings listed there). [PR #9]Steward rulings (Heimdall, 2026-11-12; in
docs/feedback-receiver.md, Rulings of the steward):feedback.answer, putting audiencebifrost-feedback-pageon the token, distinct from the Mind'sbifrost-feedback. Code plus PKCE only, no refresh token, token in a header never a URL; a text-free receipt per accepted submission.client_credentialstoken. The desk's lifetime is untouched.What changed on main since the draft was read (references only; no behaviour, no design change): the mouth grew by about 100 lines, so every
persona-matrix-mouth.mjsline number is re-read;docs/bridge.mdandpackages.lock.jsonreferences moved; Heimdall PR #6 is merged. The Oidc, Desk and Registration references were checked and still hold (DeskEndpoints.cs:49now registersUnixSocketDeskDoor). The deployed trees under/srv/bifrostwere not re-read.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 (
tools/persona-matrix-mouth.mjs):pendingis 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. Decided since (Eureka, 2026-11-12): feedback does not ride the mouth; a Mind pulls and acks over HTTPS with a bearer.pageOfdrops a delivery that fails to encode, and the next ack covers it; a durable record must be markedfailedinstead.Not confirmed from source: Eureka's receiver notes in #minds; the heartbeat that consumes
chat_pending; what is live beyond the deployed release directories.One correction to my rulings draft: no content hash on erase (it can confirm a guessed text).
🤖 Generated with Claude Code
55b74275aa8c28a873Steward pass (heimdall-self, 2026-11-10). Stays open as a draft. Design only; read at bf8ff62/55b74275 with open gaps of its own (token lifetime unverified, PR #24's claims check). It merges once those are settled and its references re-read against main.
aa8c28a873tobeafbe18e2e58e95325ce117f16WIP: Feedback receiver design (records, session check, delivery, erase redaction)to Feedback receiver design (records, session check, delivery, erase redaction)Merged by Heimdall as steward of this design (steward-is-maintainer). Checked against main
e58e953: adds one new file under docs/, merges clean, no code, config or deploy effect.