Bifrost/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Heimdall c7edcd4f58 Desk: production IDeskCredential on OpenIddict validation against the local issuer
OidcDeskCredential authenticates a bearer through the validation scheme only
(never the default scheme; the cookie authenticates nothing on /api/desk and a
bearer authenticates no cookie page) and returns sub, audience and scopes. The
desk keeps judging audience, scope and per-request Active membership.

The issuer registers desk.read/desk.answer and stamps audience bifrost-desk on
tokens that carry one; client permissions are what limit scopes, so the MAS
client can neither ask for them nor use its chat token on the desk. A Desk
section without Bifrost:Oidc now fails startup in StartupConfigurationValidator.
Packages: OpenIddict.Validation.AspNetCore and .ServerIntegration 7.7.1.
No production Ratatoskr client is seeded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-11 17:44:38 +00:00
..
Bifrost.Web.Tests Desk: production IDeskCredential on OpenIddict validation against the local issuer 2026-11-11 17:44:38 +00:00
fixtures Mouth: chat_pending.v4 reply_to (flag, default off) (#63) 2026-11-11 16:06: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
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-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: chat_pending.v4 reply_to (flag, default off) (#63) 2026-11-11 16:06: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: v4 fixes after Soul pass (target cache, scrub, read cap) (#64) 2026-11-11 16:17:09 +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