Heimdall
e99e707a0d
Docs: desk notes stop saying Bifrost masks answerer ids; pin the door spec at 79d954c
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 09:45:45 +00:00
Heimdall
e8e1fe65d1
Docs: the receipt gates the chat token only, Huginn's door withholds ids (no Bifrost answerer mask), scheme name is OpenIddict's
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 17:53:52 +00:00
Heimdall
c0778a2f2e
Docs: desk feed visibility is Huginn's door policy (docs/desk-feed-door.md), reads carry no authority, listing gate not live, card opaque
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 17:32:59 +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
Heimdall
0a44bf88e5
Mouth read-through: serialize reports per room, keep the last landed receipt, re-read the brake, presence off the send path
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 14:33:25 +00:00
Heimdall
2c2cf15094
Matrix mouth: m.read follows a chat_read report, not the ack; presence follows the turn
...
An ack posted her m.read, so the receipt tracked the queue, not the model. The mouth now posts m.read only
at the event id Huginn reports in gamecult.persona.chat_read.v1, for an event it delivered to her in that
room, forward only, brake read fresh. The ack posts nothing. Presence is online within presenceGraceMs of
a read report, a send or an ack, unavailable after, offline under the brake; a change is PUT at once.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 14:17:35 +00:00
Libby
c23c8d1a88
deploy plan: NetworkTagSecret step checks openssl and treats an empty value as not set
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
(cherry picked from commit 4273907324 )
2026-11-10 14:04:59 +00:00
Heimdall
0d7c3ec078
Mind intake: nonce prune is best-effort and never fails a valid request; test the five-lost-races contended branch; doc the retried reveal's phase judgement
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:55:03 +00:00
Heimdall
1c9cb9937e
Signed Mind intake: verify before revealing state, dummy verify, issuedAt window and nonce pruning, per-source rate limit and body cap, one account per persona, DbUpdateException is replay only for the nonce
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:54:06 +00:00
Heimdall
8e6afc43ed
Signed Mind intake for sealed motions: Ed25519 envelopes, registered public keys, nonce replay refusal, persona bound into the commitment
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:54:06 +00:00
Heimdall
55b7f79c13
Sealed ballot: retry a reveal that loses a RevealSeq race while the window is open, \z in hex patterns, doc the contended 409
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:47:23 +00:00
Heimdall
8d6b45ae69
doc: ballots are JSON documents, not typed CultNet documents
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:41:06 +00:00
Heimdall
264233e08f
Sealed ballot: freeze the reveal set at close (RevealSeq token), HTTP tests for replay/non-voter/late reveal/close, doc corrected on the ballot schema
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:40:54 +00:00
Heimdall
96da1b7a8c
Sealed ballot: race-safe close, close sweep, endpoint tests, backup reader and auth findings in the doc
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:30:35 +00:00
Heimdall
d5a71eb639
Sealed-ballot motions: commit-reveal over typed gamecult.sealed_ballot.v0 documents
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 20:24:49 +00:00
Libby
7895d05a13
deploy plan: NetworkTagSecret step is re-run safe (never overwrites or duplicates)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 15:48:45 +00:00
Libby
0ac9c956e1
deploy plan: how to generate ConceptVotes__NetworkTagSecret, defaults satisfy Stripe/Heimdall checks, checkout page check
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 15:46:28 +00:00
2dccadc8b5
Deploy plan: list the remaining unstated-as-unverified host facts, fix line markers, Persona picture cite
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 15:17:46 +00:00
1864fef9ee
Deploy plan: rehearsal env turns off the flags whose keys are stripped; mark unverified host facts
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 15:14:47 +00:00
9caca35e4e
Deploy plan: the live key ring, a rehearsal env outside /root, readyz with the live Host, stripped secrets
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 12:12:40 +00:00
3e1bca76d5
docs: revise the main-to-live deploy plan against main 55b74275
...
Targets 55b74275 (#11 and #17 in main; #15 docs only). #11 signs everyone out
once. Lists the validator's required keys by name, NetworkTagSecret (32+
chars) as a hard startup failure, put into step 3. Rehearsal through
sudo -u postgres and one start on a separate env file, scratch connection
string, throwaway KeysPath and a port other than 5080; no dotnet ef. Backs up
the data-protection key ring. Uses the real log files with a baseline count.
Notes bifrost-watchdog-notice.timer.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:56:13 +00:00
Heimdall
2671b4bcb8
docs: drop an unsupported claim from the deploy plan
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 07:39:12 +00:00
Heimdall
c97644e3ed
docs: plan for deploying main over the live release
...
Preconditions, ordered steps, live check and rollback for moving live
67072b2 to main (141 commits, two additive EF migrations, new
Heimdall:AppSecret). Plan only; nothing deployed.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 07:39:03 +00:00
8b7783dfb0
bridge.md: ack posts her read receipt, presence follows her brake
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 16:04:50 +00:00
Heimdall
02275ee17b
Matrix mouth: fetch and store chat images (cut A), ChatDelivery v3
...
m.image events in delivered messages are fetched as the receiving Persona,
classified by magic bytes, bounded by size and header pixel count, and stored
under IMAGE_STORE_ROOT/<persona>/<room hash>/<bytes hash>[.ext] (0640, dirs
2750). The delivery tuple gains index 11, nil or [path, mime, size, sha256];
the pending kind becomes gamecult.persona.chat_pending.v2 with Huginn's v3
golden bytes. Refusals keep the typed text line plus a fixed-word reason.
The mouth test homeserver is answered in-process so the suite runs under a
capped address space.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 09:18:55 +00:00
Heimdall
d6c96fe1a1
Estate-rule sim: contribution-credit arm (E7)
...
Linear per-person credit with a per-person cap, one standard for all
including a Meta-sized contributor, measured against the existing tally and
half-influence cap across contributor-share levels and splitting k=2/10/100.
Credit is not vote weight; analysis only.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 15:54:56 +00:00
Heimdall
b6c1e9af73
Estate-rule sim: regenerate results.md and fix stale half-cap numbers and the "0 below unit" wording
...
REPORT.md E6 and results.md still held pre-fix numbers (half-cap 0.044/0.222, s max 0.953).
Regenerated with the current sim: s max 0.777; half-cap binding all four 0.000,
Patrons+Minds 0.008, Patrons alone 0.165. Weight is 0 only at amount <= unit/b (run.py,
REPORT.md, SPEC.md); the splitting table no longer prints a cliff "0 (below unit)". Test count 54.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 07:50:04 +00:00
Heimdall
55253c48b4
Estate-rule sim: stake log_weight follows heimdall-stake's log form, no cliff at unit
...
w = max(0, 1 + log_b(x/unit)); all 14 single and 12 split golden rows now pass.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 04:34:57 +00:00