docs(architecture): refresh public system documentation - #166
Conversation
|
Warning Review limit reached
Next review available in: 52 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR reorganizes documentation into Product Guides and revised architecture pages. It removes legacy guide sections, updates authorization, ingestion, runtime, and retrieval content, changes redirects and navigation tests, and replaces architecture image assets. ChangesDocumentation architecture and lifecycle
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 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 |
There was a problem hiding this comment.
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 `@apps/docs/AUTHORING.md`:
- Line 146: Restore the missing queue number in the configuration reference
table by ensuring the sequence after Order 26 includes Order 27 before Order 28.
Renumber subsequent entries as needed while preserving their existing order and
content.
In `@apps/docs/content/docs/architecture-security/ingestion-lifecycle.mdx`:
- Line 74: In the “Direct uploads” section, revise the sentence about the API
verifying `can_create_asset` so “First,” appears at the beginning: “First, the
API verifies `can_create_asset` on the target Knowledge Space.”
In `@apps/docs/next.config.mjs`:
- Around line 63-67: Measure production-build duration and memory usage in CI
with the experimental static-generation settings in the nextConfig experimental
configuration, then adjust or remove staticGenerationMaxConcurrency and
staticGenerationMinPagesPerWorker based on those results to avoid unnecessarily
serializing builds for smaller page sets.
🪄 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: 246173b8-0b71-47b2-ada2-5843ab04bdbc
📒 Files selected for processing (41)
apps/docs/ARCHITECTURE.mdapps/docs/AUTHORING.mdapps/docs/content/docs/architecture-security/asset-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/meta.jsonapps/docs/content/docs/architecture-security/meta.vi.jsonapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/guides/administration/identity-permissions.mdxapps/docs/content/docs/guides/administration/meta.jsonapps/docs/content/docs/guides/administration/meta.vi.jsonapps/docs/content/docs/guides/administration/sources-connections.mdxapps/docs/content/docs/guides/deployment-operations/meta.jsonapps/docs/content/docs/guides/deployment-operations/meta.vi.jsonapps/docs/content/docs/guides/deployment-operations/self-hosting.mdxapps/docs/content/docs/guides/integrations/assistant-mcp.mdxapps/docs/content/docs/guides/integrations/meta.jsonapps/docs/content/docs/guides/integrations/meta.vi.jsonapps/docs/content/docs/guides/meta.jsonapps/docs/content/docs/guides/meta.vi.jsonapps/docs/content/docs/meta.jsonapps/docs/content/docs/meta.vi.jsonapps/docs/content/docs/product-guides/work-with-governed-assets.mdxapps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdxapps/docs/next.config.mjsapps/docs/public-content.manifest.jsonapps/docs/public/images/architecture/authorization-layers.webpapps/docs/public/images/architecture/ingestion-lifecycle.webpapps/docs/public/images/architecture/lightrag-query-pipeline.webpapps/docs/public/images/architecture/secure-retrieval-graphrag.webpapps/docs/public/images/architecture/system-overview.webpapps/docs/scripts/check-docs.mjsapps/docs/test/e2e/navigation.spec.ts
💤 Files with no reviewable changes (20)
- apps/docs/content/docs/architecture-security/meta.vi.json
- apps/docs/content/docs/architecture-security/asset-lifecycle.mdx
- apps/docs/content/docs/guides/deployment-operations/meta.vi.json
- apps/docs/content/docs/architecture-security/meta.json
- apps/docs/content/docs/guides/meta.json
- apps/docs/content/docs/guides/integrations/meta.vi.json
- apps/docs/content/docs/guides/deployment-operations/meta.json
- apps/docs/content/docs/meta.vi.json
- apps/docs/content/docs/product-guides/work-with-governed-assets.mdx
- apps/docs/content/docs/guides/administration/meta.vi.json
- apps/docs/content/docs/guides/meta.vi.json
- apps/docs/content/docs/meta.json
- apps/docs/content/docs/guides/integrations/meta.json
- apps/docs/content/docs/guides/administration/meta.json
- apps/docs/content/docs/product-guides/work-with-governed-assets.vi.mdx
- apps/docs/content/docs/guides/administration/identity-permissions.mdx
- apps/docs/content/docs/guides/integrations/assistant-mcp.mdx
- apps/docs/public-content.manifest.json
- apps/docs/content/docs/guides/administration/sources-connections.mdx
- apps/docs/content/docs/guides/deployment-operations/self-hosting.mdx
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
- GitHub Check: Public docs · Node 24
🧰 Additional context used
📓 Path-based instructions (6)
**/*
📄 CodeRabbit inference engine (CLAUDE.md)
**/*: Always read the repository guidance and relevant sections ofARCHITECTURE.md; before changing a domain, read its specification, test-coverage document, and binding decision filenames.
Treat the repository as the engineering system of record; current repository and runtime evidence take precedence over chat or Northstar.
Readdocs/guidelines/agent-safety.mdbefore retrieval, AI, MCP, permission, upload, graph, or export work. Never commit secrets or customer data.
Files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/scripts/check-docs.mjsapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/public/images/architecture/lightrag-query-pipeline.webpapps/docs/public/images/architecture/authorization-layers.webpapps/docs/next.config.mjsapps/docs/test/e2e/navigation.spec.tsapps/docs/AUTHORING.mdapps/docs/ARCHITECTURE.mdapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/public/images/architecture/ingestion-lifecycle.webpapps/docs/public/images/architecture/system-overview.webpapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/public/images/architecture/secure-retrieval-graphrag.webpapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
apps/docs/content/docs/**/*.{md,mdx}
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
apps/docs/content/docs/**/*.{md,mdx}: Public prose must live only inapps/docs/content/docs; internal engineering documents are source evidence, not publication input.
sourceRefsis build-time traceability metadata and must never be rendered in published content.
Draft pages must remain excluded unlessDOCS_INCLUDE_DRAFTS=trueis set for a local or controlled preview.
Files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
apps/docs/content/docs/**/*.mdx
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Use
index.mdxfor a section root and<slug>.mdxfor a named English page; add Vietnamese pages individually as adjacentindex.vi.mdxor<slug>.vi.mdxfiles, using the/vi/docs/...route.
Files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
apps/docs/content/docs/**/*.vi.mdx
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Vietnamese routes must visibly fall back to the reviewed English page until the matching
.vi.mdxexists; a fallback route is not a completed translation.
Files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.vi.mdx
**/*.{js,jsx,ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{js,jsx,ts,tsx}: Frontend verification must include lint, typecheck, tests, production build, and browser verification when the flow matters.
Before using unfamiliar React, Vite, Tailwind, TypeScript, Next.js, or Fumadocs APIs, consult current official documentation, Context7, and the relevant project verification skill.
Files:
apps/docs/test/e2e/navigation.spec.ts
apps/docs/**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (apps/docs/CLAUDE.md)
Verify unfamiliar Next.js and Fumadocs APIs against current official documentation or installed dependency types before using them.
Files:
apps/docs/test/e2e/navigation.spec.ts
🧠 Learnings (3)
📚 Learning: 2026-07-28T20:06:14.930Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 112
File: apps/docs/content/docs/developers/api-reference/administration.mdx:11-11
Timestamp: 2026-07-28T20:06:14.930Z
Learning: In OrgMemory public documentation MDX files, ensure any `lastReviewed` dates are set using the repository project timezone `Asia/Bangkok`, not the reviewer’s local timezone or the runtime/build timezone. When generating or updating API-reference pages, intentionally use the exact same `lastReviewed` date convention as the authored public documentation pages to keep timestamps consistent across both sources.
Applied to files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
📚 Learning: 2026-07-28T20:06:15.064Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 112
File: apps/docs/content/docs/developers/api-reference/authentication.mdx:12-12
Timestamp: 2026-07-28T20:06:15.064Z
Learning: In OrgMemory docs/tests that describe date-based review checks, treat the project timezone as Asia/Bangkok for all “date” comparisons/validations. Do not assume UTC when interpreting or validating fields like `lastReviewed`. For example, `lastReviewed: '2026-07-29'` should be considered valid when the effective “current date” in Asia/Bangkok is July 29, 2026 (not merely when the UTC date matches).
Applied to files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
📚 Learning: 2026-07-30T06:46:08.031Z
Learnt from: kl3inIT
Repo: kl3inIT/OrgMemory PR: 144
File: apps/docs/public-content.manifest.json:13-67
Timestamp: 2026-07-30T06:46:08.031Z
Learning: For the Fumadocs docs portal under apps/docs, follow the expected MDX filename conventions that drive section-root vs named-page routing. Use `index.mdx` for English section-root pages and `<slug>.mdx` for named pages. For Vietnamese, use adjacent locale-suffixed files: `index.vi.mdx` for section roots and `<slug>.vi.mdx` for named pages. Do not require or enforce a `page.mdx` filename; doing so would change/break the intended section-root route structure.
Applied to files:
apps/docs/content/docs/getting-started/core-concepts.vi.mdxapps/docs/content/docs/getting-started/first-governed-journey.vi.mdxapps/docs/content/docs/getting-started/index.mdxapps/docs/content/docs/getting-started/first-governed-journey.mdxapps/docs/content/docs/getting-started/core-concepts.mdxapps/docs/content/docs/getting-started/index.vi.mdxapps/docs/content/docs/architecture-security/ingestion-lifecycle.mdxapps/docs/content/docs/architecture-security/authorization.mdxapps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdxapps/docs/content/docs/architecture-security/system-description.mdxapps/docs/content/docs/architecture-security/evaluation/traceability.mdx
🪛 LanguageTool
apps/docs/content/docs/architecture-security/ingestion-lifecycle.mdx
[style] ~74-~74: Consider placing the discourse marker ‘first’ at the beginning of the sentence for more clarity.
Context: ...ce granted nobody. ### Direct uploads The API first verifies can_create_asset on the targ...
(SENT_START_FIRST_PREMIUM)
🔇 Additional comments (22)
apps/docs/ARCHITECTURE.md (1)
37-43: LGTM!apps/docs/AUTHORING.md (1)
109-111: LGTM!apps/docs/content/docs/architecture-security/evaluation/traceability.mdx (1)
61-61: LGTM!apps/docs/content/docs/getting-started/core-concepts.mdx (1)
165-165: LGTM!apps/docs/content/docs/getting-started/core-concepts.vi.mdx (1)
166-166: LGTM!apps/docs/content/docs/getting-started/first-governed-journey.mdx (1)
140-140: LGTM!apps/docs/content/docs/getting-started/first-governed-journey.vi.mdx (1)
146-146: LGTM!apps/docs/content/docs/getting-started/index.mdx (1)
87-93: LGTM!apps/docs/content/docs/getting-started/index.vi.mdx (1)
89-95: LGTM!apps/docs/next.config.mjs (1)
8-39: 📐 Maintainability & Code QualityRun the full frontend verification for the redirect contract.
These mappings change public navigation. Run lint, typecheck, tests, the production build, and browser verification before merge.
As per coding guidelines, frontend verification must include lint, typecheck, tests, production build, and browser verification when the flow matters.
Source: Coding guidelines
apps/docs/scripts/check-docs.mjs (1)
292-293: LGTM!Also applies to: 313-315
apps/docs/test/e2e/navigation.spec.ts (1)
64-64: LGTM!Also applies to: 78-78, 208-220
apps/docs/content/docs/architecture-security/authorization.mdx (2)
91-98: LGTM!
1-1: 🗄️ Data Integrity & IntegrationNo change needed. ORGMEMORY access uses the application-managed ACL from the sealed ingestion snapshot, with OpenFGA checked separately for current object visibility. This matches both docs and the canonical retrieval code path.
> Likely an incorrect or invalid review comment.apps/docs/content/docs/architecture-security/ingestion-lifecycle.mdx (1)
73-77: LGTM!apps/docs/content/docs/architecture-security/system-description.mdx (1)
19-153: LGTM!apps/docs/content/docs/architecture-security/secure-retrieval-graphrag.mdx (1)
28-241: LGTM!apps/docs/public/images/architecture/ingestion-lifecycle.webp (1)
1-807: LGTM!apps/docs/public/images/architecture/lightrag-query-pipeline.webp (1)
1-365: LGTM!apps/docs/public/images/architecture/secure-retrieval-graphrag.webp (1)
1-695: LGTM!apps/docs/public/images/architecture/system-overview.webp (1)
1-671: LGTM!apps/docs/public/images/architecture/authorization-layers.webp (1)
1-784: LGTM!
| | 23 | Trust boundaries and threat model | Architecture & Security | security decisions/specs | missing | | ||
| | 24 | API overview, auth, and errors | Reference | authored API overview/auth pages | review | | ||
| | 25 | API endpoint groups | Reference | generated OpenAPI pages | generated | | ||
| | 26 | Configuration reference | Reference | committed environment contracts | missing | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Restore the missing queue number.
The renumbering ends at Order 26, but the next queue entry remains Order 28. The queue has no Order 27. Renumber the remaining entries or add the missing item.
🤖 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 `@apps/docs/AUTHORING.md` at line 146, Restore the missing queue number in the
configuration reference table by ensuring the sequence after Order 26 includes
Order 27 before Order 28. Renumber subsequent entries as needed while preserving
their existing order and content.
| because a sealed empty ACL means the source granted nobody. | ||
|
|
||
| ### Direct uploads | ||
|
|
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
Minor wording placement in "Direct uploads."
Static analysis flags this sentence for clarity. Move "first" to the front of the sentence: "First, the API verifies can_create_asset on the target Knowledge Space."
🧰 Tools
🪛 LanguageTool
[style] ~74-~74: Consider placing the discourse marker ‘first’ at the beginning of the sentence for more clarity.
Context: ...ce granted nobody. ### Direct uploads The API first verifies can_create_asset on the targ...
(SENT_START_FIRST_PREMIUM)
🤖 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 `@apps/docs/content/docs/architecture-security/ingestion-lifecycle.mdx` at line
74, In the “Direct uploads” section, revise the sentence about the API verifying
`can_create_asset` so “First,” appears at the beginning: “First, the API
verifies `can_create_asset` on the target Knowledge Space.”
Source: Linters/SAST tools
| experimental: { | ||
| staticGenerationMaxConcurrency: 1, | ||
| staticGenerationMinPagesPerWorker: 150, | ||
| staticGenerationRetryCount: 1, | ||
| }, |
There was a problem hiding this comment.
🚀 Performance & Scalability | 🔵 Trivial
Verify the static-generation limits against build measurements.
staticGenerationMaxConcurrency: 1 limits each worker to one page at a time. staticGenerationMinPagesPerWorker: 150 delays additional workers. If the generated page set remains below 150, these values can force a single serial worker. Measure production-build duration and memory use in CI before keeping them. These are experimental Next.js settings. (nextjs.org)
🤖 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 `@apps/docs/next.config.mjs` around lines 63 - 67, Measure production-build
duration and memory usage in CI with the experimental static-generation settings
in the nextConfig experimental configuration, then adjust or remove
staticGenerationMaxConcurrency and staticGenerationMinPagesPerWorker based on
those results to avoid unnecessarily serializing builds for smaller page sets.
Summary
Verification
Summary by CodeRabbit