fix: isolate channel history by ID - #39
Conversation
|
Blocking review finding: legacy name-only history files can masquerade as the new v2 ID-keyed format and leak cross-channel context. The old format could create I reproduced this locally: creating that legacy filename with a unique secret and then loading history for the embedded channel ID returned the secret. This violates the isolation guarantee and the stated rule that legacy files are not automatically loaded. Please use a storage namespace that cannot collide with any legacy flat filename (for example, a separate directory/layout or equivalent unambiguous metadata) and add this collision as a regression test before merging. |
Summary
Verification
npm test— passed: TypeScript build and all 13 Node testsgit diff --check— passedRisk
Closes #38
This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying.