Skip to content

Add LightRAG projection contracts - #27

Merged
kl3inIT merged 2 commits into
light-ragfrom
kl3inIT/light-rag-pr02-core-contracts-clean
Jul 23, 2026
Merged

kl3inIT merged 2 commits into
light-ragfrom
kl3inIT/light-rag-pr02-core-contracts-clean

Conversation

@kl3inIT

@kl3inIT kl3inIT commented Jul 23, 2026 •

Copy link
Copy Markdown
Owner

What changed

  • introduce pure-Java content, lexical, vector, publication, cache, telemetry, authorization, evidence, and primitive-vector contracts
  • add manifest-bound atomic publication semantics plus reusable in-memory conformance fixtures
  • migrate existing graph ports to the canonical evidence scope/reference without claiming graph snapshot parity early
  • record the functional-core/Spring-shell boundary and Fable-reviewed architecture decisions

Why

PR 2 establishes portable, permission-aware storage and publication contracts before parser, indexing, and retrieval work. Manifest fingerprints make crash retry and idempotency truthful while namespace generations prevent torn mixed-projection reads.

Validation

  • ./gradlew --no-daemon :components:graph-rag-testkit:test :integrations:graph-rag-postgres:test :apps:worker:test
  • ./gradlew --no-daemon :components:graph-rag-core:dependencies --configuration runtimeClasspath (no dependencies)
  • ./gradlew --no-daemon clean test
  • git diff --check and source mechanical checks

JetBrains inspection was unavailable in this agent environment, so the documented compile/test/mechanical fallback was used.

Summary by CodeRabbit

  • New Features

    • Added authorization-aware evidence access for graph, content, lexical, and vector retrieval.
    • Added projection publishing and snapshot management with staged updates, generation tracking, and idempotent operations.
    • Added permission-scoped caching for retrieval results and model-generated artifacts.
    • Added content, lexical, and vector storage capabilities, including similarity search.
    • Added structured lifecycle telemetry and safer immutable vector handling.
  • Bug Fixes

    • Improved visibility filtering and validation for evidence, projections, and vector searches.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kl3inIT, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 39 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 20637df9-ced7-422a-9027-29f689fa06f4

📥 Commits

Reviewing files that changed from the base of the PR and between 7ff4714 and 51c0ddc.

