--- id: docs-pg-identifier-truncation-note name: Document the pg identifier-truncation collision in the release text (review 004 item 13) status: pending depends_on: [] scope: single risk: trivial impact: isolated level: implementation tags: [review-004-fixes, postgres-engine, docs] --- ## Description The pg identifier-truncation cross-channel collision, per `docs/reviews/004-pre-release-general-review.md` §"Findings recorded, not fixed" item 13: `LISTEN`/`UNLISTEN` interpolate the channel as a quoted identifier (truncated at 63 bytes server-side) while `pg_notify` carries it as a parameter — two distinct names sharing a 63-byte prefix can silently collapse into one wake channel. Names are unbounded by the validation contract (the no-cap "length-independence" verdict is deliberate — do not change it; the honest cheap fix is the doc note the review prescribed). Land the note in `deployment.md` (the pg rows / wherever the matrix discusses naming or limits) and in `engine-postgres.md` if it has a wake-channel section. The note states the mechanism (63-byte identifier truncation; the `pg_notify` payload path unaffected) and the mitigation (keep mechanism names under the PG identifier limit). The deployment matrix is stable release text — a dated amendment annotation per the family's convention. ## Acceptance Criteria - [ ] `deployment.md` carries the truncation-collision note with a dated annotation (mechanism + mitigation, honestly worded) - [ ] `engine-postgres.md` carries it too if a wake-channel section exists there (or the absence recorded in Notes) - [ ] The validation contract's no-cap verdict untouched - [ ] Doc gate green ## References - docs/reviews/004-pre-release-general-review.md §"Findings recorded, not fixed" item 13 (the finding, the "fold into whichever doc pass runs next" disposition this task discharges) - docs/architecture/deployment.md, engine-postgres.md (the landing sites) - alkstore-postgres/src/forwarder.rs (the LISTEN/UNLISTEN interpolation sites, for the note's accuracy) ## Notes > To be filled by implementation agent ## Summary > To be filled on completion