From ac2bedb81c024bcc06941ff80f69508b34203b4c Mon Sep 17 00:00:00 2001 From: Tyler <53561637+im-tyler@users.noreply.github.com> Date: Sun, 4 Oct 2026 17:52:48 -0700 Subject: [PATCH] =?UTF-8?q?chore:=20pin=20Nucleus=20v1.2.2=20=E2=80=94=20u?= =?UTF-8?q?nique-index=20wire=20enforcement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes the gap observe hit in the wild (L9-adjacent, neutron#69): 1.2.1 enforced CREATE UNIQUE INDEX only on the parsed path; wire-level autocommit statements bypassed it. v1.2.2 declines the OLTP fast path for unique-indexed tables and reports Postgres-shaped 23505 violations. Cross-replica survey dedupe unblocks. Verified, CI shape: 53/53 packages green + fresh migration boot against the v1.2.2 image. --- .github/workflows/ci.yml | 2 +- docker-compose.yml | 2 +- teploy.yml | 14 +++++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ddda25d2..cc575fbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ permissions: # against and production runs (teploy.yml pins the same tag; # docker-compose.yml defaults to it). One place to bump. env: - NUCLEUS_VERSION: v1.2.1 + NUCLEUS_VERSION: v1.2.2 STATICCHECK_VERSION: 2025.1.1 concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} diff --git a/docker-compose.yml b/docker-compose.yml index abf0aa12..74aed000 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,7 +41,7 @@ services: nucleus: # Pinned (was :latest). Keep in sync with NUCLEUS_VERSION in # .github/workflows/ci.yml; override with NUCLEUS_VERSION=... to upgrade. - image: ghcr.io/neutron-build/nucleus:${NUCLEUS_VERSION:-v1.2.1} + image: ghcr.io/neutron-build/nucleus:${NUCLEUS_VERSION:-v1.2.2} restart: unless-stopped networks: # R43 (round 4): database on the internal backend network only — the diff --git a/teploy.yml b/teploy.yml index 92aebe98..930692fd 100644 --- a/teploy.yml +++ b/teploy.yml @@ -127,7 +127,19 @@ accessories: # on populated tables. Verified: observe's full suite (48 packages, # -p 1) green against the v1.2.1 image, plus a fresh migration boot # (001-056). - image: ghcr.io/neutron-build/nucleus:v1.2.1 + # + # v1.2.2 (2026-10-04), up from v1.2.1. Closes the L9-era gap this repo + # hit in the wild: 1.2.1 enforced CREATE UNIQUE INDEX only on the + # parsed path — simple-protocol autocommit statements (wire-level + # INSERT/UPDATE) took the SQL OLTP fast path, which bypassed the check, + # so duplicates landed under a unique index (neutron#69). The fast path + # now declines unique-indexed tables (fail-closed) and violations come + # back Postgres-shaped (23505, against the index name) — cross-replica + # survey-response dedupe can move from upstream-blocked to engine- + # enforced. Also boxes the statement dispatcher's futures (-27% debug + # stack). Verified: observe's full suite green against the v1.2.2 + # image, fresh migration boot included. + image: ghcr.io/neutron-build/nucleus:v1.2.2 port: 5432 # Hard cgroup cap, and the only bound the kernel enforces. # NUCLEUS_MAX_MEMORY_MB below is the engine's accounting of its OWN