⛔ Files ignored due to path filters (3)
  • docs/decisions/0013-full-lightrag-semantic-port.md is excluded by !docs/**
  • docs/increments/active/2026-07-23-full-lightrag-semantic-port/design.md is excluded by !docs/**
  • docs/increments/active/2026-07-23-full-lightrag-semantic-port/plan.md is excluded by !docs/**
📒 Files selected for processing (6)
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java
📝 Walkthrough

Walkthrough

This change introduces evidence-scoped authorization, immutable float vectors, evidence-reference provenance, projection publication and storage contracts, exact caches, telemetry events, in-memory implementations, and PostgreSQL/test migrations for the updated APIs.

Changes

GraphRAG contracts

Layer / File(s) Summary
Evidence and vector models
components/graph-rag-core/src/main/java/com/orgmemory/graphrag/{authorization,model}/*, apps/worker/.../GraphIndexingProcessor.java
Adds AuthorizedEvidenceScope, EvidenceReference, and FloatVector; embeds evidence references in provenance and updates contribution embeddings to use structured vectors.
Cache and telemetry contracts
components/graph-rag-core/src/main/java/com/orgmemory/graphrag/{cache,observability}/*
Defines validated model/retrieval cache contracts and GraphRAG lifecycle event types.
Projection publication and index contracts
components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/*
Adds projection namespaces, batches, snapshots, publication APIs, staging APIs, and content, lexical, and vector index contracts.

GraphRAG integration migration

Layer / File(s) Summary
Port and provenance migration
components/graph-rag-core/src/main/java/com/orgmemory/graphrag/{port,indexing}/*
Replaces graph scopes with evidence scopes across graph ports and updates provenance assembly.
In-memory projection implementations
components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/*
Implements in-memory content, publication, cache, and evidence-filtered graph behaviors.
PostgreSQL graph integration
integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/*
Migrates PostgreSQL graph operations to evidence scopes and FloatVector-based vector SQL handling.

Contract and integration validation

Layer / File(s) Summary
Testkit contract validation
components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/*
Adds publication, content authorization, cache, fingerprint, vector immutability, and graph security coverage.
PostgreSQL integration validation
integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/*
Updates integration fixtures and vector, scope, and provenance assertions for the new contracts.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

  • kl3inIT/OrgMemory#22: Both changes update PostgreSQL GraphRAG projection authorization and vector-search representations.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the PR’s main change: adding LightRAG projection contracts.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kl3inIT/light-rag-pr02-core-contracts-clean

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java`:
- Around line 28-31: Update the generation validation in ProjectionBatch to
reject expectedPreviousGeneration == Long.MAX_VALUE before calculating
expectedPreviousGeneration + 1, preventing overflow from accepting
Long.MIN_VALUE as a valid successor. Preserve the existing immediate-successor
validation for all other values.

In
`@components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java`:
- Around line 35-38: Update the ProjectionPublicationStore.publish contract and
its publication coordinator so preparedProjections is not treated as proof of
readiness; durably record staging completion and have the publication
transaction verify every required ProjectionKind before advancing the shared
head, rejecting incomplete generations such as a missing VECTOR projection.

In
`@components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java`:
- Around line 84-120: Update recordsAt and readableState to resolve content only
through recorded published snapshot batch IDs, never by selecting arbitrary
staged batches matching namespace and generation. Preserve staged batches
separately, reject snapshots whose batch ID is not published, and use the
published predecessor’s records when creating a later batch. Add a conformance
test covering two same-generation batches where the first aborts and the second
publishes successfully.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 14c4872e-c8c3-42a7-9328-0ddb172913c4

📥 Commits

Reviewing files that changed from the base of the PR and between b6346d3 and 7ff4714.

⛔ Files ignored due to path filters (6)
  • docs/conventions.md is excluded by !docs/**
  • docs/decisions/0013-full-lightrag-semantic-port.md is excluded by !docs/**
  • docs/increments/active/2026-07-23-full-lightrag-semantic-port/design.md is excluded by !docs/**
  • docs/increments/active/2026-07-23-full-lightrag-semantic-port/plan.md is excluded by !docs/**
  • docs/research/lightrag-v1.5.4-parity-manifest.md is excluded by !docs/**
  • docs/specs/domains/secure-graph-rag.md is excluded by !docs/**
📒 Files selected for processing (36)
  • apps/worker/src/main/java/com/orgmemory/worker/graph/GraphIndexingProcessor.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedEvidenceScope.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedGraphScope.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/ModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/RetrievalResultCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/indexing/GraphContributionAssembler.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/ContributionEmbedding.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceProvenance.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceReference.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/FloatVector.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/observability/GraphRagEventSink.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphEmbeddingIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphProjectionReader.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphRevisionEmbeddings.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphSeedIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphTopologyCandidateIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ContentStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/LexicalIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionKind.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionNamespace.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionSnapshot.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/StagedProjectionWriter.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/VectorIndex.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjection.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryModelInvocationCache.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryRetrievalResultCache.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjectionSecurityTests.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java
  • integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStore.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/ApacheAgeGraphTopologyProjectionIntegrationTests.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStoreIntegrationTests.java
💤 Files with no reviewable changes (1)
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedGraphScope.java
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: Backend · Java 25
🧰 Additional context used
📓 Path-based instructions (3)
**/*

📄 CodeRabbit inference engine (CLAUDE.md)

