Source: Audit section 2.10. Decision needed before implementation.
State of the world:
Spec specs/post.allium documents published_title/content/tags/categories/excerpt as "copy as of last publish. Used by changes_affect_published_content to decide when an edit reopens a published post" — but NO implementation uses them for that.
bDS2 never writes them on publish (nil at create/rebuild — ../bDS2/lib/bds/posts.ex:99, rebuild_from_files.ex:168; only passthrough via update attrs). Its reopen check compares updates against CURRENT field values.
RuDS writes them on every publish (engine/post.rsset_published_snapshot) and uses them as a discard fallback.
Task: Decide with the maintainer:
Option A (match bDS2, likely for DB parity): stop populating published_* on publish; drop the discard fallback (see discard-guard issue); reopen logic compares against current values + file body.
Option B: keep RuDS snapshots as an intentional improvement; then bDS2 rows lack them, so nothing may DEPEND on them for correctness on shared DBs.
Then update specs/post.allium (entity Post comment + ReopenPublishedPost rule) and specs/schema.allium to describe the chosen semantics, and align code + tests. Validate specs with the allium CLI.
Acceptance: One coherent story across spec, RuDS, and bDS2-created databases; tests encode it.
**Source:** Audit section 2.10. Decision needed before implementation.
**State of the world:**
- Spec `specs/post.allium` documents published_title/content/tags/categories/excerpt as "copy as of last publish. Used by changes_affect_published_content to decide when an edit reopens a published post" — but NO implementation uses them for that.
- bDS2 never writes them on publish (nil at create/rebuild — `../bDS2/lib/bds/posts.ex:99`, `rebuild_from_files.ex:168`; only passthrough via update attrs). Its reopen check compares updates against CURRENT field values.
- RuDS writes them on every publish (`engine/post.rs` `set_published_snapshot`) and uses them as a discard fallback.
**Task:** Decide with the maintainer:
- Option A (match bDS2, likely for DB parity): stop populating published_* on publish; drop the discard fallback (see discard-guard issue); reopen logic compares against current values + file body.
- Option B: keep RuDS snapshots as an intentional improvement; then bDS2 rows lack them, so nothing may DEPEND on them for correctness on shared DBs.
Then update `specs/post.allium` (entity Post comment + ReopenPublishedPost rule) and `specs/schema.allium` to describe the chosen semantics, and align code + tests. Validate specs with the `allium` CLI.
**Acceptance:** One coherent story across spec, RuDS, and bDS2-created databases; tests encode it.
hugo
added the bug label 2026-07-20 19:43:59 +00:00
Implemented Option A in b8014e0 to match bDS2 and shared-database parity. Publishing no longer populates published_title/content/tags/categories/excerpt; pre-existing non-null values remain untouched but are behaviorally inert. Reopen decisions are tested against current metadata and the canonical file body, discard already restores from the file, and WordPress analysis/execution no longer uses published_content as a fallback or transient body store. Removed the obsolete snapshot writer and narrow query helpers made unused by the single-record publish update. Updated post.allium, schema.allium, and model documentation to state the compatibility-only semantics. Verified with Allium check/analyse, a full production-read audit, focused publish/reopen/discard/import tests, cargo fmt --check, cargo check --workspace, cargo machete --with-metadata, cargo build --workspace, and cargo test --workspace (all passed; one intentional model-download test ignored).
Implemented Option A in b8014e0 to match bDS2 and shared-database parity. Publishing no longer populates published_title/content/tags/categories/excerpt; pre-existing non-null values remain untouched but are behaviorally inert. Reopen decisions are tested against current metadata and the canonical file body, discard already restores from the file, and WordPress analysis/execution no longer uses published_content as a fallback or transient body store. Removed the obsolete snapshot writer and narrow query helpers made unused by the single-record publish update. Updated post.allium, schema.allium, and model documentation to state the compatibility-only semantics. Verified with Allium check/analyse, a full production-read audit, focused publish/reopen/discard/import tests, cargo fmt --check, cargo check --workspace, cargo machete --with-metadata, cargo build --workspace, and cargo test --workspace (all passed; one intentional model-download test ignored).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Source: Audit section 2.10. Decision needed before implementation.
State of the world:
specs/post.alliumdocuments published_title/content/tags/categories/excerpt as "copy as of last publish. Used by changes_affect_published_content to decide when an edit reopens a published post" — but NO implementation uses them for that.../bDS2/lib/bds/posts.ex:99,rebuild_from_files.ex:168; only passthrough via update attrs). Its reopen check compares updates against CURRENT field values.engine/post.rsset_published_snapshot) and uses them as a discard fallback.Task: Decide with the maintainer:
Then update
specs/post.allium(entity Post comment + ReopenPublishedPost rule) andspecs/schema.alliumto describe the chosen semantics, and align code + tests. Validate specs with thealliumCLI.Acceptance: One coherent story across spec, RuDS, and bDS2-created databases; tests encode it.
Decision by maintainer: match bDS2 and update code and the spec accordingly.
Implemented Option A in
b8014e0to match bDS2 and shared-database parity. Publishing no longer populates published_title/content/tags/categories/excerpt; pre-existing non-null values remain untouched but are behaviorally inert. Reopen decisions are tested against current metadata and the canonical file body, discard already restores from the file, and WordPress analysis/execution no longer uses published_content as a fallback or transient body store. Removed the obsolete snapshot writer and narrow query helpers made unused by the single-record publish update. Updated post.allium, schema.allium, and model documentation to state the compatibility-only semantics. Verified with Allium check/analyse, a full production-read audit, focused publish/reopen/discard/import tests, cargo fmt --check, cargo check --workspace, cargo machete --with-metadata, cargo build --workspace, and cargo test --workspace (all passed; one intentional model-download test ignored).