ADR 0044 — Customer-relevant 5.26 read-only probe¶
Status: accepted narrow read-only experiment; live 5.26.18 evidence passed.
Retention update: original 5.26.18 receipt and Verify JSON are byte-pinned with SHA-256 under strategy/media/compatibility/5.26.18-e77a3a46499a423ab05d3fc6ce9db747. The generic profile-probe output path is reused by baseline suite runs and must not be treated as the immutable 5.26 record. Candidate 2c4c3f5's independent 2026.09.0 probe is pinned under its candidate directory instead. Original test-binary outputs supplied the unchanged 5.26 bytes; no evidence was reconstructed.
Acceptance update: the focused live 5.26.18 probe passed on 12 October 2026, based on public source 0d8b49d plus the reviewed search diagnostic change. Actual kernel version/edition match the selected image; a separate Cypher advertisement row is absent, while EXPLAIN reports dialect 5. Doctor metadata, three Verify plans, the bounded LINQ projection, Fluent/native coactor comparison, authentication rejection and graph/schema preservation pass. Typed vector/full-text entrypoints reject without fallback. All fixture data/schema and owned container/network/credentials were removed.
The first attempt stopped in the private fixture's assumption that Cypher advertisement always exists. The fixture now permits zero rows and still rejects ambiguity. Search preflight distinguishes absent advertisement (NotSupportedException) from duplicate/malformed observations (InvalidOperationException). Three missing-advertisement cases failed before this two-condition correction; all 18 focused search units then passed, including the duplicate-observation guard. No supported-search version gate was relaxed. Receipt/logs are in .artifacts/next-roadmap/profile-probe; the initial output landed under the test binary's working directory and was copied intact, then future output-root discovery was corrected. This is not final immutable-candidate qualification.
AgentMemory's adoption feedback names Neo4j 5.26 as its fixture baseline. NQW-10 selects the already cached Community 5.26.18 image, immutable digest sha256:ef6f1cb1a5594cbfddb82876a9dc67171941eabca3a38100f2bef0b3fc6c05e9. Image environment identifies the 5.26.18 distribution; the actual server must independently report that exact version before acceptance. This is a selected compatibility profile, not a latest-version recommendation or release-range claim.
Reuse the existing bounded disposable Compose definition, ownership marker, localhost ports, random credentials and resource guards. A private override selects only the image; the public baseline remains 2026.09.0. Stop the owned fixture on every exit. Setup creates a tiny synthetic graph and reviewed key constraints; those writes are clearly outside the read-only observation phase.
The probe must establish metadata/schema visibility, actual EXPLAIN plans, one bounded EF LINQ projection and one directed Fluent coactor read against independent native results. Record server/edition/advertised dialect and observed plan dialect separately. Verify unchanged graph/schema across the observation phase. On 5.26 typed SEARCH must reject explicitly without falling back to a different query implementation. Record authentication failure with redacted output. Community's built-in account is administrative: successful read-only behavior does not prove restricted-user permissions or tenant isolation. No general write, clustering, search-result or complete EF acceptance is implied.
NEXT-RUNTIME remains a separate slice. Initial source/manual review found that Cypher datetime equality can distinguish equal instants at different offsets, unlike .NET DateTimeOffset. A temporal mapping cannot be accepted just by adapting transport types; its semantic matrix must cover instant equality/ranges/order, precision, offset-only changes, existing native values and explicit converters before production changes.
References: local graphbridge-adoption.md; Cypher comparison semantics; driver temporal types. These sources motivate the experiment; only executed evidence will qualify a profile.