@@ -4,7 +4,8 @@ Private implementation of the Chat2DB Community hybrid runtime.
44
55## Current state
66
7- The repository has completed the first six buildable stages:
7+ The repository has completed Stages 1 through 6 and the first two independently
8+ buildable Stage 7 slices:
89
910- canonical Rust API contracts;
1011- a transport-neutral Rust application service root;
@@ -50,16 +51,24 @@ The repository has completed the first six buildable stages:
5051 plus a JSON CLI for datasource discovery, forced-read-only query lifecycle,
5152 cancellation, and retained-result paging; and
5253- an ` rmcp ` 2.2 stdio server with five bounded datasource/query tools backed by
53- that same running ` Application ` .
54+ that same running ` Application ` ;
55+ - strict local JDBC driver-pack discovery, hash verification, startup preload,
56+ and immutable Core/Axum/Tauri inventory; and
57+ - a fixed Community 5.3.0 compatibility classpath that discovers real
58+ ` IPlugin ` implementations and exposes H2 plugin catalog, schema metadata,
59+ ` CREATE SCHEMA ` builder, and retained ANTLR parser operations over Protobuf,
60+ with every one of its 148 JARs bound to the source commit by a checked-in
61+ filename, byte-length, and SHA-256 lock.
5462
5563Stage 6 is complete. Web and desktop own the product runtime and publish its
5664owner-only local endpoint; CLI and MCP attach to that host and never contact
5765Java directly. The current MCP surface is deliberately read-only and does not
5866accept JDBC bind parameters. A complete end-user Agent workspace and
59- CLI-started headless host remain follow-on product work. The first Stage 7
60- slice adds strict local driver-pack manifests, bounded hash verification,
61- startup preload, and Core/Axum/Tauri inventory. Signing, downloading, updating,
62- rollback, and the existing Chat2DB plugin/ANTLR estate remain Stage 7 work.
67+ CLI-started headless host remain follow-on product work. Stage 7A implements
68+ strict local driver packs. Stage 7B pins Community source, loads its runtime in
69+ an isolated Java classloader, and proves one real H2 SPI/ANTLR vertical slice.
70+ Signing, downloading, updating, rollback, product wiring for Community
71+ metadata, and full per-dialect compatibility remain Stage 7 work.
6372
6473## Architecture
6574
@@ -100,9 +109,25 @@ Java verification downloads H2 `2.3.232` into
100109` java/compat-runtime/target/test-drivers/ ` as an external Stage 3 test fixture.
101110H2 is not a runtime dependency of the compatibility engine, and the packaged
102111JAR integration test rejects any build that embeds ` org/h2/Driver.class ` .
103- The H2 gates cover both the Stage 3 bridge and the Stage 5 product path from a
104- vault-backed datasource through Java streaming into retained-result paging and
105- cancellation. H2 is a test fixture rather than a bundled product driver.
112+ The H2 gates cover the Stage 3 JDBC bridge, the Stage 5 product path from a
113+ vault-backed datasource through retained-result paging and cancellation, and
114+ the Stage 7B Community path through real ` IPlugin ` , ` IDbMetaData ` ,
115+ ` ISqlBuilder ` , and ANTLR parser implementations. H2 remains an external test
116+ driver rather than a runtime dependency of either Java classpath.
117+
118+ Build and run only the fixed Community H2 compatibility gate with:
119+
120+ ``` bash
121+ make community-h2-integration
122+ ```
123+
124+ That target requires a clean submodule at the fixed commit, builds through the
125+ checked-in Maven Wrapper and a repository-local Maven cache, derives archive
126+ timestamps from the commit, excludes the H2 JDBC driver, and deterministically
127+ removes dependency-manifest ` Class-Path ` entries before rejecting any JAR set
128+ that differs from ` third_party/community-h2-classpath.lock ` . Run
129+ ` make community-h2-reproducibility ` to compare every artifact byte across two
130+ consecutive clean builds.
106131
107132Generate or verify the external contracts:
108133
0 commit comments