js-rigor: fix binary mode dropping partial graphs; binary-partial parity campaign

The binary branch of AuthorizationChecker.check rebuilt its options with a
fixed six-field object, silently discarding partialGraphContext (and any
other caller option) — binary checks denied grants the normal path
allowed. Now spreads all caller options through. binary-partial-parity
pins: partial grants above the threshold allow, below deny, persistent
wins over partial, and binary decisions agree with normal decisions on
the same overlay.
This commit is contained in:
John Dvorak
2026-07-31 15:31:34 -07:00
parent e12cc651d0
commit 8f863275c2
2 changed files with 170 additions and 1 deletions
+6 -1
View File
@@ -50,7 +50,12 @@ export class AuthorizationChecker {
minAllowPossibility: minAllowPossibility || 0.8, // Default strict threshold
maxDenyPossibility: maxDenyPossibility || 0.8,
includeMeta,
trackEvaluation
trackEvaluation,
// Preserve every caller option (partialGraphContext, clientStateId,
// ...) — the binary path previously rebuilt a six-field object and
// silently dropped the partial graph, so binary checks denied
// grants that the normal path allowed.
...options
});
}