You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement native AGE support for ShortestPath and AllShortestPaths only after Apache AGE 1.8.0 is officially released and the released capability can meet the CVOYA semantics below.
This is a v1.x feature. It is explicitly postponed from the v1.0 release by @savasp; it no longer blocks #481, #393, #417, or v1.0 closeout.
v1.0 disposition — required current contract
Apache AGE 1.7 is the current official release. As of 2026-07-22, Apache AGE's official download page lists 1.7.0 as the latest stable release; master code, release candidates, or an unreleased upgrade script are not a supported basis for CVOYA Graph.
Until a released, supportable AGE 1.8.0 is available:
AGE must not declare GraphCapability.ShortestPath.
The packaged TCK ShortestPaths_PinSelectionEndpointDirectionNoPathAndSameNodeSemantics test remains capability-gated and is reported as an expected AGE skip.
AGE translation must reject reachable shortest-path queries with GraphQueryTranslationException naming GraphCapability.ShortestPath; it must not use a finite-depth, client-side, or PostgreSQL fallback.
v1.0 certification must report this intentional unsupported capability separately from unplanned skips, alongside the intentional lack of bare-entity ordering.
The release-candidate report must not claim that AGE implements shortest path merely because Neo4j and InMemory do.
Future start gate
Do not start implementation until all of these are true:
Apache publishes an official, non-RC 1.8.0 release artifact and release notes.
A reproducible supported AGE/PostgreSQL container or installation path is available for the repository test matrix.
The released public API—not an internal master-only function—can provide the required unbounded shortest-path semantics.
The implementer has re-read the released documentation and confirms this brief still fits it. If its semantics, licensing, or operational model do not fit, stop and push back with evidence rather than approximating the feature.
Required implementation after the gate
Verify the released AGE 1.8.0 API, installation/upgrade path, licensing, and supported runtime matrix.
Lower ShortestPath and AllShortestPaths to the released native capability—not client-side enumeration, a finite maximum depth, or a provider-local PostgreSQL graph algorithm.
Preserve independent selection for every source/endpoint pair and apply endpoint predicates before shortest-path selection.
Support outgoing, incoming, and both directions; exclude the source as an endpoint; preserve no-path and same-node behavior.
Return one minimum path for ShortestPath and every tied minimum path for AllShortestPaths.
Hydrate path segments/entities through the existing AGE result pipeline.
Declare GraphCapability.ShortestPath only after the complete inherited TCK contract passes on the pinned released version.
Update the support matrix, release container/image, dialect tests, provider guide, querying docs, and compliance documentation together.
Test plan
Cover cycles, ties, multiple sources/endpoints, all directions, endpoint filtering, no path, source exclusion, same-node behavior, one-path/all-tied-path semantics, parameter stability, and path/entity hydration. Run the complete strict AGE provider suite against the released pinned version and record the new capability in the compliance report.
Non-goals
A v1.0 fallback, partial emulation, or release-skip workaround.
Using an unreleased AGE build in the supported matrix.
Legacy identity/storage support or alpha database compatibility.
Acceptance criteria
Until the start gate is met, AGE remains explicitly unsupported in its capability declaration, the capability-gated TCK result, translation failure, provider guide, querying docs, and AGE compliance matrix.
The AGE support matrix pins a released 1.8.0 runtime that exposes the native capability.
The full inherited ShortestPath TCK contract passes without a hard-coded maximum depth.
Provider integration tests cover cycles, ties, multiple sources/endpoints, direction, endpoint filtering, no path, and source exclusion.
One-path and all-tied-path results hydrate correctly.
The capability declaration, dialect tests, provider map, public docs, and compliance report agree.
No client-side traversal fallback, legacy identity/storage path, or alpha compatibility code is introduced.
Outcome
Implement native AGE support for ShortestPath and AllShortestPaths only after Apache AGE 1.8.0 is officially released and the released capability can meet the CVOYA semantics below.
This is a v1.x feature. It is explicitly postponed from the v1.0 release by @savasp; it no longer blocks #481, #393, #417, or v1.0 closeout.
v1.0 disposition — required current contract
Apache AGE 1.7 is the current official release. As of 2026-07-22, Apache AGE's official download page lists 1.7.0 as the latest stable release; master code, release candidates, or an unreleased upgrade script are not a supported basis for CVOYA Graph.
Until a released, supportable AGE 1.8.0 is available:
The release-candidate report must not claim that AGE implements shortest path merely because Neo4j and InMemory do.
Future start gate
Do not start implementation until all of these are true:
Required implementation after the gate
Test plan
Cover cycles, ties, multiple sources/endpoints, all directions, endpoint filtering, no path, source exclusion, same-node behavior, one-path/all-tied-path semantics, parameter stability, and path/entity hydration. Run the complete strict AGE provider suite against the released pinned version and record the new capability in the compliance report.
Non-goals
Acceptance criteria