james.maes
ae57a9442b
Merge pull request 'fix(filters): relative dates in an analysis filter no longer answer HTTP 500' ( #44 ) from fix/relative-date-filters into develop
build / maven (push) Successful in 4m33s
maven / build (push) Successful in 4m33s
2026-11-11 13:11:49 +00:00
james.maes and Claude Fable 5.2
472fcbf8dd
docs(changelog): file the relative-date fix under Unreleased / Fixed
...
build / maven (push) Successful in 3m15s
maven / build (push) Successful in 3m15s
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 07:05:46 -06:00
james.maes and Claude Fable 5.2
a707215317
fix(filters): relative dates in an analysis filter no longer answer HTTP 500
...
build / maven (push) Successful in 4m20s
maven / build (push) Successful in 4m20s
A filter criterion whose value is a filter expression (NowWithOffset, ThisOrLastPeriod, Now)
on a date or date-time field failed in DrillFilters.restoreTypes with 'Unsupported class
...NowWithOffset for converting to Instant': the value was converted to the field's type
before the query. Expressions are now passed through for core to evaluate, so a pivot
'created in the last day' works directly, after the JSON round trip of the UI API and of a
saved definition, and its drill filters carry the expression.
PivotContractTest.pivotWithRelativeDateFilter fails without the change on the memory, H2
and PostgreSQL engines.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 07:05:30 -06:00
james.maes
0e9c4ec2b8
Merge pull request 'build(deps): align with Gitea registry (parent 2.2.1, QQQ 4.1.0-RC.26)' ( #43 ) from deps/align-gitea into develop
build / maven (push) Successful in 5m34s
maven / build (push) Successful in 5m34s
2026-11-07 18:41:07 +00:00
james.maes and Claude Opus 5.5
880977b19a
build(deps): align with Gitea registry (parent 2.2.1, QQQ 4.1.0-RC.26)
...
build / maven (push) Canceled after 4m50s
maven / build (push) Canceled after 0s
pom.xml: parent -> 2.2.1
pom.xml: qqq.snapshot.version: 4.1.0-RC.19 -> 4.1.0-RC.26
pom.xml: added qqq.version=4.1.0-RC.26 (parent BOM import)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-07 17:59:06 +00:00
james.maes
4354239fd7
Merge pull request 'ci: pin shared workflow to v1' ( #42 ) from ci/pin-v1-develop into develop
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: ci / Scoped workflow [workflow 1e25bb5a243dfdcd95d4b9a4f780200ff8c8778a] (push) Successful in 18s
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: ci / original-cli (push) Skipped
QRun-IO/ci-policy: ci / shared-pipeline (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Successful in 11s
QRun-IO/ci-policy: native / native-result (push) Successful in 13s
build / maven (push) Successful in 7m29s
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
maven / build (push) Successful in 7m29s
2026-11-06 16:06:08 +00:00
james.maes and Claude Opus 5.5
21ca0bb158
ci: pin shared workflow to v1
...
QRun-IO/ci-policy: ci / Scoped workflow [workflow 1e25bb5a243dfdcd95d4b9a4f780200ff8c8778a] (pull_request) Successful in 7s
QRun-IO/ci-policy: native / native-result (pull_request) Successful in 6s
QRun-IO/ci-policy: ci / head-profile (pull_request) Skipped
QRun-IO/ci-policy: ci / repository-policy (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-core-2-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (pull_request) Skipped
QRun-IO/ci-policy: ci / node-10 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (pull_request) Skipped
QRun-IO/ci-policy: ci / node-8 (pull_request) Skipped
QRun-IO/ci-policy: ci / source-config-13 (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 / original-voyage (pull_request) Skipped
QRun-IO/ci-policy: ci / original-cli (pull_request) Skipped
QRun-IO/ci-policy: ci / not-enrolled (pull_request) Skipped
QRun-IO/ci-policy: ci / shared-pipeline (pull_request) Skipped
QRun-IO/ci-policy: ci / ci-result (pull_request) Successful in 7s
build / maven (push) Successful in 6m49s
QRun-IO/ci-policy: ci / fork-guard (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: ci / java-docker-3 (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 / node-9 (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-14 (pull_request) Skipped
maven / build (push) Successful in 6m49s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-06 14:08:22 +00:00
james.maes
9c81be5223
Merge pull request 'ci: use shared ci-workflows Maven workflow' ( #41 ) from ci/ci-workflows into develop
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 7s
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: ci / original-cli (push) Skipped
QRun-IO/ci-policy: ci / shared-pipeline (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Successful in 5s
build / maven (push) Successful in 5m14s
QRun-IO/ci-policy: ci / Scoped workflow [workflow d20a578c7d818bc7ca32a2ac2c675da4e4f27385] (push) Successful in 8s
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
maven / build (push) Successful in 5m14s
2026-11-05 23:16:09 +00:00
james.maes and Claude Opus 5.5
0012d9b3fa
ci: use shared ci-workflows Maven workflow
...
QRun-IO/ci-policy: ci / fork-guard (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: ci / Scoped workflow [workflow 1b3648d9421543350067e95e54959dfb471b26d5] (pull_request) Successful in 11s
QRun-IO/ci-policy: native / native-result (pull_request) Successful in 9s
QRun-IO/ci-policy: ci / head-profile (pull_request) Skipped
QRun-IO/ci-policy: ci / repository-policy (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-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 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (pull_request) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (pull_request) Skipped
QRun-IO/ci-policy: ci / node-8 (pull_request) Skipped
QRun-IO/ci-policy: ci / node-10 (pull_request) Skipped
QRun-IO/ci-policy: ci / source-config-13 (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 / original-voyage (pull_request) Skipped
QRun-IO/ci-policy: ci / original-cli (pull_request) Skipped
QRun-IO/ci-policy: ci / not-enrolled (pull_request) Skipped
QRun-IO/ci-policy: ci / shared-pipeline (pull_request) Skipped
build / maven (push) Successful in 5m6s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (pull_request) Failing after 13s
QRun-IO/ci-policy: ci / ci-result (pull_request) Failing after 8s
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 / node-9 (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-14 (pull_request) Skipped
maven / build (push) Successful in 5m6s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (pull_request) Successful in 4m52s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (pull_request) Failing after 2s
QRun-IO/ci-policy: ci / java-docker-3 (pull_request) Failing after 14m32s
Replace the platform-ci release callers with one caller of
KofTwentyTwo/ci-workflows maven.yaml (qqq-orb port).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-05 22:04:16 +00:00
james.maes
f2fd8b1b0f
Merge pull request 'ci: reconcile legacy release ancestry for normal RC cuts' ( #39 ) from fix/reconcile-release-ci into develop
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
qrun-release / release (push) Successful in 5m5s
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
qrun-release / postpublish (push) Successful in 2m5s
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (push) Successful in 13s
Shared Java Maven CI with Docker / secrets (push) Successful in 13s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 3s
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Successful in 4m40s
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / ci-result (push) Successful in 4s
QRun-IO/ci-policy: ci / node-10 (push) Skipped
Shared Java Maven CI with Docker / verify (push) Successful in 4m54s
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
Shared Java Maven CI with Docker / gate (push) Successful in 10s
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
Shared QRun source version / version (push) Successful in 2m5s
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (push) Successful in 4m26s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (push) Successful in 10s
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
2026-11-03 21:42:29 +00:00
james.maes
1836afce45
Merge pull request 'docs: record Forge prerequisite fix for release' ( #38 ) from docs/forge-release-notes into develop
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 5s
Shared Java Maven CI with Docker / secrets (push) Successful in 15s
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (push) Successful in 15s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Successful in 4m31s
Shared Java Maven CI with Docker / verify (push) Successful in 4m40s
QRun-IO/ci-policy: ci / ci-result (push) Successful in 5s
qrun-release / release (push) Successful in 4m50s
qrun-release / postpublish (push) Successful in 1m6s
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (push) Successful in 4m19s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (push) Successful in 8s
Shared Java Maven CI with Docker / gate (push) Successful in 9s
Shared QRun source version / version (push) Successful in 1m5s
2026-11-03 21:24:29 +00:00
james.maes
e7926cbb20
Merge pull request 'fix: reject private analyses without a read owner' ( #37 ) from james.maes/fix-private-analysis-read-owner into develop
QRun-IO/ci-policy: ci / ci-result (push) Successful in 5s
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
Shared Java Maven CI with Docker / verify (push) Successful in 4m34s
QRun-IO/ci-policy: ci / java-maven-6 (push) Skipped
qrun-release / release (push) Successful in 4m51s
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
qrun-release / postpublish (push) Successful in 3m14s
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / original-business (push) Skipped
QRun-IO/ci-policy: ci / original-voyage (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 8s
Shared Java Maven CI with Docker / secrets (push) Successful in 19s
QRun-IO/ci-policy: Shared Java Maven CI with Docker / secrets (push) Successful in 21s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Successful in 6m6s
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
Shared Java Maven CI with Docker / gate (push) Successful in 12s
Shared QRun source version / version (push) Successful in 3m14s
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / verify (push) Successful in 5m26s
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: Shared Java Maven CI with Docker / gate (push) Successful in 12s
2026-11-03 21:01:41 +00:00
james.maes and Codex
368d2c0e3a
ci: adopt managed orb 0.8 patch track ( #31 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 16:04:08 -05:00
james.maes and Codex
68067df16b
ci: adopt shared orb 0.7.18 ( #30 )
...
* ci: adopt shared orb 0.7.17
Co-Authored-By: Codex <noreply@openai.com >
* ci: adopt corrected orb bootstrap 0.7.18
Co-Authored-By: Codex <noreply@openai.com >
---------
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 14:40:55 -05:00
james.maes and Codex
8cc13ff7e7
ci: centralize release branch verification and workflows ( #29 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 12:39:01 -05:00
james.maes and Codex
6a520e5452
ci: use the shared branch-aware CodeQL worker ( #28 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 10:46:49 -05:00
james.maes and Codex
b1ede9f887
ci: adopt central orb 0.7.12 and stable gates ( #26 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 08:56:56 -05:00
james.maes and Codex
81552784e9
ci: centralize rc release completion in qqq orb ( #25 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 02:26:29 -05:00
james.maes and Codex
a68d557fb2
ci: adopt shared orb 0.7.11 ( #24 )
...
Co-authored-by: Codex <noreply@openai.com >
2026-10-21 01:01:55 -05:00
james.maes
36527b06ff
Merge pull request #23 from QRun-IO/feature/central-ci
...
ci: adopt shared QQQ orb standard
2026-10-20 18:57:32 -05:00
james.maes and Codex
7c78003765
ci: adopt verified central QQQ orb 0.7.3
...
Co-Authored-By: Codex <noreply@openai.com >
2026-10-20 18:52:18 -05:00
james.maes and Claude Opus 5.5
e82960ac52
Merge develop into release/0.1 for 0.1.0-RC.6 ( #19 schedules and watches run as a service principal, QQQ RC.19)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 13:39:16 -05:00
james.maes
ce127037e4
Merge pull request #19 from QRun-IO/feature/service-principal
...
fix(schedules): schedules and watches run as the data-analysis service principal
2026-10-16 13:33:34 -05:00
james.maes and Claude Opus 5.5
20545be7fc
build: QQQ 4.1.0-RC.19
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 13:19:12 -05:00
james.maes
96d2e48e47
Merge pull request #20 from QRun-IO/feature/data-analysis-business-home
...
feat(home): move Setup to admin and omit unpermitted home content
2026-10-16 10:19:27 -05:00
james.maes and Claude Sonnet 5.5
1d2c2b0029
feat(home): move Setup to admin and omit unpermitted home content
...
The Data Analysis home showed the engine Setup card (max rows, sampling,
cache, scheduler state) to every SAVED_READ user, and rendered
"Unavailable: READ permission required." shells for unreadable groups.
- dataAnalysisSetup is off the home widget list; it stays registered, gated
to data_analysis.admin with DenyBehavior.HIDDEN. Hosts place
DataAnalysisQBitProducer.SYSTEM_WIDGETS on their Admin area.
- Each home data widget requires READ on its table and is omitted from
metadata otherwise.
- Overview groups the user cannot read are left out of the payload; no
"Unavailable" text remains on the home.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 09:18:26 -05:00
james.maes and Claude Opus 5.5
21671b3df3
fix(schedules): run schedules and watches as the data-analysis service principal
...
The self-made data-analysis-scheduler session is rejected under OAuth2,
so every scheduled run failed. With the host's principal declared,
inventory runs as it and owner/recipient runs go on their behalf through
it (current access intersected). Undeclared: unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 08:27:23 -05:00
james.maes
9d1d712040
Merge pull request #18 from QRun-IO/ci/release-rc-secrets-inherit
...
ci(release-rc): pass secrets so the shared workflow can sign the RC tag
2026-10-16 08:03:37 -05:00
james.maes and Claude Opus 5.5
2c1fa83cfd
ci(release-rc): pass secrets to the shared workflow so it can sign the RC tag
...
QRun-IO/.github#2 adds a tag-and-release job that signs vX with the
QRUN_TAG_SIGNING_KEY secret after Maven Central confirms the artifact.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 16:19:18 -05:00
james.maes and Claude Opus 5.5
666020b5b9
Merge develop into release/0.1 for 0.1.0-RC.4 ( #17 UI API 1.6.0 extension, QQQ RC.15)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 16:18:44 -05:00
james.maes
25d03c1514
Merge pull request #17 from QRun-IO/feature/ui-api-1.6
...
feat(ui-api): extension for QQQ UI API 1.6.0 (operationIds, BasicErrorResponseV1, QQQ 4.1.0-RC.15)
2026-10-15 16:12:58 -05:00
james.maes and Claude Opus 5.5
442eb4398c
chore: target QQQ 4.1.0-RC.15 (UI API 1.6.0)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 12:27:05 -05:00
james.maes and Claude Opus 5.5
3aa728d88a
feat(ui-api): extension for QQQ UI API 1.6.0 (operationIds, BasicErrorResponseV1, QQQ 4.1.0-RC.14)
...
Regenerated against UI API 1.6.0: every operation has an operationId and
the standard error responses (BasicErrorResponseV1: error, code, message,
fieldErrors, traceId); the extension's own error schema is kept but
deprecated; hand-written error bodies go through QJavalinUtils so they carry
code/message/traceId. Extension MINOR bumped.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 11:43:37 -05:00
james.maes
51ab908b11
Merge pull request #16 from QRun-IO/fix/producer-version-from-build
...
fix: qbit metadata version comes from the build
2026-10-15 01:42:56 -05:00
james.maes and Claude Opus 5.5
3474b0c188
fix: the qbit metadata version comes from the build, not a hardcoded constant
...
The producer read a literal version, so released artifacts reported a stale
or -SNAPSHOT version. qbit-data-analysis.properties (version=${project.version}) is
Maven-filtered and the producer loads it; tests assert producer == bundle ==
artifact version.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-15 01:33:59 -05:00
james.maes
b12cadfc75
Merge pull request #15 from QRun-IO/fix/help-bundle-version
...
fix(help): help bundle version comes from the build, not a hardcoded SNAPSHOT
2026-10-14 22:37:20 -05:00
james.maes and Claude Opus 5.5
6065d2d1c1
fix(help): the help bundle carries the artifact version (Maven-filtered) instead of a hardcoded SNAPSHOT
...
On release branches the bundle's version and the producer's differed, so the
bundle test that asserts they match failed, and released bundles recorded
SNAPSHOT as their provenance. help/*.yaml is now filtered:
version: ${project.version}.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 22:06:05 -05:00
james.maes and Claude Opus 5.5
546196af6d
Merge develop into release/0.1 for 0.1.0-RC.3 ( #13 help bundle)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 21:20:46 -05:00
james.maes
0e0cc0b83d
Merge pull request #13 from QRun-IO/feature/help-bundle
...
feat(help): qbit-data-analysis help bundle via QQQ help bundles, with coverage gate
2026-10-14 20:45:30 -05:00
james.maes and Claude Opus 5.5
73de290a93
feat(help): ship the qbit-data-analysis help bundle through QQQ help bundles, with coverage gate
...
Host-neutral help (deployment-specific facts removed), registered with
HelpBundles, gated by HelpBundleAssertions. QQQ 4.1.0-RC.7.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 20:27:13 -05:00
james.maes and Claude Opus 5.5
a9b4f076f9
Merge develop into release/0.1 for 0.1.0-RC.2 ( #12 tables work)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 17:57:17 -05:00
james.maes
e11e1464cd
Merge pull request #12 from QRun-IO/feature/tables-populated-defaults
...
feat: Create rows for analyzable tables, Setup card and table help
2026-10-14 17:47:00 -05:00
james.maes and Claude Opus 5.5
bab162e77c
fix: accurate Result cache line, count-only summary, action visible only with settings insert
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 17:43:27 -05:00
james.maes and Claude Opus 5.5
cdce36d119
chore: well-formed STAND-IN marker for the help applier
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 17:30:33 -05:00
james.maes and Claude Opus 5.5
04d3c01cf3
feat: Create rows for analyzable tables, Setup card and table help so Analysis Settings is never a mystery
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 17:23:24 -05:00
james.maes
69800f755c
Merge pull request #11 from QRun-IO/feature/orb-0.6.9
...
ci: qqq-orb 0.6.9 (refresh SNAPSHOT dependencies)
2026-10-14 10:45:55 -05:00
james.maes and Claude Opus 5.5
f8d1ed787c
ci: qqq-orb 0.6.9 (refresh SNAPSHOT dependencies)
...
Moves qqq-orb@0.6.8 to qqq-orb@0.6.9, which passes --update-snapshots so cached SNAPSHOT dependencies are re-checked on every build (QRun-IO/qqq-orb#22 ).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 10:06:44 -05:00
james.maes
8bda02bc4a
Merge pull request #10 from QRun-IO/feature/saved
...
feat(saved): saved, shared, starred, scheduled and widget analyses, export, SQL handoff
2026-10-14 07:10:01 -05:00
james.maes
93ebd64fbe
Merge pull request #9 from QRun-IO/feature/watches
...
feat(watches): anomaly watches through the alerts SPI, contingent pickers
2026-10-14 07:09:47 -05:00
james.maes
a157f18edc
Merge pull request #8 from QRun-IO/feature/compare
...
feat(compare): compare, distribution shift, correlation, scatter and crosstabs
2026-10-14 07:09:35 -05:00
james.maes
894cc98d9b
Merge pull request #6 from QRun-IO/feature/pivot
...
feat(pivot): pivot / group-by explorer and the field-access resolver seam
2026-10-14 07:09:21 -05:00
james.maes
2c52814e33
Merge pull request #5 from QRun-IO/feature/profile-endpoints
...
feat(api): /qqq/v1 data-analysis extension, core pushdown backend, analyze permission
2026-10-14 07:09:09 -05:00
james.maes and Claude Opus 5.5
69154de566
fix(tables): a new saved analysis, star, watch or run belongs to the inserting user
...
Found driving the Next UI against the sample app: the UI cannot send the
user's id, and core checks required fields and record locks before the
customizers run. An insert-only field behavior fills empty owner/user
fields with the session user (never on update, so an administrator's
partial edit cannot take ownership); naming another owner is still
refused.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 22:49:18 -05:00
james.maes
b3c8a0412a
Merge remote-tracking branch 'origin/feature/watches' into feature/saved
2026-10-13 22:26:08 -05:00
james.maes
191e96b094
Merge remote-tracking branch 'origin/feature/compare' into feature/watches
2026-10-13 22:23:43 -05:00
james.maes
642401e633
Merge remote-tracking branch 'origin/feature/pivot' into feature/compare
2026-10-13 22:19:46 -05:00
james.maes
35901fe71a
Merge remote-tracking branch 'origin/feature/profile-endpoints' into feature/pivot
2026-10-13 22:17:27 -05:00
james.maes and Claude Opus 5.5
bb8b431b7f
chore(api): regenerate the OpenAPI fragment against QQQ 4.1.0-RC.6
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 22:17:04 -05:00
james.maes and Claude Opus 5.5
1641b32296
fix(stats): pool sparse crosstab categories instead of refusing the test
...
Chi-square now pools the smallest category into Other one at a time until
every expected count is at least five (rows too, for independence), so a
crosstab with a single-record row still gets a valid test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 22:14:14 -05:00
james.maes and Claude Opus 5.5
d2c9871d98
feat(saved): saved, shared, starred, scheduled and widget analyses, export, SQL handoff
...
Extension 1.4.0: saved analyses of every kind re-run as the viewer
(fields they cannot analyze are dropped), owner-or-shared READ through
core record locks with owner-only writes (and a database CHECK so a
private row can never lose its read owner), personal stars, schedules
that run as the owner and mail only recipients who could run the analysis
themselves, CSV/XLSX export, the SQL Workbench handoff, an analysis
dashboard widget, and an Analyses home built from standard widgets.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 21:23:23 -05:00
james.maes and Claude Opus 5.5
43c7571864
feat(watches): anomaly watches through the alerts SPI, contingent pickers
...
Watches evaluate a metric per time bucket as their owner (SPIKE, DROP,
OUT_OF_RANGE, NEW_CATEGORY, NULL_RATE_CREEP with robust baselines) on a
hidden scheduled process, raise and resolve data.analysis.anomaly alerts
through QAlerts, and offer Evaluate now / Enable / Disable record actions
and a preview endpoint (extension 1.3.0). Pivot and crosstab labels are
human (Yes/No, Average Annual Salary). Contingent fields: a watch's saved
analysis depends on its table, table names use the core tables PVS, and
analyzable/excluded fields pick from the chosen table's fields.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 20:34:19 -05:00
james.maes and Claude Opus 5.5
20b8223ce8
feat(compare): compare, distribution shift, correlation, scatter and crosstabs
...
Extension 1.2.0: compare two filters field by field with deltas and
significance (two-proportion z, Welch's t, chi-square with validity
rules and plain sentences), distribution shift over time with PSI, a
pushed-down Pearson correlation matrix with sampled scatter and trend,
and crosstabs with chi-square and Cramer's V. Pure-Java statistics
checked against scipy reference values; the privacy guard, field access
and drills apply as for profiles.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 19:37:03 -05:00
james.maes and Claude Opus 5.5
d591d3d7e8
feat(pivot): pivot / group-by explorer and the field-access resolver seam
...
POST /tables/{table}/pivot (extension 1.1.0): up to 3 row and 2 column
dimensions with date buckets or nice numeric bins, fields from to-one
exposed joins, count/sum/avg/min/max/distinct/percentile measures,
totals, Other-merging by top-N, the privacy guard and a drill per cell.
FieldAnalysisAccessResolver maps fields to FULL / EXACT_MATCH_ONLY /
NONE (core secured-data tiers when present, FieldSecurityLock otherwise);
only FULL fields are analyzable, drills never name others, and exact-run
cache keys include the user's field-access fingerprint.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 18:56:37 -05:00
james.maes and Claude Opus 5.5
d8b52113ca
feat(results): human labels, formatted values, nice bins, date labels, current home
...
Every metric carries a plain-English label and a display-formatted value
(grouping, percent, the field's display format), histogram bins use nice
edges with formatted labels, date buckets are labelled by unit, warnings
appear only when true, and the Analyses home shows saved analyses,
watches and recent runs with honest empty states (and no mojibake).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 18:26:45 -05:00
james.maes and Claude Opus 5.5
c90d6c9866
chore: drop the agent handoff note
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 17:44:00 -05:00
james.maes and Claude Opus 5.5
a91f6c5e03
feat(api): /qqq/v1 data-analysis extension, core pushdown backend, analyze permission
...
UI API extension data-analysis 1.0.0 (capabilities, column-profile,
distinct-values, table-profile, duplicates, runs) with typed
DataAnalysis*V1 schemas and the committed OpenAPI fragment. The analyze
permission is registered through core TableFeaturePermissionsMetaData.
CoreAnalysisBackend pushes percentiles, stddev, null/blank counts, numeric
and date buckets down through the RC.6 aggregate extensions; estimates
sample natively and scale counts, and the stand-in uses one primary-key
bound instead of an IN list. Builds against QQQ 4.1.0-RC.6.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 17:43:50 -05:00
james.maes
1b9f502e23
Merge pull request #2 from QRun-IO/feature/profiles
...
feat(engine): column and table profiles, drill-through, privacy guard and exact runs
2026-10-13 17:12:32 -05:00
james.maes and Claude Opus 5.5
261d0213ad
feat(engine): column and table profiles, drill-through, privacy guard and exact runs
...
The phase (b) analysis engine: typed results (metrics with drill
filters, charts as data), column and table profiles, distinct values and
duplicates, AnalysisSecurity (analyze permission, table READ, personalized
table and field security, analyzable/excluded fields), the effective
per-table config, the minimum group size guard, data versions, async exact
runs cached in data_analysis_run, and DataAnalysisService as the facade.
The AnalysisBackend port has an RC.5 stand-in that pushes down what core
supports today and streams the rest with row limits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 16:26:15 -05:00
james.maes
4cb5ad910e
Merge pull request #1 from QRun-IO/feature/repo-standard
...
chore: QRun qbit repo standard, producer, tables, permissions and app home
2026-10-13 15:39:30 -05:00
james.maes and Claude Opus 5.5
1076daacde
chore: bring the repo to the QRun qbit standard, add producer, tables and home
...
Repository standard (LICENSE, NOTICE, community pointers, CHANGELOG,
CLAUDE/AGENTS, dependabot, CircleCI with the configure-package-install
pre-step, the release-rc caller workflow, Maven wrapper, checkstyle,
JaCoCo gates, QQQ 4.1.0-RC.5). DataAnalysisQBitProducer and config, the
six data_analysis_ tables with standard permission rules and user record
locks, the analyze permission stand-in, the Analyses app home with real
counts, and the Postgres schema script.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 15:32:48 -05:00
james.maes
2f5e16f104
Initial commit
2026-10-13 15:07:02 -05:00