Architecture decision records
Each record states one decision, the alternatives that were considered and the evidence that accepted it. All records listed here are accepted and in force; a later record that amends an earlier one says so. Records 0001–0010 predate the public repository and are not published; their invariants are summarized in the architecture overview.
Foundation and EF Core integration
| Record |
Decision |
| ADR-0011 |
Version baseline and execution gates: exact .NET, EF Core and Neo4j.Driver pins, and what must pass before a feature counts |
| ADR-0012 |
EF query adapter and the initial compatibility boundary |
| ADR-0013 |
Async node persistence, optimistic concurrency and transaction ownership |
| ADR-0025 |
EF finder value equality |
| ADR-0029 |
Prepare immutable read slots before enumeration |
| ADR-0035 |
Retain prepared Cypher in EF compiled delegates |
| ADR-0037 |
Retain asynchronous-only persistence |
Graph storage
| Record |
Decision |
| ADR-0014 |
EF join-entry observation supports native relationships |
| ADR-0015 |
Explicit directed association metadata |
| ADR-0016 |
Identified relationships and native Cypher results |
| ADR-0021 |
Native storage for ordinary node foreign keys (references) |
| ADR-0032 |
Optional native references remain dependent-owned graph membership |
| ADR-0054 |
Embeddings as EF properties, opted in with their dimensions |
| ADR-0055 |
Additional node labels per entity type, written and matched |
| ADR-0056 |
Identified relationship types shared by owners with different endpoints |
Schema and migrations
| Record |
Decision |
| ADR-0017 |
Storage witnesses and explicit schema comparison |
| ADR-0018 |
Migration journal and recovery boundaries |
| ADR-0036 |
A bounded design-time command subset |
| ADR-0053 |
Vector and full-text index steps in migrations |
Querying
| Record |
Decision |
| ADR-0023 |
Explicit server EXPLAIN without query execution |
| ADR-0024 |
Bounded scalar Contains with explicit equality semantics |
| ADR-0027 |
Nullable scalar contracts and literal Guid construction |
| ADR-0030 |
Construct DTO projections through the existing EF shaper |
| ADR-0031 |
Validate integer extrema inputs within the aggregate statement |
| ADR-0033 |
Explicit typed native search with observed index provenance |
| ADR-0034 |
Bounded native paths with typed projections and explicit direction |
| ADR-0038 |
Bounded untracked bulk mutation batches |
| ADR-0051 |
Typed batch upserts of nodes, keyed by a constrained EF key, and of relationships between existing nodes (extends 0038) |
| ADR-0045 |
Native DateTimeOffset payloads with explicit query semantics |
Fluent Cypher
| Record |
Decision |
| ADR-0041 |
Explicit native Cypher clauses beside EF LINQ |
| ADR-0047 |
C# predicate lambdas under an agree-or-reject rule (amends 0041) |
| ADR-0048 |
Aggregates and bounded collect (extends 0041) |
| ADR-0049 |
Node and relationship entities returned untracked (amends 0041, extends 0048) |
Transactions and observability
| Record |
Decision |
| ADR-0026 |
Uncertain commit verification and replay contract |
| ADR-0028 |
Correlated runtime tracing with value-free events |
| ADR-0050 |
Query tags as Cypher comments, command timeouts and write counters |
| ADR-0057 |
Search inside Fluent Cypher: a vector or full-text search as the first clause |
| Record |
Decision |
| ADR-0019 |
Optional ontology compilation into the EF model |
| ADR-0020 |
Database-first observations and reviewed tracking proposals |
| ADR-0022 |
Optional attributed mapping generation with finalized-model verification |
| ADR-0039 |
Explicit mapping diagnostics and schema responsibility |
| ADR-0040 |
Offline database-first review between explicit versions |
| Record |
Decision |
| ADR-0042 |
Application-hosted evidence tools (Doctor and Verify) |
| ADR-0043 |
Typed compiler snapshots for the static Query Lab report |
| ADR-0044 |
A read-only compatibility probe for Neo4j 5.26 |
| ADR-0046 |
Integrated VS Code Query Lab with application-owned capture |
| Record |
Decision |
| ADR-0052 |
The GraphBridge.GraphRag toolkit: packages, lexical model, API of the first waves |
Investigations behind some records: EF service map (internal EF APIs the provider depends on) and the join-entry experiment behind ADR-0014.