[object Object]

← back to Dw Rotation Activator

fix: remove a NUL byte I introduced in 7e0039b's cache key

1e149c4e835dc00207ef32b56148b9ae282e389d · 2026-09-10 13:13:43 -0700 · Steve Abrams

7e0039b's vendorScopeFor() cache key was written as `${table}<NUL>${vendor}` — a literal
0x00 landed where a separator was intended. Node parsed it fine and the function behaved
correctly, so it passed `node --check` and the behavioural test, but the byte made the
whole file read as `data` rather than text.

That is worse than it sounds: `grep` treats a binary file as unmatched and exits 1, so
`grep -c vendorScopeFor` reported ZERO on a file that plainly contained it. Any future
audit grepping this file for the scoping fix would have concluded it was missing. The
previous committed version was clean UTF-8; the corruption entered with my change.

Separator is now `::`. Verified after: file is UTF-8 text, 0 NUL bytes, `node --check`
passes, plain `grep` finds the symbol again, and the behaviour is unchanged — mfr 5016840
still resolves Backdrop -> "Seaglass Wallcovering" and Schumacher -> "SEAGLASS".

Also re-checked every other file I touched today with binary-safe greps
(vendor-command-center/server.js, dw-golive-gate-canary/auditor.mjs,
dw-blank-mfr-visibility-canary/check.py): all clean UTF-8, 0 NULs, and every earlier
verification claim re-confirms.

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

Files touched

Diff

commit 1e149c4e835dc00207ef32b56148b9ae282e389d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Sep 10 13:13:43 2026 -0700

    fix: remove a NUL byte I introduced in 7e0039b's cache key
    
    7e0039b's vendorScopeFor() cache key was written as `${table}<NUL>${vendor}` — a literal
    0x00 landed where a separator was intended. Node parsed it fine and the function behaved
    correctly, so it passed `node --check` and the behavioural test, but the byte made the
    whole file read as `data` rather than text.
    
    That is worse than it sounds: `grep` treats a binary file as unmatched and exits 1, so
    `grep -c vendorScopeFor` reported ZERO on a file that plainly contained it. Any future
    audit grepping this file for the scoping fix would have concluded it was missing. The
    previous committed version was clean UTF-8; the corruption entered with my change.
    
    Separator is now `::`. Verified after: file is UTF-8 text, 0 NUL bytes, `node --check`
    passes, plain `grep` finds the symbol again, and the behaviour is unchanged — mfr 5016840
    still resolves Backdrop -> "Seaglass Wallcovering" and Schumacher -> "SEAGLASS".
    
    Also re-checked every other file I touched today with binary-safe greps
    (vendor-command-center/server.js, dw-golive-gate-canary/auditor.mjs,
    dw-blank-mfr-visibility-canary/check.py): all clean UTF-8, 0 NULs, and every earlier
    verification claim re-confirms.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---
 lib/mfr-gate-resolve.js | Bin 6328 -> 6329 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/lib/mfr-gate-resolve.js b/lib/mfr-gate-resolve.js
index cf9a289..9049a40 100644
Binary files a/lib/mfr-gate-resolve.js and b/lib/mfr-gate-resolve.js differ

← 7e0039b TK-11384: scope stagingColorFor() to the vendor on shared ca  ·  back to Dw Rotation Activator  ·  TK-11471: weight go-live gate on the rotation activator (hig 9f91f6c →