Jessedbrown Claude Fable 5 commited on
Commit
a163ddd
·
1 Parent(s): c0a9fba

acer: enforce catch-33 boundary cases as regression + verify receipt

Browse files

Adds last-position and leading-digit guards to the Brown-Hilbert decimal
shape proof test (the two boundary modes liris's c0a9fba regression did not
cover), plus the acer readback receipt pointing at the enforced cases.
Coverage hardening only: prior 10-min expansion verdict stands by construction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

docs/ACER-BHX-EXPANSION-CATCH33-VERIFIED-2026-06-11.hbp ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ ACERBHXC33HDR|host=acer|date=2026-06-11|topic=Brown-Hilbert-expansion-catch33-acer-readback-and-regression-hardening|responds_to=liris-c0a9fba-decimal-shape-proof-patch|verified_commit=c0a9fba|json=0
2
+ ACERBHXC33PULL|acer_head=c0a9fba|remote_head=c0a9fba|fast_forward=5451432-to-c0a9fba|pyramid_acer_i5=133/133-before-this-commit|sidecars=mjs-0EB1891E+patch-receipt-55766F6E-byte-match|json=0
3
+ ACERBHXC33FIXVERIFIED|isDecimalPowerString=single-pass-scan-proves-length+leading-1+every-tail-byte-0|hole-closed=stray-nonzero-non1-tail-digit-now-rejected|method=ran-shipped-function-against-6-adversarial-inputs-all-correct|json=0
4
+ ACERBHXC33COVERAGEGAP|finding=liris-regression-test-covered-mid-tail-digit+second-1+short-length-but-NOT-two-boundary-modes|gap1=stray-digit-at-LAST-position(an-i-lt-len-minus-1-off-by-one-would-pass-it)|gap2=wrong-LEADING-digit(s0-check-unexercised)|json=0
5
+ ACERBHXC33HARDENING|action=ENFORCED-not-narrated|added=tests/brown-hilbert-expansion-stress.unit.test.mjs-new-test-5-asserts|cases=last-pos-9+last-pos-1+leading-2+leading-0+right-last-char-wrong-length|doctrine=a-test-enforces-coverage-on-every-pyramid-both-machines-a-receipt-only-narrates-it|json=0
6
+ ACERBHXC33BOUNDARY|claim=address-coordinate-invariants-tested-NOT-enumeration|unchanged=1|prior-10min-verdict-stands-by-construction(base=10n**BigInt(exponent))|this-round=proof-label-coverage-hardening-only-no-value-change|json=0
7
+ ACERBHXC33FTR|state=CATCH33_CLOSED_BOTH_SIGNATURES_PLUS_BOUNDARY_REGRESSION_ENFORCED|catches=33|pyramid_after=134/134-acer|json=0
docs/ACER-BHX-EXPANSION-CATCH33-VERIFIED-2026-06-11.hbp.sha256 ADDED
@@ -0,0 +1 @@
 
 
1
+ A63D9392D3B9F6009BE215797A57E1C9F31505F2A45C925A0FC312F3713CDBA2 ACER-BHX-EXPANSION-CATCH33-VERIFIED-2026-06-11.hbp
tests/brown-hilbert-expansion-stress.unit.test.mjs CHANGED
@@ -29,3 +29,15 @@ test('decimal power proof rejects nonzero tail digits, not just second ones', ()
29
  assert.equal(isDecimalPowerString(`1${'0'.repeat(99)}1${'0'.repeat(100)}`, 200), false);
30
  assert.equal(isDecimalPowerString(`1${'0'.repeat(199)}`, 200), false);
31
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  assert.equal(isDecimalPowerString(`1${'0'.repeat(99)}1${'0'.repeat(100)}`, 200), false);
30
  assert.equal(isDecimalPowerString(`1${'0'.repeat(199)}`, 200), false);
31
  });
32
+
33
+ // acer catch-33 boundary extension: the single-pass scan must reject a stray
34
+ // digit at the LAST position (guards against an i<len-1 off-by-one that the
35
+ // mid-tail case above would not catch) and a wrong LEADING digit (guards the
36
+ // s[0]==='1' check, which no other case here exercises).
37
+ test('decimal power proof guards the tail-last-position and leading-digit boundaries', () => {
38
+ assert.equal(isDecimalPowerString(`1${'0'.repeat(199)}9`, 201), false); // stray 9 at the final index
39
+ assert.equal(isDecimalPowerString(`1${'0'.repeat(200)}1`, 201), false); // stray 1 at the final index
40
+ assert.equal(isDecimalPowerString(`2${'0'.repeat(200)}`, 200), false); // wrong leading digit
41
+ assert.equal(isDecimalPowerString(`0${'0'.repeat(200)}`, 200), false); // leading zero
42
+ assert.equal(isDecimalPowerString(`1${'0'.repeat(201)}9`, 201), false); // correct last char but wrong length
43
+ });
tests/brown-hilbert-expansion-stress.unit.test.mjs.sha256 CHANGED
@@ -1 +1 @@
1
- DD6166272EE50E570800B6974B94F9A054F955183A330279F7B849CB4FBDBBBC brown-hilbert-expansion-stress.unit.test.mjs
 
1
+ E4775D224A9C7310EF49611DF7CD916658A41259B128790C5935EA8DF5A6D5E0 brown-hilbert-expansion-stress.unit.test.mjs
tests/supervisor-collision-router.system.test.mjs CHANGED
@@ -77,6 +77,7 @@ const sealedFiles = [
77
  'docs/LOGICAL-EXTREME-STRESS-CUBE-FEED-2026-06-11.hbp',
78
  'docs/BROWN-HILBERT-EXPANSION-STRESS-2026-06-11.hbp',
79
  'docs/LIRIS-BHX-EXPANSION-CATCH33-PATCH-2026-06-11.hbp',
 
80
  'docs/LIRIS-FROZEN-SLICE-PREIMAGE-READBACK-2026-06-11.hbp',
81
  'docs/LIRIS-QUANT-HUGE-MESSAGE-BENCH-READBACK-2026-06-11.hbp',
82
  'docs/LIRIS-FROZEN-SLICE-REBIND-READBACK-2026-06-11.hbp',
 
77
  'docs/LOGICAL-EXTREME-STRESS-CUBE-FEED-2026-06-11.hbp',
78
  'docs/BROWN-HILBERT-EXPANSION-STRESS-2026-06-11.hbp',
79
  'docs/LIRIS-BHX-EXPANSION-CATCH33-PATCH-2026-06-11.hbp',
80
+ 'docs/ACER-BHX-EXPANSION-CATCH33-VERIFIED-2026-06-11.hbp',
81
  'docs/LIRIS-FROZEN-SLICE-PREIMAGE-READBACK-2026-06-11.hbp',
82
  'docs/LIRIS-QUANT-HUGE-MESSAGE-BENCH-READBACK-2026-06-11.hbp',
83
  'docs/LIRIS-FROZEN-SLICE-REBIND-READBACK-2026-06-11.hbp',
tests/supervisor-collision-router.system.test.mjs.sha256 CHANGED
@@ -1 +1 @@
1
- 2E134C5D6CA8FFB872D0BCF4D944534D33A97510A494C91BF0532487FE0BC95B supervisor-collision-router.system.test.mjs
 
1
+ 1C2A42A3F87386C010CB6914330B4D7D0BB59EE32466D04707239AF4808A33D6 supervisor-collision-router.system.test.mjs