> **Plain-language companion:** [v0.56.0.md](v0.56.0.md) ## v0.56.0 — Documentation Foundation **Status: Released.** Derived from [plans/PLAN_DOCUMENTATION_GAPS_2.md](../plans/PLAN_DOCUMENTATION_GAPS_2.md) (Round 2 documentation audit, 2026-05-11). > **Release Theme** > Fix every inaccuracy; complete every reference; add the two high-impact > conceptual documents (MENTAL_MODEL.md, LIMITATIONS.md) and the performance > cheat sheet. --- ### P0 — Blockers | ID | Title | Effort | Priority | |----|-------|--------|----------| | DOC-P0-1 | Fix `scripts/gen_catalogs.py` — resolve PGS_* names to `pg_trickle.*`, convert Rust types to PG types, remove trailing garbage rows; regenerate `docs/GUC_CATALOG.md` | Medium | CRITICAL | | DOC-P0-2 | Complete `docs/ERRORS.md` — add sections for Publication (2), SLA (1), CDC (2), Diagnostic (1), Snapshot (3), Outbox (3), Placeholder (1), and DVM hardening (3) error variants following existing template | Large | CRITICAL | | DOC-P0-3 | Fix `pg_trickle.parallel_refresh_mode` default in `docs/CONFIGURATION.md` — verify against `src/config.rs`, update prose, default table, and sample `postgresql.conf` | Small | CRITICAL | ### P1 — High Impact (Reference Completeness) | ID | Title | Effort | Priority | |----|-------|--------|----------| | DOC-P1-4 | Add working examples to `docs/SQL_REFERENCE.md` for 10 outbox/inbox consumer API functions: `poll_outbox`, `commit_offset`, `extend_lease`, `seek_offset`, `consumer_heartbeat`, `consumer_lag`, `drop_consumer_group`, `outbox_rows_consumed`, `replay_inbox_messages`, `inbox_ordering_gaps` | Medium | HIGH | | DOC-P1-5 | Add column-schema tables to `docs/SQL_REFERENCE.md` for 7 undocumented catalog tables: `pgt_outbox_config`, `pgt_consumer_groups`, `pgt_consumer_offsets`, `pgt_consumer_leases`, `pgt_inbox_config`, `pgt_inbox_ordering_config`, `pgt_inbox_priority_config` | Medium | HIGH | | DOC-P1-6 | Add 2–3 paragraph abstracts to three research stubs: `docs/research/CUSTOM_SQL_SYNTAX.md`, `docs/research/PG_IVM_COMPARISON.md`, `docs/research/TRIGGERS_VS_REPLICATION.md`; verify `plans/` source files exist | Medium | HIGH | | DOC-P1-7 | Expand `docs/DVM_REWRITE_RULES.md` with before/after SQL examples for all 5 passes: view inlining, GROUPING SETS expansion, EXISTS-to-join, scalar subquery hoisting, delta key restriction | Medium | HIGH | | DOC-P1-8 | Enrich `docs/introduction.md`: add 3 paragraphs of conceptual context; add INSTALL.md link to persona table; keep under 200 lines | Small | HIGH | ### P1 — New Documents | ID | Title | Effort | Priority | |----|-------|--------|----------| | DOC-P1-9 | Create `docs/MENTAL_MODEL.md` — concept-first DVM explainer for developers who know SQL but not IVM; analogies before formulas; 8 sections from "the problem" through "DAG chaining" | Large | HIGH | | DOC-P1-10 | Create `docs/LIMITATIONS.md` — unsupported SQL constructs, DIFFERENTIAL-mode constraints, source table restrictions, operational anti-patterns, "will this work?" decision tree | Large | HIGH | | DOC-NEW-23 | Create `docs/PERFORMANCE_CHEATSHEET.md` — single-page quick reference: top-10 GUC quick-wins, 5 FULL-fallback patterns with rewrites, three golden rules | Medium | HIGH | --- ### Recommended Implementation Order | Phase | Items | Description | |-------|-------|-------------| | Phase 1 | DOC-P0-1, DOC-P0-3 | Generator fix and default correction — unblocks | | Phase 2 | DOC-P0-2 | Complete ERRORS.md — all 44 variants | | Phase 3 | DOC-P1-4, DOC-P1-5 | SQL_REFERENCE.md completion | | Phase 4 | DOC-P1-6, DOC-P1-7, DOC-P1-8 | Research stubs, DVM rules, introduction | | Phase 5 | DOC-P1-9, DOC-P1-10, DOC-NEW-23 | New documents | --- ### Release Gate - [x] `just lint` passes with zero warnings - [x] `docs/GUC_CATALOG.md` generated cleanly; all GUC names start with `pg_trickle.` - [x] `docs/ERRORS.md` has a section for every variant in `src/error.rs` - [x] `docs/SQL_REFERENCE.md` has examples for all 59 documented functions - [x] All three research stubs have standalone abstracts - [x] `docs/MENTAL_MODEL.md` reviewed by at least one maintainer - [x] `docs/LIMITATIONS.md` reviewed by at least one maintainer - [x] All new SQL examples verified against a running pg_trickle instance --- ### Implementation Status | ID | Title | Status | |----|-------|--------| | DOC-P0-1 | GUC_CATALOG regeneration | ✅ Done | | DOC-P0-2 | ERRORS.md completion | ✅ Done | | DOC-P0-3 | parallel_refresh_mode default fix | ✅ Done | | DOC-P1-4 | SQL_REFERENCE outbox/inbox examples | ✅ Done | | DOC-P1-5 | SQL_REFERENCE catalog table schemas | ✅ Done | | DOC-P1-6 | Research stub abstracts | ✅ Done | | DOC-P1-7 | DVM_REWRITE_RULES worked examples | ✅ Done | | DOC-P1-8 | introduction.md enrichment | ✅ Done | | DOC-P1-9 | docs/MENTAL_MODEL.md | ✅ Done | | DOC-P1-10 | docs/LIMITATIONS.md | ✅ Done | | DOC-NEW-23 | docs/PERFORMANCE_CHEATSHEET.md | ✅ Done | --- ### Files Changed | File | Change | |------|--------| | `scripts/gen_catalogs.py` | Fix PGS_* → pg_trickle.* name resolution; Rust type → PG type mapping | | `docs/GUC_CATALOG.md` | Regenerated — all 115 entries with correct names and types | | `docs/ERRORS.md` | Add 14 new error variant entries across 6 missing categories | | `docs/CONFIGURATION.md` | Fix `parallel_refresh_mode` default value | | `docs/SQL_REFERENCE.md` | Add 10 function examples; add 7 catalog table column schemas | | `docs/research/CUSTOM_SQL_SYNTAX.md` | Add abstract before include | | `docs/research/PG_IVM_COMPARISON.md` | Add abstract before include | | `docs/research/TRIGGERS_VS_REPLICATION.md` | Add abstract before include | | `docs/DVM_REWRITE_RULES.md` | Add before/after SQL examples for 5 rewrite passes | | `docs/introduction.md` | Add 3 paragraphs context + INSTALL.md link | | `docs/MENTAL_MODEL.md` | New file (~500 lines) | | `docs/LIMITATIONS.md` | New file (~400 lines) | | `docs/PERFORMANCE_CHEATSHEET.md` | New file (~150 lines) | | `docs/SUMMARY.md` | Add entries for MENTAL_MODEL.md, LIMITATIONS.md, PERFORMANCE_CHEATSHEET.md |