Heimdall/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 698f5dfc0e Private command diagnostics carry class and code, never a message
Soul pass 4, F1: a provider's 2xx refresh answer that was not JSON made
JSON.parse quote the text around the fault, a refresh-token fragment among
it, and the plane returned that message in the reply's diagnostics. Those
travel outside the sealed envelope and Ghostlight logs them.

The plane's diagnostic is now fixed text plus the error's class and code,
through errorIdentity, which the failed-callback audit event now shares.
Every provider body Heimdall parses goes through readProviderJson: a
non-2xx answer or a body that is not JSON becomes a ProviderResponseError
(status and code, provider_status or provider_body_not_json) and no
parser message survives. This replaces ProviderHttpError and the separate
parses in the Discord guild lookup and the YouTube channel lookup.

Soul's canary probe is committed inverted: a refresh against a malformed
2xx body and against a 400 whose body holds the canary; no byte of it may
appear in the reply or its decoded failure payload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 17:07:16 +02:00
..
access-plugin.test.ts Tests/docs: promote Soul's two it.fails, update the tripwire and fixtures 2026-09-08 14:23:04 +02:00
app.test.ts Private command diagnostics carry class and code, never a message 2026-09-30 17:07:16 +02:00
browser-adapter.test.ts Resume browser sign-in by attempt id, not the completion code 2026-09-23 20:50:28 +02:00
caller-identity-attack-soul-r21.test.ts Close the three one-line holes Soul left as follow-ups 2026-09-08 15:08:38 +02:00
caller-identity-attack-soul.test.ts Narrow the built-in profile lookup so the branch typechecks 2026-09-08 14:54:17 +02:00
caller-identity-soul.test.ts Tests/docs: promote Soul's two it.fails, update the tripwire and fixtures 2026-09-08 14:23:04 +02:00
capability-rules.test.ts Make app capability rules data instead of code 2026-09-06 23:58:58 +02:00
config-secrets.test.ts readSecretInput: never print the path, refuse relative paths and blank secrets 2026-09-30 13:50:53 +02:00
entrypoint-secrets.test.ts Every start connects to Postgres; pin the signing key's read refusal 2026-09-30 15:30:10 +02:00
idunn-candidate-bind.test.ts Move the private command port with the candidate 2026-09-06 22:15:34 +02:00
idunn-rudp-health.test.ts Publish runtime presence in the contract Odin admits 2026-09-07 22:19:51 +02:00
odin-publication.test.ts Give Heimdall Odin documents unique catalog keys 2026-08-22 03:47:02 +02:00
presence-identity-descriptor.test.ts Assert descriptor selection instead of reading a live descriptor 2026-09-08 13:52:47 +02:00
private-command-diagnostics.test.ts Private command diagnostics carry class and code, never a message 2026-09-30 17:07:16 +02:00
process-write-lease.test.ts Follow CultLib's package rename and select workspaces by path 2026-09-07 22:26:24 +02:00
recipe-secrets.test.ts Recipe test reads its secret names from the source 2026-09-30 15:30:18 +02:00
security.test.ts Pin the token-key length refusal custody now relies on 2026-09-30 14:03:24 +02:00
store.test.ts A start that does not apply the schema proves the schema is there 2026-09-30 15:49:23 +02:00
verse-runtime.test.ts Retire the Spotiverse profile; keep the spotify provider intact for restore 2026-09-06 01:47:10 +02:00
verse-witness.test.ts Retire the Spotiverse profile; keep the spotify provider intact for restore 2026-09-06 01:47:10 +02:00