mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
- installHubEntry now requires entry.source.commitSha to match FULL_COMMIT_SHA_PATTERN (40 hex chars). The shorter prefix shape was a trust gap: an in-process caller could craft an entry whose commitSha matched the approval string by luck, pass the equality check, and trigger a re-fetch with ?ref=<short> that GitHub resolves through branch/tag names. - createMemory now validates input.tags as a bounded array of slug strings (max 16 entries, 64 bytes each, 512 bytes total) and rejects control characters and prompt-frame tokens, so a future memory route cannot bypass the 8KB content cap by smuggling instruction-like strings through tags that buildMemoryPrefix renders into the prompt JSON. - Added regression tests for both gates. Generated-By: looper 0.6.1 (runner=fixer, agent=claude-code)