Skip to content

release: v0.6.19 — SPARQL expression surface + differential oracle + fail-closed truncation#60

Merged
styk-tv merged 4 commits into
mainfrom
release-v0.6.19
Jul 3, 2026
Merged

release: v0.6.19 — SPARQL expression surface + differential oracle + fail-closed truncation#60
styk-tv merged 4 commits into
mainfrom
release-v0.6.19

Conversation

@styk-tv

@styk-tv styk-tv commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Release cut — v0.6.19

Rule-7 source-set reconciliation to 0.6.19 (mirrors the v0.6.18 cut, PR #47). No schema delta — this release is .so + test-harness only.

Source set

  • Cargo.toml, Cargo.lock, pgrdf.control (default_version), META.json (dist + provides.pgrdf) → 0.6.19
  • compose/compose.yml per-file bind-mount pgrdf--0.6.19.sql; tests/regression/expected/00-smoke.out → 0.6.19
  • git mv sql/pgrdf--0.5.1--0.6.{18→19}.sqlno new DDL (the Carve: fail-closed on path-depth / closure truncation #14 GUC registers in Rust _PG_init, not SQL); header carries a v0.6.19 'no schema delta' note
  • CHANGELOG.md [Unreleased][0.6.19]

Ships (all already merged to main)

# area
#51 SPARQL expression surface — IF, ABS/ROUND/CEIL/FLOOR/RAND, XPath math# tier (exp/log/sqrt/pow)
#50 aggregates over expressions + BIND-produced variables
#14 pgrdf.on_path_truncation fail-closed GUC + carve boundary report
#17 W3C spareval differential oracle (orchestration fully in Rust)
#49 hexastore three-vs-six docs

Scoring-loop (Motion A.5) forward-collapse is complete on the pgRDF side: SUM(?w * math:exp(-?age/?tau)) GROUP BY ?c HAVING(…) is one in-plan aggregate.

RC verification (isolated container, 0.6.19-built .so)

gate result
version() / extversion / default_version 0.6.19 (all three)
CREATE EXTENSION pgrdf clean
regression suite 100/100
W3C + differential oracle 53/53 · 37 oracle-match · 2 known-divergence (#54/#55) · 0 diverge

After merge

Push tag v0.6.19 on the merge commit → release.yml (version-consistency guard: Cargo.toml == pgrdf.control == META.json == tag) → SLSA attestation → LATEST.md. Closes the v0.6.19 milestone.

…fail-closed truncation

Reconcile the Rule 7 source set to 0.6.19 (Cargo.toml + Cargo.lock + pgrdf.control
+ META.json + compose/compose.yml bind-mount + 00-smoke.out), git mv the upgrade
path pgrdf--0.5.1--0.6.{18->19}.sql (NO DDL delta — 0.6.19 is .so + test only),
CHANGELOG [Unreleased] -> [0.6.19].

Ships (all already merged): #51 SPARQL expression surface (IF, ABS/ROUND/CEIL/
FLOOR/RAND, math# extension tier exp/log/sqrt/pow), #50 aggregates over
expressions + BIND-produced variables, #14 pgrdf.on_path_truncation fail-closed
GUC + carve boundary report, #17 W3C spareval differential oracle (orchestration
fully in Rust), #49 hexastore three-vs-six docs.

Scoring-loop (Motion A.5) forward-collapse complete on the pgRDF side: the
decayed weighted sum SUM(?w * math:exp(-?age/?tau)) GROUP BY/HAVING is one
in-plan aggregate.
…#55)

The #17 differential oracle surfaced that pgRDF resolves a SELECT
alias inside HAVING (SQL-style) whereas strict W3C SPARQL 1.1
§18.2.4.4 evaluates HAVING before the SELECT Extend binds the alias
(strict engines return 0 rows). Resolved as a DOCUMENTED intentional
extension (not a defect): it is a strict superset — every spec-legal
query (the inline HAVING(SUM(?v)>c) form) behaves identically here and
in a strict engine, so the inline form is the portable choice, and
pgRDF's alias form is the more-useful behavior for its SQL-minded
audience where strict SPARQL returns silent nothing.

docs/03-query.md HAVING entry documents it; the fixture 08 oracle
marker now records it as a documented known-divergence (working as
intended), not a pending bug.

Resolves #55 (documented extension).
styk-tv added 2 commits July 3, 2026 03:49
…ELOG

Brings the post-cut work (merged via #61) into the [0.6.19] entry:
CONSTRUCT set semantics (#54), expression-lane robustness (math:pow
overflow, INF/NaN literals, math:exp guard), and the HAVING-alias
documented-extension resolution (#55). No version/schema change.
@styk-tv styk-tv merged commit 5c5240a into main Jul 3, 2026
4 checks passed
@styk-tv styk-tv deleted the release-v0.6.19 branch July 3, 2026 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant