refactor(knowledge): extract source ACL module - #181
Conversation
📝 WalkthroughWalkthroughThe ACL domain moved into ChangesACL module refactor
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. Comment |
TegamiThis repository uses Tegami to manage releases. When your changes affect published packages, add a changelog file under Create a changelog → · Changelog format Release preview
This PR does not add changelog files. Pending changelogs from other branches are included in the preview above. Run Managed by Tegami. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@ARCHITECTURE.md`:
- Around line 122-125: Update the `core.knowledge.acl` architecture description
to state that connector and source-ledger callers still have direct migration
dependencies, rather than claiming they use intentional facades. Move the
planned facade routing out of `ARCHITECTURE.md` into the appropriate active
increment or roadmap documentation.
🪄 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: 92bda561-8f46-4cc6-b298-02c21707489d
⛔ Files ignored due to path filters (2)
docs/increments/active/2026-07-31-spring-modulith-package-refactor/design.mdis excluded by!docs/**docs/increments/active/2026-07-31-spring-modulith-package-refactor/plan.mdis excluded by!docs/**
📒 Files selected for processing (82)
ARCHITECTURE.mdapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.javaapps/api/src/test/java/com/orgmemory/api/knowledge/KnowledgeIngestionIntegrationTests.javaapps/worker/src/main/java/com/orgmemory/worker/ingestion/SourceIngestionProcessor.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorContentEditIntegrationTests.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorIdentityTrustIntegrationTests.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorPruningIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityItem.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnection.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.javacore/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.javacore/src/main/java/com/orgmemory/core/knowledge/acl/package-info.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.javacore/src/test/java/com/orgmemory/core/ModulithVerificationTests.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorIdentityResolutionTests.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorSourceRegistryTests.javacore/src/test/java/com/orgmemory/core/knowledge/ExternalPrincipalRetrievalIntegrationTests.javacore/src/test/java/com/orgmemory/core/knowledge/GraphIndexingCoordinatorTests.javacore/src/test/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolverTests.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadTests.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingServiceTests.javacore/src/test/java/com/orgmemory/core/knowledge/sourceledger/SourceQueryServiceTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDrivePermissionMapper.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/github/GitHubConnectorBatchSourceTests.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSourceTests.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/slack/SlackConnectorBatchSourceTests.java
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: Backend · Java 25
- GitHub Check: Web · Node 24
🧰 Additional context used
📓 Path-based instructions (6)
**/*
📄 CodeRabbit inference engine (CLAUDE.md)
**/*: Read the repository guidance map and relevant sections ofARCHITECTURE.mdbefore making changes; read applicable subproject guidance after the root guidance.
Readdocs/guidelines/agent-safety.mdbefore retrieval, AI, MCP, permission, upload, graph, or export work.
Never commit secrets or customer data.
Pair persisted-model changes with a Flyway migration.
Use the testing harness; a terminating clean test is the JVM context gate, andbootRunis not verification.
Files:
ARCHITECTURE.mdcore/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorIdentityResolutionTests.javacore/src/test/java/com/orgmemory/core/knowledge/sourceledger/SourceQueryServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.javacore/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.javaapps/api/src/test/java/com/orgmemory/api/knowledge/KnowledgeIngestionIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.javacore/src/main/java/com/orgmemory/core/knowledge/acl/package-info.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.javacore/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityItem.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDrivePermissionMapper.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorPruningIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/slack/SlackConnectorBatchSourceTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.javaapps/worker/src/main/java/com/orgmemory/worker/ingestion/SourceIngestionProcessor.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnection.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorIdentityTrustIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.javacore/src/test/java/com/orgmemory/core/knowledge/ExternalPrincipalRetrievalIntegrationTests.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorContentEditIntegrationTests.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.javacore/src/test/java/com/orgmemory/core/knowledge/GraphIndexingCoordinatorTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.javacore/src/test/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolverTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/github/GitHubConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.javacore/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorSourceRegistryTests.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.javacore/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.javacore/src/test/java/com/orgmemory/core/ModulithVerificationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.java
ARCHITECTURE.md
📄 CodeRabbit inference engine (CLAUDE.md)
ARCHITECTURE.mdmust contain implemented facts only; intended or selected-but-unimplemented behavior belongs in vision, roadmap, or an active increment.
Files:
ARCHITECTURE.md
**/*.{java,gradle,gradle.kts,ts,tsx,js,jsx}
📄 CodeRabbit inference engine (CLAUDE.md)
Before using unfamiliar Spring Boot 4, Spring Modulith 2, Spring AI 2, Gradle, React, Vite, Tailwind, TypeScript, Next.js, or Fumadocs APIs, consult Context7 or current official documentation and the relevant project verification skill.
Files:
core/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorIdentityResolutionTests.javacore/src/test/java/com/orgmemory/core/knowledge/sourceledger/SourceQueryServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.javacore/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.javaapps/api/src/test/java/com/orgmemory/api/knowledge/KnowledgeIngestionIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.javacore/src/main/java/com/orgmemory/core/knowledge/acl/package-info.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.javacore/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityItem.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDrivePermissionMapper.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorPruningIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/slack/SlackConnectorBatchSourceTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.javaapps/worker/src/main/java/com/orgmemory/worker/ingestion/SourceIngestionProcessor.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnection.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorIdentityTrustIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.javacore/src/test/java/com/orgmemory/core/knowledge/ExternalPrincipalRetrievalIntegrationTests.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorContentEditIntegrationTests.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.javacore/src/test/java/com/orgmemory/core/knowledge/GraphIndexingCoordinatorTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.javacore/src/test/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolverTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/github/GitHubConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.javacore/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorSourceRegistryTests.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.javacore/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.javacore/src/test/java/com/orgmemory/core/ModulithVerificationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.java
**/*.java
📄 CodeRabbit inference engine (CLAUDE.md)
Apply IDE inspection only to edited backend Java files.
Files:
core/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorIdentityResolutionTests.javacore/src/test/java/com/orgmemory/core/knowledge/sourceledger/SourceQueryServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.javacore/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.javaapps/api/src/test/java/com/orgmemory/api/knowledge/KnowledgeIngestionIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.javacore/src/main/java/com/orgmemory/core/knowledge/acl/package-info.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.javacore/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityItem.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDrivePermissionMapper.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorPruningIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/slack/SlackConnectorBatchSourceTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.javaapps/worker/src/main/java/com/orgmemory/worker/ingestion/SourceIngestionProcessor.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnection.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorIdentityTrustIntegrationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.javacore/src/test/java/com/orgmemory/core/knowledge/ExternalPrincipalRetrievalIntegrationTests.javaapps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorContentEditIntegrationTests.javacore/src/test/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingServiceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.javacore/src/test/java/com/orgmemory/core/knowledge/GraphIndexingCoordinatorTests.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.javacore/src/test/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolverTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.javaintegrations/connectors/src/test/java/com/orgmemory/connectors/github/GitHubConnectorBatchSourceTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.javacore/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.javacore/src/test/java/com/orgmemory/core/knowledge/ConnectorSourceRegistryTests.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.javacore/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.javacore/src/test/java/com/orgmemory/core/ModulithVerificationTests.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.java
core/src/main/java/com/orgmemory/core/{authorization,knowledge,permission}/**/*.java
⚙️ CodeRabbit configuration file
core/src/main/java/com/orgmemory/core/{authorization,knowledge,permission}/**/*.java: Treat PostgreSQL ACL evidence as canonical and OpenFGA as the relationship
authorization decision point. Authorization must fail closed. Filtering
must happen before ranking, LIMIT, graph traversal, answer generation,
export, and citation rendering. Flag metadata or timing leak paths.
Files:
core/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.javacore/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.javacore/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.javacore/src/main/java/com/orgmemory/core/knowledge/acl/package-info.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.javacore/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.javacore/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityItem.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.javacore/src/main/java/com/orgmemory/core/knowledge/SourceConnection.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.javacore/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.javacore/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.javacore/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.javacore/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.javacore/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.javacore/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.java
apps/api/src/main/java/**/*.java
⚙️ CodeRabbit configuration file
apps/api/src/main/java/**/*.java: Enforce the browser-BFF and resource-server boundaries. Authentication
must resolve an active internal actor through the explicit issuer and
subject binding. Reject identity, tenant, roles, or permissions supplied
by request payloads, JWT email, or untrusted JWT role claims.
Files:
apps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.java
🧠 Learnings (2)
📚 Learning: 2026-07-26T05:46:47.443Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 61
File: apps/mcp/src/main/java/com/orgmemory/mcp/McpSecurityConfiguration.java:50-52
Timestamp: 2026-07-26T05:46:47.443Z
Learning: In OrgMemory, treat the `apps/mcp` and `apps/api` as independent protocol adapter modules. When adjusting OAuth/wire-level scopes, do not introduce a shared Java constant or create a code dependency from `apps/mcp` to `apps/api` solely to deduplicate scope values. Instead, keep OAuth/scope constants adapter-local (e.g., in the relevant adapter/security configuration classes) and ensure cross-adapter consistency via automated realm/OAuth/authorization tests, rather than via shared wiring-level constants or cross-module references.
Applied to files:
apps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.javaapps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.javaapps/api/src/main/java/com/orgmemory/api/source/SourceResponse.java
📚 Learning: 2026-07-27T19:32:49.877Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 96
File: integrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.java:0-0
Timestamp: 2026-07-27T19:32:49.877Z
Learning: When reviewing connector component checkpointing completeness logic, ensure it clearly distinguishes authorization-evidence gaps from intentional content-scope limits. Authorization evidence gaps mean the connector cannot validate required permissions/membership for the source and should mark the relevant permission/membership component(s) as incomplete; intentional content-scope limits (e.g., configured channel subset filters or bounded thread history) should not be treated as authorization gaps. For Slack sources specifically: if permission and membership data are incomplete for the Slack access gap, mark the permission/membership component incomplete; do not downgrade completeness solely due to configured channel subsets or bounded thread history. For Google Drive: if sharing is unreadable (e.g., insufficient access to view sharing metadata), mark the permission component incomplete.
Applied to files:
integrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.javaintegrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.java
🔇 Additional comments (81)
core/src/main/java/com/orgmemory/core/knowledge/acl/AclAuthority.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/AclCaptureStatus.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/RotateSourceAclCommand.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntry.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryCommand.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalKind.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMapping.java (1)
1-1: LGTM!Also applies to: 19-19
core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingMethod.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingService.java (1)
1-3: LGTM!Also applies to: 30-30, 51-51
core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalService.java (1)
1-3: LGTM!Also applies to: 14-14, 23-23
core/src/main/java/com/orgmemory/core/knowledge/ConnectorReconciler.java (1)
3-14: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingRepository.java (1)
1-8: 🗄️ Data Integrity & IntegrationCheck all non-ACL modules before allowing this repository exposure.
No non-ACL Java module uses
SourcePrincipalMappingRepositorycurrently. If this package remains externally reachable, keep access through a narrow read or command facade so mappings cannot be deleted withoutSourcePrincipalMappingService.revokeand the audit record.core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclEntryRepository.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHeadRepository.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclRotationRef.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshot.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotRepository.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSeal.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipService.java (1)
1-8: LGTM!Also applies to: 28-28, 53-53
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshot.java (1)
1-3: LGTM!Also applies to: 17-17
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotRepository.java (1)
1-7: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSeal.java (1)
1-1: LGTM!Also applies to: 13-13
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipSnapshotSealRepository.java (1)
1-7: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorIdentityResolution.java (2)
3-5: LGTM!
15-27: 🗄️ Data Integrity & IntegrationNo change needed.
ConnectorIdentityResolutionis used only by code incom.orgmemory.core.knowledgepackages, and all non-empty construction happens inConnectorReconciler. An empty resolution is already sufficient for the only external stubbed construction available now.core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclHead.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/SourceConnection.java (1)
21-21: LGTM!Also applies to: 82-82, 164-165, 180-196
apps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorPruningIntegrationTests.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/sourceledger/KnowledgeIngestionService.java (1)
3-16: LGTM!core/src/main/java/com/orgmemory/core/knowledge/sourceledger/NormalizedRecord.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/sourceledger/RegisterRawSourceCommand.java (1)
3-5: LGTM!core/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceObject.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/sourceledger/SourceSummary.java (1)
3-4: LGTM!core/src/test/java/com/orgmemory/core/knowledge/ConnectorIdentityResolutionTests.java (1)
3-4: LGTM!core/src/test/java/com/orgmemory/core/knowledge/ExternalPrincipalRetrievalIntegrationTests.java (1)
3-4: LGTM!core/src/test/java/com/orgmemory/core/knowledge/GraphIndexingCoordinatorTests.java (1)
3-5: LGTM!core/src/test/java/com/orgmemory/core/knowledge/sourceledger/SourceQueryServiceTests.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceAclSnapshotSealRepository.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHead.java (1)
1-3: LGTM!Also applies to: 17-17
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadRepository.java (1)
1-3: LGTM!Also applies to: 14-14
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMember.java (1)
1-1: LGTM!Also applies to: 15-15
core/src/main/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipMemberRepository.java (1)
1-7: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingStatus.java (1)
1-1: LGTM!core/src/test/java/com/orgmemory/core/ModulithVerificationTests.java (1)
32-37: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ActiveGroupMembershipRow.java (1)
7-7: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorAclGrant.java (1)
3-3: 🗄️ Data Integrity & IntegrationNo change needed.
SourcePrincipalKindispublic, and the connector-facing APIs using it are also public.core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipal.java (1)
1-1: LGTM!Also applies to: 19-19, 98-98
core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalAdminService.java (1)
1-9: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalType.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalView.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/package-info.java (1)
1-3: LGTM!core/src/test/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolverTests.java (1)
3-4: LGTM!core/src/test/java/com/orgmemory/core/knowledge/acl/SourceGroupMembershipHeadTests.java (1)
1-3: LGTM!core/src/test/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingServiceTests.java (1)
1-3: LGTM!integrations/connectors/src/main/java/com/orgmemory/connectors/github/GitHubConnectorBatchSource.java (1)
3-4: LGTM!integrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSource.java (1)
3-4: LGTM!integrations/connectors/src/main/java/com/orgmemory/connectors/googledrive/GoogleDrivePermissionMapper.java (1)
3-5: LGTM!integrations/connectors/src/main/java/com/orgmemory/connectors/slack/SlackConnectorBatchSource.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalMappingView.java (1)
1-1: LGTM!core/src/main/java/com/orgmemory/core/knowledge/acl/SourcePrincipalRepository.java (1)
1-8: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorMembershipMember.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceProfile.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorSourceRevisionCoordinator.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/GraphIndexingCoordinator.java (1)
3-5: LGTM!core/src/main/java/com/orgmemory/core/knowledge/KnowledgeEvidenceScopeResolver.java (1)
3-4: LGTM!core/src/main/java/com/orgmemory/core/knowledge/SourceConnectionRepository.java (1)
8-8: LGTM!core/src/main/java/com/orgmemory/core/knowledge/SourceIdentityObservation.java (1)
3-4: LGTM!Also applies to: 13-13
core/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRun.java (1)
13-13: LGTM!Also applies to: 30-30
core/src/main/java/com/orgmemory/core/knowledge/SourceMembershipSyncRunRepository.java (1)
6-6: LGTM!core/src/main/java/com/orgmemory/core/knowledge/ConnectorIngestionContext.java (1)
14-14: LGTM!Also applies to: 32-32
apps/api/src/main/java/com/orgmemory/api/admin/AdminSourceAccessController.java (1)
3-7: LGTM!apps/api/src/main/java/com/orgmemory/api/admin/AdminUserController.java (1)
3-3: LGTM!apps/api/src/main/java/com/orgmemory/api/source/SourceResponse.java (1)
3-3: LGTM!apps/api/src/test/java/com/orgmemory/api/knowledge/KnowledgeIngestionIntegrationTests.java (1)
3-8: LGTM!Also applies to: 24-25
apps/worker/src/main/java/com/orgmemory/worker/ingestion/SourceIngestionProcessor.java (1)
3-6: LGTM!apps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorContentEditIntegrationTests.java (1)
3-4: LGTM!apps/worker/src/test/java/com/orgmemory/worker/connector/ConnectorIdentityTrustIntegrationTests.java (1)
3-4: LGTM!core/src/test/java/com/orgmemory/core/knowledge/ConnectorSourceRegistryTests.java (1)
3-3: LGTM!integrations/connectors/src/test/java/com/orgmemory/connectors/github/GitHubConnectorBatchSourceTests.java (1)
3-4: LGTM!integrations/connectors/src/test/java/com/orgmemory/connectors/googledrive/GoogleDriveConnectorBatchSourceTests.java (1)
3-4: LGTM!integrations/connectors/src/test/java/com/orgmemory/connectors/slack/SlackConnectorBatchSourceTests.java (1)
3-4: LGTM!Also applies to: 100-130
| The `core.knowledge.acl` nested module owns source ACL snapshots and heads, | ||
| external-principal mappings, and group-membership evidence; it is also | ||
| temporarily open while connector and source-ledger callers are routed through | ||
| intentional facades. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Document the current dependency state, not the planned facade state.
The PR objectives identify facade routing as migration debt. Lines 122-125 state that connector and source-ledger callers are already routed through intentional facades. State that core.knowledge.acl remains open because those callers still have direct migration dependencies. Move the planned facade routing to an active increment or roadmap.
Proposed wording
- it is also temporarily open while connector and source-ledger callers are routed through intentional facades.
+ it is currently open because connector and source-ledger callers still have direct dependencies during the facade migration.As per coding guidelines: ARCHITECTURE.md must contain implemented facts only; intended or selected-but-unimplemented behavior belongs in vision, roadmap, or an active increment.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| The `core.knowledge.acl` nested module owns source ACL snapshots and heads, | |
| external-principal mappings, and group-membership evidence; it is also | |
| temporarily open while connector and source-ledger callers are routed through | |
| intentional facades. | |
| The `core.knowledge.acl` nested module owns source ACL snapshots and heads, | |
| external-principal mappings, and group-membership evidence; it is currently | |
| open because connector and source-ledger callers still have direct | |
| dependencies during the facade migration. |
🤖 Prompt for 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.
In `@ARCHITECTURE.md` around lines 122 - 125, Update the `core.knowledge.acl`
architecture description to state that connector and source-ledger callers still
have direct migration dependencies, rather than claiming they use intentional
facades. Move the planned facade routing out of `ARCHITECTURE.md` into the
appropriate active increment or roadmap documentation.
Source: Coding guidelines
Summary
knowledge.aclVerification
:core:testpassesclean testpasses (108 tasks, 6m46s)python scripts/check_docs.pypasses (361 Markdown files, 8 mirrored domain pairs)Migration debt
knowledge.aclremainsType.OPENtemporarilyskip-release: internal package refactor with no runtime or published behavior change
Summary by CodeRabbit
Improvements
Documentation
Tests