Heimdall
b65bec65ce
Linked accounts: docs, README line, proof-provider and no-store tests
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 19:43:59 +00:00
9a716cfd7e
Merge pull request 'Feedback receiver design (records, session check, delivery, erase redaction)' ( #10 ) from heimdall/feedback-receiver into main
2026-11-13 03:28:42 +00:00
ae0037c159
Merge pull request 'Guest accounts design (role field, invite, grants, leave and erase)' ( #9 ) from heimdall/bifrost-guest-accounts into main
2026-11-13 03:28:41 +00:00
Heimdall
96665a778b
docs(feedback-receiver): drop stale draft marker; steward merges the design
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-13 03:28:33 +00:00
Heimdall
3b0a614ee9
docs(feedback-receiver): steward rulings: Ratatoskr client (2a, shared client, own audience) and explicit short token lifetimes
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 22:47:05 +00:00
Heimdall
d29f8014f9
docs(guest-accounts): steward rulings: stored Role, form-posted invite code (no token in a URL), provider lists narrowed to the intersection, no collector member_id for guests
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 22:46:53 +00:00
Heimdall
25ce117f16
docs(feedback-receiver): re-read references at main e58e953
...
Docs only. Mouth line numbers (shifted by about 100 lines of mouth code), bridge.md, packages.lock.json refs refreshed; Heimdall PR #6 is merged.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 22:44:54 +00:00
Heimdall
f04b20feed
docs(guest-accounts): re-read references at main e58e953; OIDC chat tier is already any non-Suspended account, owed change is Left/Erased
...
Docs only. Refreshes stale file and line references, drops the claim that OIDC must move to Status == Active (main already admits any non-Suspended account with a live training-notice receipt), names the new IsActiveMember callers, and updates the provider-list and Heimdall PR #6 notes.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 22:44:53 +00:00
Heimdall
1771f15789
Soul fixes: deploy doc says production refuses a blank secret; name the echo test for what it checks
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 19:27:57 +00:00
Heimdall
1739d5552a
Refuse production startup when the Heimdall app secret is blank
...
A missing secret silently switched Discord and Patreon member sign-in off.
Outside Development and Testing the validator now fails naming
Heimdall:AppSecretFile and Heimdall:AppSecret, never a value.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 19:23:43 +00:00
Heimdall
280d843aeb
AppSecretFile: pin the deprecation at Warning level, say trailing newlines
...
Soul pass on 25b9cc16 : the warning level was unpinned (a Trace demotion passed) and the docs said one newline where the code trims all.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:46:24 +00:00
Heimdall
25b9cc1683
Document Heimdall__AppSecretFile and the AppSecret deprecation
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:24:59 +00:00
420a4dbf85
Mouth: follow upgrades only a plain basis; @room keeps room ( #76 )
2026-11-12 12:28:39 +00:00
afafff18bd
Mouth: basis "follow" for engagement peers (CHAT_FOLLOW, default off) ( #74 )
2026-11-12 12:21:31 +00:00
Heimdall
e639e13a8b
docs: feedback receiver: C# CultCache runtime fit, two-lock restore rule, gaps owed to Libby
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:55:12 +00:00
Heimdall
46cf7d4492
docs: feedback receiver: store path /var/lib/gamecult/bifrost/feedback-receiver, C# in the Bifrost app, HTTPS probe result
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:52:09 +00:00
Heimdall
a3bab9b8e5
docs: feedback receiver: fold Eureka's forks 2-5 decisions (client_credentials, HTTPS carrier, withhold edges, 56-day retention); private_key_jwt/Ed25519 finding
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:48:47 +00:00
Heimdall
beafbe18e2
docs: feedback receiver: Meta's rulings of 2026-11-12 (erase redaction, training-notice receipt, host withhold, Mind OIDC audience); token section and mouth citations re-read against main b1725a1
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:42:21 +00:00
Heimdall
8a3262b3e8
docs: feedback receiver: re-verify the mouth facts against main 55b74275
...
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>
2026-11-12 10:39:30 +00:00
Heimdall
ee88bc709d
docs: feedback receiver: cite Ratatoskr PR #24 at b146000d, route 2 claims check, CultCache file, erase and backup rules
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:39:30 +00:00
Heimdall
abeb8a1d5f
docs: feedback receiver: correct mouth line references
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 10:39:30 +00:00
Heimdall
6c4c9c00f9
docs: feedback receiver design (draft, do not merge)
...
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>
2026-11-12 10:39:30 +00:00
b1725a106f
docs: sealed-motion Mind key path is /var/lib/mind-<persona>; register only after a Persona-shell self-test ( #32 )
2026-11-12 10:31:05 +00:00
d26aa50041
Docs: desk feed visibility is Huginn's door policy; cite the written door spec ( #69 )
2026-11-12 10:17:33 +00:00
d4365a8364
Mouth: fetch one named event's image for its Persona, store it, post an inert receipt (CHAT_FETCH, off by default) ( #73 )
...
A Persona's Mind shell holds no Matrix token, so the mouth now keeps one named image for her: it reads her live membership and the room's full state, takes content.url from the fetched event only, checks info.sha256 against the hash it computed, stores the bytes in her image store and posts the inert org.gamecult.file_received receipt as her own user. Behind CHAT_FETCH (exactly 1), off by default; an off mouth answers the kind as UnknownKind. Not deployed by this merge.
Shipper: Eureka. Reviewed by Heimdall against cut-mouth-fetch-attachment.r7 (bundle 3a6b45d , then delta d4bccd4 : one log line per fetch with a fixed cause=, event-id percent-encoding pinned, doc-only change to docs/bridge.md).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 00:59:28 +00:00
0d820fdc00
Mouth: id shape on every delivery field, mentions bounded in bytes, round cap counts every target GET ( #72 )
2026-11-11 21:06:13 +00:00
7231cdb977
Mouth: reply_to lows after #64 (round cap defers, 60 s excerpt, wider scrub, id shape) ( #68 )
2026-11-11 20:05:46 +00:00
f6a826b6e7
Desk feed design: per-Mind open forks, read-only (decisions in PR #37 section 14) ( #67 )
2026-11-11 17:06:45 +00:00
6acb4980b8
docs: how a Ratatoskr voting module authenticates to Bifrost (design) ( #37 )
2026-11-11 17:06:31 +00:00
e8e8fcc178
Docs: no refresh token, MAS skips userinfo; withdrawal stops new tokens, open sessions run to expiry ( #66 )
2026-11-11 16:48:27 +00:00
1da912d5e9
Members: approve refuses no-membership/unknown accounts; neutral text for legacy suspensions ( #65 )
2026-11-11 16:39:48 +00:00
e12b8e2298
Mouth: v4 fixes after Soul pass (target cache, scrub, read cap) ( #64 )
2026-11-11 16:17:09 +00:00
dc35c4a254
Mouth: chat_pending.v4 reply_to (flag, default off) ( #63 )
2026-11-11 16:06:28 +00:00
ab89556101
Chat sign-in needs a live consent receipt; notice frozen as version 1 ( #59 )
2026-11-11 14:32:06 +00:00
7813426e6d
Drop HTMX (unpkg, no integrity); guard against third-party assets ( #61 )
2026-11-11 14:12:51 +00:00
70a2038435
Suspension gaps: bootstrap, demotion, members-page notices, admin-only reason ( #60 )
2026-11-11 14:12:47 +00:00
1571bf3e32
Consent: optional at registration, a consent page, CSRF-guarded accept/withdraw, notice v2 ( #58 )
2026-11-11 12:11:02 +00:00
028bc2fdf6
Registration: sign-up form with proof-of-work and a no-JS time-lock fallback ( #56 )
2026-11-11 11:17:25 +00:00
b2e0bb2514
Mouth: tail_gaps on chat_pending.v3, the rooms whose tail is incomplete ( #57 )
2026-11-11 11:07:35 +00:00
09addd83d8
Docs: proposed training notice v2 and consent-flow gaps ( #55 )
2026-11-11 10:32:18 +00:00
33be966b7d
Registration gates: proof-of-work CAPTCHA and training-notice consent receipt ( #54 )
2026-11-11 10:15:46 +00:00
e8722d0abf
Mouth: room tail on chat_pending.v3 ( #51 )
2026-11-11 08:15:38 +00:00
24f3deb88e
OIDC issuer: chat tier for accounts without Active membership ( #52 )
2026-11-11 08:13:09 +00:00
5201508bdc
OIDC issuer: address budget, token-row cap, scheduled prune, marker brake ( #50 )
2026-11-11 08:12:48 +00:00
be44a09d52
OIDC: refuse reserved localparts at authorize; gap list in oidc-issuer.md ( #49 )
2026-11-11 06:39:35 +00:00
1d0548313c
Mouth: addressing facts on deliveries (chat_pending.v3 basis and form) ( #48 )
2026-11-11 06:26:30 +00:00
12a153f66f
Mill votes: ranked, paged read and not-yet-voted-by-this-network filter ( #41 )
2026-11-10 21:06:56 +00:00
752cd66686
deploy plan: restore reads a postgres-readable copy of the root-only dump ( #38 )
2026-11-10 18:28:31 +00:00
Heimdall
62c1d4e0f1
Merge remote-tracking branch 'origin/main' into heimdall/mouth-read-through
2026-11-10 17:31:08 +00:00
5304a2a2a1
Merge pull request 'Estate-rule sim: contribution-credit arm (E7)' ( #8 ) from heimdall/credit-arm into main
2026-11-10 17:21:32 +00:00