**/*: Before changing unfamiliar Spring Boot 4, Spring Modulith 2, Spring AI 2, Gradle, React, Vite, Tailwind, or TypeScript APIs, consult Context7/current official documentation and the project orgmemory-* verification skills.
Read docs/guidelines/agent-safety.md before retrieval, AI, MCP, permission, upload, graph, or export work.
Never commit .env files, provider keys, tokens, or customer data.
Run the relevant gates from docs/guidelines/testing-harness.md; use a terminating clean test as the context gate, and do not treat bootRun as verification.
Current behavior belongs in architecture/specs only after it exists in code; intent belongs in vision, roadmap, or an active increment, and repository state must not be duplicated across documents.

Files:

  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionKind.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphRevisionEmbeddings.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/FloatVector.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionNamespace.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionSnapshot.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphTopologyCandidateIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceReference.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ContentStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphSeedIndex.java
  • apps/worker/src/main/java/com/orgmemory/worker/graph/GraphIndexingProcessor.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/LexicalIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/indexing/GraphContributionAssembler.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/VectorIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/ContributionEmbedding.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryRetrievalResultCache.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/StagedProjectionWriter.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/RetrievalResultCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedEvidenceScope.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/ModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphProjectionReader.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/observability/GraphRagEventSink.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphEmbeddingIndex.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/ApacheAgeGraphTopologyProjectionIntegrationTests.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjectionSecurityTests.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceProvenance.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjection.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStoreIntegrationTests.java
  • integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStore.java
**/*.{java,sql}

📄 CodeRabbit inference engine (CLAUDE.md)

Pair JPA schema changes with a Flyway migration.

Files:

  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionKind.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphRevisionEmbeddings.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/FloatVector.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionNamespace.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionSnapshot.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphTopologyCandidateIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceReference.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ContentStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphSeedIndex.java
  • apps/worker/src/main/java/com/orgmemory/worker/graph/GraphIndexingProcessor.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/LexicalIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/indexing/GraphContributionAssembler.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/VectorIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/ContributionEmbedding.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryRetrievalResultCache.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/StagedProjectionWriter.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/RetrievalResultCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedEvidenceScope.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/ModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphProjectionReader.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/observability/GraphRagEventSink.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphEmbeddingIndex.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/ApacheAgeGraphTopologyProjectionIntegrationTests.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjectionSecurityTests.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceProvenance.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjection.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStoreIntegrationTests.java
  • integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStore.java
