From 2942213e9f6436c855c27ff3d8cb59d685a03363 Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 06:34:51 -0600 Subject: [PATCH 1/3] build: flatten the reactor root POM so the publisher can accept it The reactor root (qbit-scripting-reactor, pom packaging, version ${revision}) is itself a module the qrun publisher captures and enrolls; without the flatten plugin its consumer POM keeps the unresolved ${revision} and the publisher rejects it. No source or dependency change. Co-Authored-By: Claude Sonnet 5.5 --- pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pom.xml b/pom.xml index 8474695..7060a19 100644 --- a/pom.xml +++ b/pom.xml @@ -18,4 +18,15 @@ middleware github + + + + org.codehaus.mojoflatten-maven-plugin1.7.3 + trueossrh + + flattenprocess-resourcesflatten + flatten.cleancleanclean + + + -- 2.54.0 From 034d77b5ac303d74c9b98c8abcfc9aef59fafd71 Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 10:41:02 -0600 Subject: [PATCH 2/3] build: make the reactor root the single version source of every module The release pipeline rewrites only in the ROOT pom.xml (the pinned legacy calculate_version.sh) and nothing passes -Drevision (java-verify runs plain `mvn verify` with MAVEN_ARGS only from caller inputs), but every module declared its own 0.1.0-SNAPSHOT and did not inherit the root. After an RC rewrite the root would say the RC while the modules still built as the SNAPSHOT, so capture (target/-.jar) would find no JAR and the publisher (one version per reactor) would reject the reactor. Standard Maven CI-friendly inheritance: the root takes the modules' own former parent (qbit-build-parent 2.0.0, identical for all four modules), every module's parent becomes the root (version ${revision}, relativePath ../pom.xml) and the per-module properties are removed. Each module's inherited build configuration is unchanged (child -> root -> the same qbit-build-parent); modules still build on their own through the relative parent. Metadata audit: the root declares Apache-2.0 and base declares it too (unchanged); rdbms, middleware and github declared no license and inherited qbit-build-parent's AGPL-3.0, so they now state that same license explicitly to keep their published metadata exactly as before (the repository LICENSE is Apache: whether those three should be Apache is an owner decision, not changed here). All GAVs, module boundaries, flatten plugin, dependencies, tests and sources are unchanged. Co-Authored-By: Claude Sonnet 5.5 --- base/pom.xml | 3 +-- github/pom.xml | 5 +++-- middleware/pom.xml | 5 +++-- pom.xml | 6 +++++- rdbms/pom.xml | 5 +++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/base/pom.xml b/base/pom.xml index ad85a70..02a85ed 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - com.kingsrookqbit-build-parent2.0.0 + com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbits qbit-scripting ${revision} @@ -10,7 +10,6 @@ QQQ QBit: shared compiled-TypeScript script projects, immutable builds, capability broker and record hooks. Execution requires an external isolated worker. Apache License, Version 2.0https://www.apache.org/licenses/LICENSE-2.0 - 0.1.0-SNAPSHOT 21 UTF-8 4.1.0-RC.214.1.0-RC.21 diff --git a/github/pom.xml b/github/pom.xml index 1d90a70..94486b5 100644 --- a/github/pom.xml +++ b/github/pom.xml @@ -1,9 +1,10 @@ 4.0.0 - com.kingsrookqbit-build-parent2.0.0 + com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-github${revision} - 0.1.0-SNAPSHOT21none4.1.0-RC.214.1.0-RC.21 + GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo + 21none4.1.0-RC.214.1.0-RC.21 com.kingsrook.qqqqqq-backend-core${qqq.core.version} com.kingsrook.qqqqqq-backend-module-rdbms${qqq.core.version} diff --git a/middleware/pom.xml b/middleware/pom.xml index 018b9c2..9fad01f 100644 --- a/middleware/pom.xml +++ b/middleware/pom.xml @@ -1,9 +1,10 @@ 4.0.0 - com.kingsrookqbit-build-parent2.0.0 + com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-middleware${revision} - 0.1.0-SNAPSHOT21none4.1.0-RC.214.1.0-RC.21 + GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo + 21none4.1.0-RC.214.1.0-RC.21 com.kingsrook.qqqqqq-backend-core${qqq.core.version} com.kingsrook.qqqqqq-backend-module-rdbms${qqq.core.version} diff --git a/pom.xml b/pom.xml index 7060a19..fe1b625 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,11 @@ 4.0.0 - + + com.kingsrookqbit-build-parent2.0.0 com.kingsrook.qbits qbit-scripting-reactor ${revision} diff --git a/rdbms/pom.xml b/rdbms/pom.xml index a897f9b..3f7ca9b 100644 --- a/rdbms/pom.xml +++ b/rdbms/pom.xml @@ -1,9 +1,10 @@ 4.0.0 - com.kingsrookqbit-build-parent2.0.0 + com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-rdbms${revision} - 0.1.0-SNAPSHOT21none4.1.0-RC.214.1.0-RC.214.1.0-RC.21 + GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo + 21none4.1.0-RC.214.1.0-RC.214.1.0-RC.21 com.kingsrook.qqqqqq-backend-core${qqq.core.version} -- 2.54.0 From 0df2fc81e40a03a20af050a1f23da325460a78da Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 17:24:12 -0600 Subject: [PATCH 3/3] release: prepare Scripting 1.0 (Core 4.1.0-RC.22, current status docs) Align every module to QQQ Core 4.1.0-RC.22 and replace the paused-checkpoint status text with the current 1.0 status and operating limits. Co-Authored-By: Claude Sonnet 5.5 --- README.md | 4 ++-- base/pom.xml | 4 ++-- docs/KNOWN-ISSUES.md | 12 ++++-------- docs/RELEASE-STATUS.md | 24 +++++++----------------- github/pom.xml | 2 +- middleware/pom.xml | 2 +- rdbms/pom.xml | 2 +- 7 files changed, 18 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 79a82df..94d78a7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # QBit Scripting -> **Paused, unreleased work in progress — 2026-11-04.** Implementation has stopped. This is a source checkpoint, not a production-ready release or a complete installable package set. +> **Version 1.0.** Published to the KOF22 Gitea Maven registry (`com.kingsrook.qbits`). It needs a qualified external worker deployment to compile or run scripts; with none configured every build and execution fails closed (see below). Start with [current status and build prerequisites](docs/RELEASE-STATUS.md) and [known issues](docs/KNOWN-ISSUES.md). These documents supersede older release-readiness statements below. @@ -94,4 +94,4 @@ Wrapper install runs all verify gates: real QQQ memory/JDBC actions and protocol ## Maven publication -Published POMs are self-contained: the estate's `flatten-maven-plugin` (`ossrh` mode) resolves `${revision}` and the `qqq.*` version properties at build time, so a consumer needs no `-Drevision`/`-D` override and sees the exact pinned core. Set `qqq.core.version`, `qqq.version` (and for Record Files `qqq.snapshot.version`) once in the release build. The inherited `qbit-build-parent` POM still warns until its owner publishes a literal version. This is a private functional release candidate, not GA and not published. +Published POMs are self-contained: the estate's `flatten-maven-plugin` (`ossrh` mode) resolves `${revision}` and the `qqq.*` version properties at build time, so a consumer needs no `-Drevision`/`-D` override and sees the exact pinned core. Set `qqq.core.version`, `qqq.version` (and for Record Files `qqq.snapshot.version`) once in the release build. The inherited `qbit-build-parent` POM still warns until its owner publishes a literal version. diff --git a/base/pom.xml b/base/pom.xml index 02a85ed..72602a1 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -1,7 +1,7 @@ 4.0.0 - + com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbits qbit-scripting @@ -12,7 +12,7 @@ 21 UTF-8 - 4.1.0-RC.214.1.0-RC.21 + 4.1.0-RC.224.1.0-RC.22 none diff --git a/docs/KNOWN-ISSUES.md b/docs/KNOWN-ISSUES.md index 2734242..45d6670 100644 --- a/docs/KNOWN-ISSUES.md +++ b/docs/KNOWN-ISSUES.md @@ -1,9 +1,5 @@ -# Known issues and unfinished work +# Known issues -Updated: 2026-11-04. These are unresolved items, not a plan currently being executed. - -- Public Core 4.1.0-RC.21 lacks isolation, pre-update hook, transactional change, durable intent and source-guard APIs required by this source. -- The Core integration and this repository's new aggregate Maven layout were interrupted during validation. Treat both as unfinished; the private qualification artifacts are not public dependency versions. -- The full `base`, RDBMS, middleware and Git integration build, attached test fixtures, clean-consumer resolution and cross-QBit context-script execution still need verification on the final dependency cohort. -- Runtime images, fully untrusted-script containment, resource limits, recovery, Kubernetes deployment and record-save latency need qualification on the actual configured runtime. Existing qualification flags and fail-closed behavior must not be bypassed. -- Source/Git authoring and UI changes also require the matching canonical Next UI release. The earlier private demo is not proof that the current public artifacts provide the full IDE and lifecycle behavior. +- Runtime images, untrusted-script containment, resource limits, recovery, Kubernetes deployment and record-save latency must be qualified on the configured runtime. Existing qualification flags and fail-closed behavior must not be bypassed. +- Source/Git authoring and UI changes require the matching Next UI release. +- Cross-QBit context-script execution depends on the Collaboration and Record Files releases. diff --git a/docs/RELEASE-STATUS.md b/docs/RELEASE-STATUS.md index ada4ec3..d701d50 100644 --- a/docs/RELEASE-STATUS.md +++ b/docs/RELEASE-STATUS.md @@ -1,27 +1,17 @@ -# Scripting — current status +# Scripting — status -Updated: 2026-11-04. **Work stopped at the user's request. Unreleased work in progress; not a production 1.0 release.** +**Version 1.0**, built and published by the shared `ci-workflows` Maven pipeline to the KOF22 Gitea Maven registry (`com.kingsrook.qbits`). The Java reactor (`base`, `rdbms`, `middleware`, `github`) is verified by `mvn deploy` in that pipeline, which runs the tests once. ## Purpose Shared TypeScript authoring and compilation, immutable published scripts, scoped API capabilities, record lifecycle hooks and isolated execution integration. -## Repository layout +## Layout and build -`base/`, `rdbms/`, `middleware/` and `github/` are the Java reactor modules. `worker/`, `wasm-runtime/`, `supervisor/` and `deploy/` contain separate runtime components and deployment material. A Java package build does not build or qualify every runtime image. +`base/`, `rdbms/`, `middleware/` and `github/` are the Java reactor modules. `worker/`, `wasm-runtime/`, `supervisor/` and `deploy/` are separate runtime components with their own build instructions; a Java package build does not build or qualify runtime images. Use Java 21 and `./mvnw verify`. Depends on QQQ Core `4.1.0-RC.22`. -## Building and installation +## Operating limits -Use Java 21 and the included Maven wrapper. Once compatible Core artifacts are available, use `./mvnw verify` for the Java reactor or `./mvnw -pl base -am verify` for the base subset. Runtime components have separate build instructions. Current source is a checkpoint, not a supported production installation. +Running or compiling script code needs a hardened external worker deployment that you must qualify on your own runtime; with none configured every build and execution fails closed. Do not bypass the existing qualification flags. See [known issues](KNOWN-ISSUES.md). -## Evidence retained - -The initial packaging checks passed style validation; deployment configuration tests passed 13 cases. Public Core 4.1.0-RC.21 could not compile the required APIs. A separate Core integration candidate compiled selected modules under a private qualification version and passed 15 transaction-callback tests. The complete Scripting reactor and runtime were not verified before work stopped. - -## Source and release state - -The starting source was extracted from Website-Backend commit b6fb23825a87412397dec703b9617148ae7eb601, then adapted for standalone packaging. This repository preserves the resulting source and existing licenses. It does not declare a published artifact cohort, completed deployment or complete acceptance. - -See [known issues](KNOWN-ISSUES.md) and the README for the existing API and integration documentation. No further implementation, tests, releases or deployment should be started without explicit user instruction. The outstanding dependency order is Core, Collaboration, Scripting/Record Files, then the integrated Generation bridges and matching UI. - -The prepared release caller is saved as an inactive reference in docs/release/qrun-release.reference.yaml. No new workflow is being activated by this checkpoint; shared CI/CD design and enrollment remain unfinished. +The outstanding dependency order is Core, Collaboration, Scripting/Record Files, then the Generation bridges and matching UI. diff --git a/github/pom.xml b/github/pom.xml index 94486b5..0ca62dc 100644 --- a/github/pom.xml +++ b/github/pom.xml @@ -4,7 +4,7 @@ com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-github${revision} GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo - 21none4.1.0-RC.214.1.0-RC.21 + 21none4.1.0-RC.224.1.0-RC.22 com.kingsrook.qqqqqq-backend-core${qqq.core.version} com.kingsrook.qqqqqq-backend-module-rdbms${qqq.core.version} diff --git a/middleware/pom.xml b/middleware/pom.xml index 9fad01f..ff4ec43 100644 --- a/middleware/pom.xml +++ b/middleware/pom.xml @@ -4,7 +4,7 @@ com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-middleware${revision} GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo - 21none4.1.0-RC.214.1.0-RC.21 + 21none4.1.0-RC.224.1.0-RC.22 com.kingsrook.qqqqqq-backend-core${qqq.core.version} com.kingsrook.qqqqqq-backend-module-rdbms${qqq.core.version} diff --git a/rdbms/pom.xml b/rdbms/pom.xml index 3f7ca9b..707d98d 100644 --- a/rdbms/pom.xml +++ b/rdbms/pom.xml @@ -4,7 +4,7 @@ com.kingsrook.qbitsqbit-scripting-reactor${revision}../pom.xml com.kingsrook.qbitsqbit-scripting-rdbms${revision} GNU Affero General Public License v3.0https://www.gnu.org/licenses/agpl-3.0-standalone.htmlrepo - 21none4.1.0-RC.214.1.0-RC.214.1.0-RC.21 + 21none4.1.0-RC.224.1.0-RC.224.1.0-RC.22 com.kingsrook.qqqqqq-backend-core${qqq.core.version} -- 2.54.0