decompose review-004 recorded findings: 15 disposition tasks + the review-004-fixes gate (sqlite seam panic-safety, watcher-death subscribe + initial-stat, bridge alignment, scheduler classification, substrate SAFETY delta; pg forwarder hardening + diagnosability, BIGINT stamp decision + fix, log-facade decision; core offset pin + Display forging, mem doc notes, pg identifier note, tokio dev-dep normalization) — taskgraph validate green (95)
This commit is contained in:
1 parent
029f885aa1
commit
9bbe645558
16 files changed
+1131
No files matched your search
@@ -0,0 +1,58 @@
|
||||
---
|
||||
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
|
||||
Reference in new issue
Block a user