fix(a2k): reject out-of-range fraction-decrease scales #89

Merged
core-labs merged 2 commits from fix/a2k-fraction-decrease-scale-range into main 2026-07-20 04:42:10 +00:00

2 commits

Author SHA1 Message Date
Shay
ac4c3e04ad test(a2k): prove geometric path refuses out-of-range decrease scales
Regression coverage for the audit repro (5/4), zero/one/gt-one geometric
no-bypass, injected Fraction domain mutations, promotable resolver
refusal, and flip the PR #87 preexisting gap pin to require operator
refuse alongside baseline.
2026-07-20 04:40:35 +00:00
Shay
1a6efe0d13 fix(a2k): share fraction-decrease scale domain on geometric admission
Obligation assessment required 0 < scale < 1 (scale_out_of_range) while
_versor_binding_from_scale_value admitted any positive finite scale, so
resolve_promotable_fraction_decrease could still bind and return a
negative decrease for inputs like 5/4.

Add _is_valid_fraction_decrease_scale as the single semantic-domain
predicate and enforce it in both assess_fraction_decrease and
_fraction_decrease_scale_binding so geometric VersorBinding cannot
grant permission the obligation layer denies.
2026-07-20 04:40:35 +00:00