**/*.java

📄 CodeRabbit inference engine (CLAUDE.md)

JetBrains IDE inspection is a Java-backend gate only.

Files:

  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionKind.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphRevisionEmbeddings.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/FloatVector.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionNamespace.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionSnapshot.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphTopologyCandidateIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceReference.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ContentStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphSeedIndex.java
  • apps/worker/src/main/java/com/orgmemory/worker/graph/GraphIndexingProcessor.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/LexicalIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/indexing/GraphContributionAssembler.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/VectorIndex.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionPublicationStore.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/ContributionEmbedding.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryRetrievalResultCache.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/StagedProjectionWriter.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/RetrievalResultCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedEvidenceScope.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/ModelInvocationCache.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphProjectionReader.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/observability/GraphRagEventSink.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphEmbeddingIndex.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/ApacheAgeGraphTopologyProjectionIntegrationTests.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjectionSecurityTests.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java
  • components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java
  • components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceProvenance.java
  • components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjection.java
  • integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStoreIntegrationTests.java
  • integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStore.java
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: kl3inIT/OrgMemory

Timestamp: 2026-07-23T17:58:29.070Z
Learning: Material decisions about domain boundaries, authorization, persistence, publication, concurrency, cache isolation, or parity scope require an independent Claude Fable 5 architecture debate before implementation, recorded in the active increment or an ADR.
Learnt from: CR
Repo: kl3inIT/OrgMemory

Timestamp: 2026-07-23T17:58:29.070Z
Learning: Use a real browser flow when UI behavior changes; do not claim runtime behavior from compilation alone.
🔇 Additional comments (38)
integrations/graph-rag-postgres/src/main/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStore.java (1)

3-10: LGTM!

Also applies to: 266-831, 1054-1058, 1558-1679

integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/ApacheAgeGraphTopologyProjectionIntegrationTests.java (1)

11-11: LGTM!

Also applies to: 120-138

integrations/graph-rag-postgres/src/test/java/com/orgmemory/graphrag/postgres/PostgresGraphProjectionStoreIntegrationTests.java (1)

7-14: LGTM!

Also applies to: 104-110, 143-161, 166-240, 243-286, 327-356, 374-412, 535-575, 609-642, 911-914

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/authorization/AuthorizedEvidenceScope.java (1)

18-82: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceReference.java (1)

12-32: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/FloatVector.java (1)

9-52: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/ContributionEmbedding.java (1)

6-10: LGTM!

apps/worker/src/main/java/com/orgmemory/worker/graph/GraphIndexingProcessor.java (1)

14-14: LGTM!

Also applies to: 260-261

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphRevisionEmbeddings.java (1)

38-39: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionKind.java (1)

3-7: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/StagedProjectionWriter.java (1)

7-11: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ContentStore.java (1)

11-66: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/model/EvidenceProvenance.java (1)

8-8: LGTM!

Also applies to: 17-21, 30-53

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/ModelInvocationCache.java (1)

1-62: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/cache/RetrievalResultCache.java (1)

1-95: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/observability/GraphRagEventSink.java (1)

1-80: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionNamespace.java (1)

1-24: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionBatch.java (1)

12-27: LGTM!

Also applies to: 32-48

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/ProjectionSnapshot.java (1)

1-41: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/VectorIndex.java (1)

1-113: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/storage/LexicalIndex.java (1)

1-100: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphEmbeddingIndex.java (2)

3-6: LGTM!

Also applies to: 16-27


16-27: 📐 Maintainability & Code Quality

Run the Java backend inspection gate.

The PR notes that inspection was unavailable; run the project’s Java inspection gate in supported CI/IDE before merge and attach the result. As per coding guidelines, “JetBrains IDE inspection is a Java-backend gate only.”

Source: Coding guidelines

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphProjectionReader.java (1)

3-3: LGTM!

Also applies to: 15-32

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphSeedIndex.java (1)

3-3: LGTM!

Also applies to: 12-17

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/port/GraphTopologyCandidateIndex.java (1)

3-3: LGTM!

Also applies to: 18-18

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryContentStore.java (3)

20-69: LGTM!


16-18: 📐 Maintainability & Code Quality

Provide the recorded architecture debate.

Please link the active increment or ADR recording the independent Fable debate for these authorization and publication-boundary decisions. Based on learnings, “Material decisions about domain boundaries, authorization, persistence, publication, concurrency, cache isolation, or parity scope require an independent Claude Fable 5 architecture debate before implementation, recorded in the active increment or an ADR.”

Source: Learnings


124-140: LGTM!

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryRetrievalResultCache.java (1)

11-39: LGTM!

components/graph-rag-core/src/main/java/com/orgmemory/graphrag/indexing/GraphContributionAssembler.java (1)

7-7: LGTM!

Also applies to: 257-263

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjection.java (1)

3-3: LGTM!

Also applies to: 78-87, 91-102, 105-125, 129-143, 147-165, 168-193, 196-222, 223-241, 243-248

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryProjectionPublicationStore.java (1)

20-131: LGTM!

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/InMemoryModelInvocationCache.java (1)

11-39: LGTM!

components/graph-rag-testkit/src/main/java/com/orgmemory/graphrag/testkit/ProjectionPublicationConformance.java (1)

19-180: LGTM!

components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/InMemoryGraphProjectionSecurityTests.java (2)

7-12: LGTM!

Also applies to: 121-121, 134-135, 231-241


273-292: 📐 Maintainability & Code Quality

No verifiable duplicate provenance() fixture to hoist.

The referenced fixture helper does not appear in the current file set, so this cannot be classified as duplicate test code in this review.

			> Likely an incorrect or invalid review comment.
components/graph-rag-testkit/src/test/java/com/orgmemory/graphrag/testkit/ProjectionContractTests.java (1)

25-288: LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant