fix: reject private analyses without a read owner #37

Merged
james.maes merged 1 commits from james.maes/fix-private-analysis-read-owner AGit into develop 2026-11-03 21:01:42 +00:00
Owner

The generated saved-analysis constraint accepted NULL sharing and a NULL read owner because SQL CHECK allows UNKNOWN, making a direct-SQL private row readable as shared. Require shared IS TRUE before omitting its read owner; normal QQQ writes remain unchanged. Existing hosts must append the documented migration. Validation: the original defect reproduced; 314 tests, Checkstyle and coverage gates pass via Maven wrapper 3.9.11 against exact QQQ RC.20. GG Forge also verified the forward constraint against PostgreSQL 17.7. No release or deployment is claimed.

The generated saved-analysis constraint accepted NULL sharing and a NULL read owner because SQL CHECK allows UNKNOWN, making a direct-SQL private row readable as shared. Require shared IS TRUE before omitting its read owner; normal QQQ writes remain unchanged. Existing hosts must append the documented migration. Validation: the original defect reproduced; 314 tests, Checkstyle and coverage gates pass via Maven wrapper 3.9.11 against exact QQQ RC.20. GG Forge also verified the forward constraint against PostgreSQL 17.7. No release or deployment is claimed.
james.maes added 1 commit 2026-11-03 18:27:32 +00:00
fix: reject private analyses without a read owner
QRun-IO/ci-policy: ci / fork-guard (pull_request) Skipped
QRun-IO/ci-policy: ci / head-profile (pull_request) Skipped
QRun-IO/ci-policy: ci / application-template-0 (pull_request) Skipped
QRun-IO/ci-policy: ci / gradle-1 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (pull_request) Skipped
QRun-IO/ci-policy: ci / node-8 (pull_request) Skipped
QRun-IO/ci-policy: ci / node-9 (pull_request) Skipped
QRun-IO/ci-policy: ci / node-10 (pull_request) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (pull_request) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (pull_request) Skipped
QRun-IO/ci-policy: ci / source-config-13 (pull_request) Skipped
QRun-IO/ci-policy: ci / source-config-14 (pull_request) Skipped
QRun-IO/ci-policy: ci / android-0 (pull_request) Skipped
QRun-IO/ci-policy: ci / original-business (pull_request) Skipped
QRun-IO/ci-policy: ci / original-mcp (pull_request) Skipped
QRun-IO/ci-policy: ci / not-enrolled (pull_request) Skipped
QRun-IO/ci-policy: native / fork-deny (pull_request) Skipped
QRun-IO/ci-policy: native / dotnet-0 (pull_request) Skipped
QRun-IO/ci-policy: native / native-result (pull_request) Successful in 5s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (pull_request) Successful in 15s
QRun-IO/ci-policy: ci / repository-policy (pull_request) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (pull_request) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (pull_request) Successful in 4m22s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (pull_request) Successful in 16s
QRun-IO/ci-policy: ci / java-docker-3 (pull_request) Successful in 39m52s
QRun-IO/ci-policy: ci / ci-result (pull_request) Successful in 7s
Release candidate / release-rc (pull_request) Skipped
2dcc073f51
Use an explicit true sharing check so nullable flags cannot pass SQL CHECK as UNKNOWN. Add a generated-schema SQL regression and document the forward host migration.

Co-Authored-By: Codex (GPT-6) <noreply@openai.com>
james.maes merged commit e7926cbb20 into develop 2026-11-03 21:01:42 +00:00
Sign in to join this conversation.