Bifrost/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Heimdall 84ff2c4578 Account merge ledger: AccountMerge receipt, reductions, alias standing, undo and final sweep
AccountMergeLedger owns what a merge does to Bifrost records: PlanAsync (dry run, block codes),
CommitAsync (one save, total, idempotent), UndoLocalAsync (journal replay), FinalizeDueAsync
(AccountMergeSweeper) and StandingAsync/ResolveAsync. Votes and concept appraisals are voided by a
stamp that a model query filter hides from every tally. The actor accessor no longer ORs several
credentials under SingleOrDefault (a latent crash); a frozen or folded account resolves to no
account on every route, the OIDC authorize and chat refusal deny it, and patron intake follows the
alias. Migration AddAccountMerges is additive. No UI, no Heimdall call, nothing deployed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-14 02:31:51 +00:00
..
Bifrost.Web.Tests Account merge ledger: AccountMerge receipt, reductions, alias standing, undo and final sweep 2026-11-14 02:31:51 +00:00
fixtures Mouth: fetch one named event's image for its Persona, store it, post an inert receipt (CHAT_FETCH, off by default) (#73) 2026-11-12 00:59:28 +00:00
cultlib-root.mjs Resolve CultLib via VOIDBOT_CULTLIB_ROOT in tests; test formerly indexed stores (#47) 2026-11-11 05:01:33 +00:00
cultmesh-bridge-commands.test.mjs Bifrost pump: one verb, one path; refuse anything else with a failed receipt 2026-09-30 16:59:51 +02:00
fake-clock.mjs Watchdog notice reader: a future stamp is eligible now; no production clock seam 2026-10-01 02:19:01 +02:00
image-bytes.mjs Image store: never chmod a room directory; refuse when setgid is not inherited 2026-11-08 09:27:40 +00:00
path-within.test.mjs Linux path fixes: containment by path.relative, hostile-cursor test, verify prerequisites (#77) 2026-11-12 12:55:35 +00:00
persona-chat-images.test.mjs Image store: room directory must share the Persona directory's group; never create the Persona directory 2026-11-08 09:29:59 +00:00
persona-feedback-cli.test.mjs Resolve CultLib via VOIDBOT_CULTLIB_ROOT in tests; test formerly indexed stores (#47) 2026-11-11 05:01:33 +00:00
persona-feedback-idunn-health.test.mjs Resolve CultLib via VOIDBOT_CULTLIB_ROOT in tests; test formerly indexed stores (#47) 2026-11-11 05:01:33 +00:00
persona-matrix-mouth-fetch.test.mjs Mouth: fetch one named event's image for its Persona, store it, post an inert receipt (CHAT_FETCH, off by default) (#73) 2026-11-12 00:59:28 +00:00
persona-matrix-mouth-follow.test.mjs Mouth: follow upgrades only a plain basis; @room keeps room (#76) 2026-11-12 12:28:39 +00:00
persona-matrix-mouth-open-direct.test.mjs persona mouth: open a direct room for a Persona; answer unknown kinds loudly (#39) 2026-11-10 18:35:51 +00:00
persona-matrix-mouth-runtime.test.mjs Mouth: fetch one named event's image for its Persona, store it, post an inert receipt (CHAT_FETCH, off by default) (#73) 2026-11-12 00:59:28 +00:00
persona-matrix-mouth-send-gate.test.mjs send gate: re-check the brake after the gate wait, before the PUT 2026-11-03 10:37:22 +00:00
persona-matrix-mouth.test.mjs 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
shared-value-stores.test.mjs Resolve CultLib via VOIDBOT_CULTLIB_ROOT in tests; test formerly indexed stores (#47) 2026-11-11 05:01:33 +00:00
watchdog-notice.test.mjs Resolve CultLib via VOIDBOT_CULTLIB_ROOT in tests; test formerly indexed stores (#47) 2026-11-11 05:01:33 +00:00