feat: transition module packages to database ABI v1
CI / verify (pull_request) Successful in 1m1s
CI / infrastructure-smoke (pull_request) Successful in 36s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / image-build (pull_request) Successful in 31s
CI / deploy-smoke (same-origin) (pull_request) Successful in 52s
CI / deploy-smoke (split) (pull_request) Successful in 1m32s

This commit is contained in:
ekklesia
2026-10-07 18:00:04 -05:00
parent 20ad1ae208
commit 70854d234c
20 changed files with 274 additions and 115 deletions
+4 -4
View File
@@ -87,10 +87,10 @@ const ekklesiaPackageNameSchema = z
* (ADR 0049). Strict at every level: a reader that finds a fact it does not understand must refuse
* the package rather than ignore it.
*
* `databaseRuntime` records the Drizzle version bundled with the module's backend, because Core runs
* a module's queries through its own Drizzle instance over tables the module defined with its own
* copy. That is an implementation constraint pending a Module Database ABI decision, **not** a
* database contract a module may rely on.
* For a manifest-v8 module that omits `database`, `databaseRuntime` records the Drizzle version
* bundled with the module's backend because Core runs that legacy module's queries through its own
* Drizzle instance over the module's table objects. ABI-v1 packages must omit this fact: their ORM
* stays module-side and Core receives only the stable SQL ABI.
*/
const modulePackageTransitionalSchema = z.strictObject({
databaseRuntime: z