Skip to content

(feat): Clarify API compatibility and planned features in docs with trademark attribution - #3

Merged
frisbeeman merged 6 commits into
mainfrom
tri-124/cross-property-coupling-2
Aug 9, 2026
Merged

(feat): Clarify API compatibility and planned features in docs with trademark attribution#3
frisbeeman merged 6 commits into
mainfrom
tri-124/cross-property-coupling-2

Conversation

@frisbeeman

@frisbeeman frisbeeman commented Aug 8, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Clarified Loki and Tempo compatibility, supported endpoints, ports, and TraceQL behavior.
    • Documented Prometheus compatibility as planned, with routes returning 501 Not Implemented except readiness checks.
    • Documented Arrow Flight SQL for current metrics queries.
    • Updated installation, deployment, storage, maintenance, architecture, and quickstart guidance for RustFS and the built-in S3 catalog.
    • Added LLM operations, pricing, tenant filtering, and scalable maintenance guidance.
    • Added trademarks, attribution, and non-affiliation guidance in English, French, and Russian.
    • Improved branding, metadata, navigation, and multilingual documentation builds.

@frisbeeman
frisbeeman requested review from a team and s-prosvirnin August 8, 2026 01:38
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 47 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7e891059-aefb-48a6-9e89-4e75455df90c

📥 Commits

Reviewing files that changed from the base of the PR and between 29508dc and da00813.

📒 Files selected for processing (3)
  • AGENTS.md
  • package.json
  • robots.txt

Walkthrough

The PR updates localized and generated documentation, architecture diagrams, build guidance, storage and deployment references, API availability statements, trademark pages, and static-content build configuration.

Changes

Documentation and architecture updates

Layer / File(s) Summary
Build and documentation metadata
AGENTS.md, .yfm, package.json, en/index.yaml, en/toc.yaml, fr/index.yaml, fr/toc.yaml, ru/index.yaml, ru/toc.yaml, */trademarks.md
Build commands preserve static content. Documentation variables and authoring rules are defined. Localized metadata and trademark pages were added or updated.
API, query, storage, and deployment documentation
en/**, fr/**, ru/**, llms.txt, llms-full.txt
Documentation now describes partial Loki and Tempo support, planned Prometheus support, 501 Not Implemented responses, TraceQL, Arrow Flight SQL, tenant enforcement, RustFS, the built-in S3 catalog, WAL retention, and horizontally scalable Maintain workers.
Architecture model and component views
c4/README.md, c4/workspace.dsl
The C4 model now includes additional external systems, services, libraries, storage systems, data flows, and an S3 Catalog component view.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • icegatetech/docs#1: Both PRs update the same documentation pages and build configuration.

Suggested reviewers: s-prosvirnin

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes a significant documentation change covering API compatibility, planned features, and trademark attribution.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 tri-124/cross-property-coupling-2

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: 11

🧹 Nitpick comments (1)
en/api-reference/loki.md (1)

8-11: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use YFM variables for product names across the changed Markdown.

The changed documentation hard-codes the product name in multiple locations. Replace each occurrence with {{product_name}}.

  • en/api-reference/loki.md#L8-L11: replace IceGate provides with {{product_name}} provides.
  • en/api-reference/prometheus.md#L18-L19: replace IceGate's with {{product_name}}'s.
  • en/api-reference/tempo.md#L8-L13: replace IceGate provides with {{product_name}} provides.
  • ru/getting-started/quickstart.md#L143-L144: replace IceGate with {{product_name}}.
  • ru/guides/querying.md#L8-L11: replace IceGate with {{product_name}}.
  • en/trademarks.md#L3-L3: replace IceGate in the frontmatter description with {{product_name}}.

As per coding guidelines, use .yfm variables such as {{product_name}} in documentation.

🤖 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 `@en/api-reference/loki.md` around lines 8 - 11, Replace hard-coded IceGate
product-name occurrences with the YFM variable {{product_name}} in
en/api-reference/loki.md lines 8-11, en/api-reference/prometheus.md lines 18-19,
en/api-reference/tempo.md lines 8-13, ru/getting-started/quickstart.md lines
143-144, ru/guides/querying.md lines 8-11, and en/trademarks.md line 3; preserve
possessive grammar as {{product_name}}'s where applicable.

Source: Coding guidelines

🤖 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 `@en/api-reference/tempo.md`:
- Around line 3-13: Update the existing Implementation Status block in the Tempo
API reference to describe TraceQL as partially supported for `/api/search`, with
unsupported TraceQL features returning `501 Not Implemented` rather than stating
support is only planned. Keep the status wording consistent with the
introduction and the traces end-to-end cookbook.

In `@en/faq.md`:
- Line 12: Update the API references as follows: in en/faq.md lines 12-12, link
separately to the Loki, Tempo, and planned Prometheus references; in en/faq.md
lines 100-100, link the Grafana trace guidance to api-reference/tempo.md; in
fr/trademarks.md lines 27-30 and ru/trademarks.md lines 28-30, add the Tempo API
reference alongside the existing Loki reference.
- Line 12: Replace hard-coded IceGate mentions with the YFM product variable
{{product_name}} at en/faq.md lines 12-12 and 100-100,
en/getting-started/quickstart.md lines 143-144, and en/guides/querying.md lines
8-12. Preserve the surrounding Markdown content and links.

In `@en/guides/grafana-integration.md`:
- Around line 111-113: Update the Port Reference table to reflect the current
Prometheus status: metadata endpoints return 501 Not Implemented and only
/-/ready responds, replacing “Metadata only (PromQL planned).” Also revise the
Tempo row to mention its partial TraceQL support through the documented
/api/search endpoint, preserving the existing table structure.

In `@en/trademarks.md`:
- Around line 31-33: Update the Prometheus status summary in en/trademarks.md
lines 31-33 to state that documented routes return 501 Not Implemented except
/-/ready, which responds successfully. Apply the same /-/ready exception to the
Russian summary in ru/guides/grafana-integration.md line 14.
- Around line 27-29: Update the compatibility definition paragraph to link both
the Loki and Tempo API references, preserving its explanation that
{{product_name}} implements only the documented HTTP read API subset.

In `@fr/api-reference/loki.md`:
- Around line 3-11: Replace every hard-coded IceGate product reference with
{{product_name}} in fr/api-reference/loki.md lines 3-11,
fr/api-reference/tempo.md lines 3 and 14-19, fr/api-reference/prometheus.md
lines 25-26, fr/guides/querying.md line 8, ru/api-reference/loki.md lines 3-11,
ru/api-reference/prometheus.md lines 25-26, and ru/api-reference/tempo.md lines
3 and 14-19; leave other wording unchanged.

In `@fr/guides/querying.md`:
- Around line 9-10: Remove the whitespace between “L'” and the Prometheus API
link in the surrounding Markdown text so the rendered phrase joins the article
directly to the linked noun.

In `@fr/trademarks.md`:
- Around line 32-34: Update the Prometheus API statement to use the typographic
apostrophe in “L’API” and explicitly state that every route except `/-/ready`
returns `501 Not Implemented`; preserve the surrounding reference-page
explanation.

In `@llms-full.txt`:
- Around line 6662-6669: Synchronize Prometheus status across all listed
artifacts: regenerate llms-full.txt (lines 6662-6669) to state that every
Prometheus route except /-/ready returns 501 Not Implemented; update
fr/trademarks.md (lines 32-34) with the same exception and use “L’API”; correct
llms.txt (line 3) and its later metadata and TraceQL statements to remove
outdated availability and planning claims; update ru/trademarks.md (lines 32-34)
with the /-/ready exception.

In `@ru/trademarks.md`:
- Around line 32-34: Update the Prometheus API statement in trademarks.md to
explicitly exempt the /-/ready route from the 501 Not Implemented behavior,
while preserving the existing description for all other Prometheus routes.

---

Nitpick comments:
In `@en/api-reference/loki.md`:
- Around line 8-11: Replace hard-coded IceGate product-name occurrences with the
YFM variable {{product_name}} in en/api-reference/loki.md lines 8-11,
en/api-reference/prometheus.md lines 18-19, en/api-reference/tempo.md lines
8-13, ru/getting-started/quickstart.md lines 143-144, ru/guides/querying.md
lines 8-11, and en/trademarks.md line 3; preserve possessive grammar as
{{product_name}}'s where applicable.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e970ee9c-30be-4ee4-ab82-9d33acd6dc72

📥 Commits

Reviewing files that changed from the base of the PR and between 85e363e and c76a416.

📒 Files selected for processing (36)
  • AGENTS.md
  • en/api-reference/loki.md
  • en/api-reference/prometheus.md
  • en/api-reference/tempo.md
  • en/architecture/overview.md
  • en/cookbooks/traces-end-to-end.md
  • en/faq.md
  • en/getting-started/quickstart.md
  • en/guides/grafana-integration.md
  • en/guides/querying.md
  • en/index.yaml
  • en/toc.yaml
  • en/trademarks.md
  • fr/api-reference/loki.md
  • fr/api-reference/prometheus.md
  • fr/api-reference/tempo.md
  • fr/architecture/overview.md
  • fr/getting-started/quickstart.md
  • fr/guides/grafana-integration.md
  • fr/guides/querying.md
  • fr/index.yaml
  • fr/toc.yaml
  • fr/trademarks.md
  • llms-full.txt
  • llms.txt
  • package.json
  • ru/api-reference/loki.md
  • ru/api-reference/prometheus.md
  • ru/api-reference/tempo.md
  • ru/architecture/overview.md
  • ru/getting-started/quickstart.md
  • ru/guides/grafana-integration.md
  • ru/guides/querying.md
  • ru/index.yaml
  • ru/toc.yaml
  • ru/trademarks.md

Comment thread en/api-reference/tempo.md Outdated
Comment thread en/faq.md Outdated
Comment thread en/guides/grafana-integration.md
Comment thread en/trademarks.md Outdated
Comment thread en/trademarks.md Outdated
Comment thread fr/api-reference/loki.md Outdated
Comment thread fr/guides/querying.md Outdated
Comment thread fr/trademarks.md Outdated
Comment thread llms-full.txt Outdated
Comment thread ru/trademarks.md Outdated
…l documentation for improved parameterization and reusability

@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: 12

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

🟡 Minor comments (10)
ru/guides/grafana-integration.md-14-14 (1)

14-14: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Name port 9090 as the Prometheus API port.

Line 14 describes 9090 as the metrics port. This can direct users to the wrong endpoint. State that 9090 is the Prometheus API port and reserve 9091 for the metrics port.

Proposed wording
- Prometheus для метрик (порт 9090)
+ API Prometheus для метрик (порт 9090; порт метрик — 9091)

As per coding guidelines, use metrics port 9091 and Prometheus API port 9090.

🤖 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 `@ru/guides/grafana-integration.md` at line 14, Обновите описание портов в
руководстве Grafana: в тексте подключения к {{product_name}} укажите 9090 как
порт API Prometheus, а 9091 зарезервируйте для метрик. Сохраните остальные
сведения о Loki и Tempo без изменений.

Source: Coding guidelines

c4/workspace.dsl-89-89 (1)

89-89: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Point Trino at the REST catalog endpoint.

icegate.catalogStore is the catalog-state backend. It does not expose the REST API. Line 89 therefore shows Trino using Iceberg REST against the wrong target.

Point this relationship to icegate.s3Catalog when its optional REST API is enabled. If Trino uses Nessie instead, model Nessie as a separate external REST catalog.

Proposed fix
-        trino -> icegate.catalogStore "Reads table metadata (REST catalog only)" "Iceberg REST"
+        trino -> icegate.s3Catalog "Reads table metadata when the REST API is enabled" "Iceberg REST"
🤖 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 `@c4/workspace.dsl` at line 89, Update the Trino relationship in the workspace
model so its Iceberg REST connection targets icegate.s3Catalog only when that
component’s optional REST API is enabled, rather than icegate.catalogStore. If
the configuration uses Nessie, model Nessie as a separate external REST catalog
instead.
fr/guides/ingestion.md-25-25 (1)

25-25: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use one French spelling for the multi prefix.

  • fr/guides/ingestion.md#L25-L25: replace multi-tenant with multitenant.
  • fr/guides/multi-tenancy.md#L14-L14: replace multi-tenant with multitenant.
🤖 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 `@fr/guides/ingestion.md` at line 25, Use the consistent French spelling
“multitenant” by replacing “multi-tenant” in fr/guides/ingestion.md lines 25-25
and fr/guides/multi-tenancy.md lines 14-14; no other wording changes are needed.

Source: Linters/SAST tools

fr/operations/troubleshooting.md-276-276 (1)

276-276: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the repository URL literal in the link target.

Replace {{repo_url}} with the configured literal repository URL. .yfm variables are allowed in prose but not in Markdown link targets.

As per coding guidelines, .yfm variables must not appear in link targets.

🤖 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 `@fr/operations/troubleshooting.md` at line 276, Update the GitHub Issues link
in the troubleshooting documentation to replace the {{repo_url}} template
variable with the configured literal repository URL, while preserving the
visible link text.

Source: Coding guidelines

ru/architecture/overview.md-133-133 (1)

133-133: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use a natural Russian phrase for resume behavior.

Replace shift'у продолжить с места остановки with процессу shift возобновить работу с места остановки.

Based on learnings from the provided static-analysis hint, correct this sentence.

🤖 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 `@ru/architecture/overview.md` at line 133, В предложении с описанием
освобождения сегментов WAL замените неестественную фразу «shift'у продолжить с
места остановки» на «процессу shift возобновить работу с места остановки»,
сохранив остальной смысл предложения без изменений.

Source: Linters/SAST tools

en/development/setup.md-61-61 (1)

61-61: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Use the canonical default catalog name and selector.

These descriptions use generic “S3 catalog” wording and omit backend: !s3. State {{product_name}} S3 in prose and include backend: !s3. In fenced code comments, use the literal IceGate S3; do not place YFM variables inside code fences.

  • en/development/setup.md#L61-L61: update the fenced profile comment to IceGate S3 (backend: !s3).
  • en/development/setup.md#L90-L104: identify the default catalog as {{product_name}} S3 and show backend: !s3.
  • en/development/contributing.md#L103-L111: update the fenced workspace comment to identify the default as IceGate S3.
  • ru/architecture/overview.md#L79-L83: identify the default backend as {{product_name}} S3 with backend: !s3.
  • ru/architecture/overview.md#L102-L104: use the same canonical catalog name in the technology table.

As per coding guidelines, documentation must identify IceGate S3 (backend: !s3) as the default catalog.

🤖 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 `@en/development/setup.md` at line 61, Update en/development/setup.md lines
61-61 to label the fenced profile “IceGate S3 (backend: !s3)”; update
en/development/setup.md lines 90-104 to name the default catalog
“{{product_name}} S3” and include “backend: !s3”. Update
en/development/contributing.md lines 103-111 to use “IceGate S3” in the fenced
workspace comment. Update ru/architecture/overview.md lines 79-83 to identify
“{{product_name}} S3” with “backend: !s3”, and lines 102-104 to use the same
canonical catalog name; keep YFM variables out of fenced code comments.

Source: Coding guidelines

ru/architecture/data-model.md-14-14 (1)

14-14: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Align the LLM-operation storage description with the data model.

ru/architecture/overview.md says {{product_name}} stores LLM operations, but ru/architecture/data-model.md only documents logs, spans, events, and metrics. Either state that LLM operations are stored in events, or add the missing Iceberg table and schema details, then update the overview with the same terms.

🤖 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 `@ru/architecture/data-model.md` at line 14, Align the storage terminology
across ru/architecture/data-model.md:14-14 and ru/architecture/overview.md:8-8:
either document LLM operations as being stored in the existing events table, or
add the corresponding Iceberg table and schema details, then use the same
terminology in both documents.
en/faq.md-210-210 (1)

210-210: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the repository URL literal in the link target.

{{repo_url}} appears inside the Markdown link destination. Use the literal repository issues URL instead.

As per coding guidelines, never substitute .yfm variables inside link targets; keep repository URLs literal.

🤖 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 `@en/faq.md` at line 210, Update the GitHub Issues link in the FAQ to replace
the {{repo_url}} template variable in both the link destination and displayed
URL with the literal repository issues URL, preserving the existing link text
and Markdown structure.

Source: Coding guidelines

en/operations/deployment.md-158-158 (1)

158-158: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Make Helm the primary installation path in both deployment guides.

Both guides present Docker Compose before Helm. Move the Helm section before Docker Compose, or label Docker Compose as secondary and link to Helm as the default path.

  • en/operations/deployment.md#L158-L158: Present Helm before Docker Compose or identify Helm as the default installation method.
  • ru/operations/deployment.md#L158-L158: Present Helm before Docker Compose or identify Helm as the default installation method.

As per coding guidelines, documentation must use Helm as the primary installation method.

🤖 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 `@en/operations/deployment.md` at line 158, Make Helm the primary installation
method in both deployment guides: in en/operations/deployment.md lines 158-158
and ru/operations/deployment.md lines 158-158, move the Helm section before
Docker Compose or clearly label Docker Compose as secondary while linking to
Helm as the default path.

Source: Coding guidelines

ru/getting-started/quickstart.md-8-8 (1)

8-8: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Clarify the unsupported Prometheus data source.

Line 8 says the Quick Start covers querying logs, traces, and metrics through API and Grafana. The rest of this file avoids the Prometheus data source, but line 8 still implies it is supported. Limit the quick-start summary to Loki, Tempo, and Arrow Flight SQL, or mark metrics querying via Prometheus as planned.

🤖 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 `@ru/getting-started/quickstart.md` at line 8, Update the quick-start summary
sentence to avoid implying Prometheus support: limit the listed query paths to
Loki, Tempo, and Arrow Flight SQL, or explicitly mark Prometheus metrics
querying as planned.
🧹 Nitpick comments (2)
c4/README.md (1)

56-56: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add a language identifier to the fenced tree.

markdownlint reports MD040 for this fence. Use text to classify the workspace tree.

Proposed fix
-```
+```text
 workspace.dsl
🤖 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 `@c4/README.md` at line 56, Update the fenced workspace tree in the README to
include the text language identifier, changing the opening fence to text while
preserving the existing tree content.

Source: Linters/SAST tools

en/architecture/overview.md (1)

131-133: 🩺 Stability & Availability | 🔵 Trivial

Make lifecycle-based WAL reclamation an explicit deployment contract.

  • en/architecture/overview.md#L131-L133: verify that every supported deployment provisions the queue-bucket lifecycle rule.
  • fr/operations/maintenance.md#L55-L57: document the same lifecycle requirement and its retention policy.
🤖 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 `@en/architecture/overview.md` around lines 131 - 133, Make lifecycle-based WAL
reclamation an explicit deployment contract in en/architecture/overview.md lines
131-133 by stating that every supported deployment must provision a lifecycle
rule for the queue bucket. In fr/operations/maintenance.md lines 55-57, document
the same queue-bucket lifecycle requirement and specify its retention policy.
🤖 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 `@en/architecture/overview.md`:
- Line 8: Update the architecture documentation so the data model consistently
covers LLM operations: add the corresponding LLM table/schema to
en/architecture/data-model.md alongside logs, spans, events, and metrics, or
remove “LLM operations” from the overview if no documented schema exists.

In `@en/development/contributing.md`:
- Around line 103-111: The Query service descriptions in
en/development/contributing.md lines 103-111 and en/development/setup.md lines
157-159 must identify Prometheus as unavailable except for /-/ready, with other
Prometheus routes returning 501. Update both summaries consistently without
changing the other service descriptions.

In `@en/faq.md`:
- Line 12: Update the Prometheus availability statement in the FAQ to reflect
the implemented prometheus.enabled configuration and port 9090 endpoint. Align
the wording and linked API/configuration references with the actual
Prometheus-compatible behavior, removing the claim that it is planned but
unavailable.

In `@en/getting-started/installation.md`:
- Around line 112-114: Update the minimal installation examples in
en/getting-started/installation.md lines 112-114 and
ru/getting-started/installation.md lines 112-114 to use the declared default
IceGate S3 catalog with backend: !s3 instead of the REST/Nessie configuration.
Keep both guides consistent and aligned with the prerequisites so the default
Helm installation does not require an external service.

In `@en/guides/data-retention.md`:
- Around line 22-32: Align the queue bucket name across both lifecycle
configuration examples in the data-retention guide. Update the RustFS command to
use the configured bucket name consistently with the AWS example, or clearly
mark icegate-queue as an environment-specific value users must replace.

In `@fr/getting-started/configuration.md`:
- Line 197: Update the complete Ingest, Query, and Maintain configuration
examples to use the integrated S3 catalog with backend !s3, matching the
documented RustFS default; remove the Nessie-specific !rest catalog settings
unless those examples are explicitly labeled as optional Nessie configurations.

In `@fr/operations/deployment.md`:
- Around line 12-13: Update the troubleshooting guidance referenced by
deployment documentation so Nessie port 19120 and backend: !rest checks are
explicitly limited to REST/Nessie deployments, and add equivalent
troubleshooting steps for the integrated S3 catalog default. Ensure the guidance
matches the catalog options described in deployment.md.
- Line 70: Update the RustFS image tag in the deployment configuration from
rustfs/rustfs:1.0.0-beta.8 to a later patched beta release, or document the
requirement and add tests validating why beta.8 must remain.

In `@fr/operations/troubleshooting.md`:
- Around line 64-72: Separate the RustFS-specific health-check guidance from the
generic object-storage troubleshooting section in the documentation. Restrict
curl http://localhost:9000/health/ready and any local endpoint aws s3 ls example
to the pinned rustfs/rustfs:1.0.0-beta.8 deployment, while keeping AWS S3, AWS
S3 Tables, and external S3 troubleshooting provider-agnostic.

In `@llms-full.txt`:
- Around line 18-19: Update the catalog documentation to consistently present
IceGate’s S3 catalog (backend: !s3) as the default: describe root.json and
catalog metadata as stored in object storage, and label Nessie metadata and
backup procedures as an alternative rather than default guidance.
- Around line 1614-1622: Update the Grafana migration guidance around the final
compatibility claim to avoid guaranteeing that all dashboards, alerting rules,
and saved queries will work. Limit the guarantee to documented compatible Loki
read endpoints and tested queries, while preserving the existing data-source
setup steps.
- Around line 2162-2172: Update the queue-bucket lifecycle guidance and its
repeated AWS S3 examples to state that the TTL must exceed the maximum
unshifted-WAL recovery window, preventing segments from expiring before offsets
are committed. Replace the fixed one-day recommendation with a configurable,
appropriately chosen TTL and document the precondition that lifecycle expiration
is safe only after that window.

---

Minor comments:
In `@c4/workspace.dsl`:
- Line 89: Update the Trino relationship in the workspace model so its Iceberg
REST connection targets icegate.s3Catalog only when that component’s optional
REST API is enabled, rather than icegate.catalogStore. If the configuration uses
Nessie, model Nessie as a separate external REST catalog instead.

In `@en/development/setup.md`:
- Line 61: Update en/development/setup.md lines 61-61 to label the fenced
profile “IceGate S3 (backend: !s3)”; update en/development/setup.md lines 90-104
to name the default catalog “{{product_name}} S3” and include “backend: !s3”.
Update en/development/contributing.md lines 103-111 to use “IceGate S3” in the
fenced workspace comment. Update ru/architecture/overview.md lines 79-83 to
identify “{{product_name}} S3” with “backend: !s3”, and lines 102-104 to use the
same canonical catalog name; keep YFM variables out of fenced code comments.

In `@en/faq.md`:
- Line 210: Update the GitHub Issues link in the FAQ to replace the {{repo_url}}
template variable in both the link destination and displayed URL with the
literal repository issues URL, preserving the existing link text and Markdown
structure.

In `@en/operations/deployment.md`:
- Line 158: Make Helm the primary installation method in both deployment guides:
in en/operations/deployment.md lines 158-158 and ru/operations/deployment.md
lines 158-158, move the Helm section before Docker Compose or clearly label
Docker Compose as secondary while linking to Helm as the default path.

In `@fr/guides/ingestion.md`:
- Line 25: Use the consistent French spelling “multitenant” by replacing
“multi-tenant” in fr/guides/ingestion.md lines 25-25 and
fr/guides/multi-tenancy.md lines 14-14; no other wording changes are needed.

In `@fr/operations/troubleshooting.md`:
- Line 276: Update the GitHub Issues link in the troubleshooting documentation
to replace the {{repo_url}} template variable with the configured literal
repository URL, while preserving the visible link text.

In `@ru/architecture/data-model.md`:
- Line 14: Align the storage terminology across
ru/architecture/data-model.md:14-14 and ru/architecture/overview.md:8-8: either
document LLM operations as being stored in the existing events table, or add the
corresponding Iceberg table and schema details, then use the same terminology in
both documents.

In `@ru/architecture/overview.md`:
- Line 133: В предложении с описанием освобождения сегментов WAL замените
неестественную фразу «shift'у продолжить с места остановки» на «процессу shift
возобновить работу с места остановки», сохранив остальной смысл предложения без
изменений.

In `@ru/getting-started/quickstart.md`:
- Line 8: Update the quick-start summary sentence to avoid implying Prometheus
support: limit the listed query paths to Loki, Tempo, and Arrow Flight SQL, or
explicitly mark Prometheus metrics querying as planned.

In `@ru/guides/grafana-integration.md`:
- Line 14: Обновите описание портов в руководстве Grafana: в тексте подключения
к {{product_name}} укажите 9090 как порт API Prometheus, а 9091 зарезервируйте
для метрик. Сохраните остальные сведения о Loki и Tempo без изменений.

---

Nitpick comments:
In `@c4/README.md`:
- Line 56: Update the fenced workspace tree in the README to include the text
language identifier, changing the opening fence to text while preserving the
existing tree content.

In `@en/architecture/overview.md`:
- Around line 131-133: Make lifecycle-based WAL reclamation an explicit
deployment contract in en/architecture/overview.md lines 131-133 by stating that
every supported deployment must provision a lifecycle rule for the queue bucket.
In fr/operations/maintenance.md lines 55-57, document the same queue-bucket
lifecycle requirement and specify its retention policy.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ba5df08-1b59-4818-abb8-04087baa73f7

📥 Commits

Reviewing files that changed from the base of the PR and between c76a416 and 8cac006.

⛔ Files ignored due to path filters (7)
  • assets/c4/structurizr-CatalogComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-Containers.png is excluded by !**/*.png
  • assets/c4/structurizr-IngestComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-MaintainComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-QueryComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-QueueComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-SystemContext.png is excluded by !**/*.png
📒 Files selected for processing (88)
  • .yfm
  • AGENTS.md
  • c4/README.md
  • c4/workspace.dsl
  • en/api-reference/loki.md
  • en/api-reference/otlp.md
  • en/api-reference/prometheus.md
  • en/api-reference/tempo.md
  • en/architecture/data-model.md
  • en/architecture/overview.md
  • en/cookbooks/centralized-logging.md
  • en/cookbooks/observability-correlation.md
  • en/cookbooks/traces-end-to-end.md
  • en/development/building.md
  • en/development/contributing.md
  • en/development/patterns.md
  • en/development/setup.md
  • en/faq.md
  • en/getting-started/configuration.md
  • en/getting-started/installation.md
  • en/getting-started/quickstart.md
  • en/guides/data-retention.md
  • en/guides/grafana-integration.md
  • en/guides/ingestion.md
  • en/guides/multi-tenancy.md
  • en/guides/performance-tuning.md
  • en/guides/querying.md
  • en/operations/deployment.md
  • en/operations/maintenance.md
  • en/operations/troubleshooting.md
  • en/trademarks.md
  • fr/api-reference/loki.md
  • fr/api-reference/otlp.md
  • fr/api-reference/prometheus.md
  • fr/api-reference/tempo.md
  • fr/architecture/data-model.md
  • fr/architecture/overview.md
  • fr/cookbooks/centralized-logging.md
  • fr/cookbooks/observability-correlation.md
  • fr/cookbooks/traces-end-to-end.md
  • fr/development/building.md
  • fr/development/contributing.md
  • fr/development/patterns.md
  • fr/development/setup.md
  • fr/faq.md
  • fr/getting-started/configuration.md
  • fr/getting-started/installation.md
  • fr/getting-started/quickstart.md
  • fr/guides/data-retention.md
  • fr/guides/grafana-integration.md
  • fr/guides/ingestion.md
  • fr/guides/multi-tenancy.md
  • fr/guides/performance-tuning.md
  • fr/guides/querying.md
  • fr/operations/deployment.md
  • fr/operations/maintenance.md
  • fr/operations/troubleshooting.md
  • fr/trademarks.md
  • llms-full.txt
  • llms.txt
  • package.json
  • ru/api-reference/loki.md
  • ru/api-reference/otlp.md
  • ru/api-reference/prometheus.md
  • ru/api-reference/tempo.md
  • ru/architecture/data-model.md
  • ru/architecture/overview.md
  • ru/cookbooks/centralized-logging.md
  • ru/cookbooks/observability-correlation.md
  • ru/cookbooks/traces-end-to-end.md
  • ru/development/building.md
  • ru/development/contributing.md
  • ru/development/patterns.md
  • ru/development/setup.md
  • ru/faq.md
  • ru/getting-started/configuration.md
  • ru/getting-started/installation.md
  • ru/getting-started/quickstart.md
  • ru/guides/data-retention.md
  • ru/guides/grafana-integration.md
  • ru/guides/ingestion.md
  • ru/guides/multi-tenancy.md
  • ru/guides/performance-tuning.md
  • ru/guides/querying.md
  • ru/operations/deployment.md
  • ru/operations/maintenance.md
  • ru/operations/troubleshooting.md
  • ru/trademarks.md
🚧 Files skipped from review as they are similar to previous changes (17)
  • en/trademarks.md
  • fr/guides/grafana-integration.md
  • en/guides/querying.md
  • ru/api-reference/tempo.md
  • en/cookbooks/traces-end-to-end.md
  • fr/api-reference/prometheus.md
  • fr/api-reference/tempo.md
  • fr/api-reference/loki.md
  • en/api-reference/prometheus.md
  • ru/api-reference/prometheus.md
  • en/api-reference/loki.md
  • fr/guides/querying.md
  • ru/trademarks.md
  • en/api-reference/tempo.md
  • ru/guides/querying.md
  • package.json
  • ru/api-reference/loki.md

Comment thread en/architecture/overview.md
Comment thread en/development/contributing.md
Comment thread en/faq.md
Comment thread en/getting-started/installation.md
Comment thread en/guides/data-retention.md
Comment thread fr/operations/deployment.md
Comment thread fr/operations/troubleshooting.md
Comment thread llms-full.txt
Comment thread llms-full.txt Outdated
Comment thread llms-full.txt
…etails, and semantic additions for LLM operations

@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: 8

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
c4/workspace.dsl (1)

59-61: 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Model non-S3 catalog backends separately.

catalogStore lists Nessie, Glue, and S3 Tables, but s3Catalog and catalogService are described as a root.json implementation, and the storage relationship says “Reads and CAS-writes catalog state.” That description is correct only for the default !s3 backend. Show the backend abstraction and backend-specific relationships, or scope these elements to !s3; otherwise the architecture contradicts the configuration documentation.

Also applies to: 78-79, 127-129, 175-179

🤖 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 `@c4/workspace.dsl` around lines 59 - 61, Update the catalog model around
catalogStore, s3Catalog, catalogService, catalogCache, and catalogStorage to
distinguish the default root.json backend from Nessie, Glue, and S3 Tables.
Represent the backend abstraction and backend-specific relationships explicitly,
or scope the root.json components and their read/CAS-write relationships to the
!s3 configuration so the architecture matches the documented backend selection.
en/operations/troubleshooting.md (1)

69-85: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Use provider-specific endpoints in all S3 troubleshooting commands.

These procedures hard-code the local RustFS endpoint while presenting the commands as generic S3 checks. Omit --endpoint-url for AWS S3, use the configured endpoint for other providers, and reserve localhost:9000 for local RustFS.

  • en/operations/troubleshooting.md#L69-L85: Separate the local RustFS readiness check from the external-provider S3 test.
  • en/operations/troubleshooting.md#L97-L121: Apply the same endpoint rule to the root.json catalog check.
  • ru/operations/troubleshooting.md#L68-L85: Separate the local RustFS readiness check from the external-provider S3 test.
  • ru/operations/troubleshooting.md#L96-L120: Apply the same endpoint rule to the root.json catalog check.
  • fr/operations/troubleshooting.md#L69-L85: Separate the local RustFS readiness check from the external-provider S3 test.
  • fr/operations/troubleshooting.md#L97-L121: Apply the same endpoint rule to the root.json catalog check.
🤖 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 `@en/operations/troubleshooting.md` around lines 69 - 85, Update the
troubleshooting commands to distinguish local RustFS readiness checks from
external-provider S3 tests: retain localhost:9000 only for the local RustFS
readiness path, omit --endpoint-url for AWS S3, and use the configured provider
endpoint elsewhere. Apply this to en/operations/troubleshooting.md lines 69-85
and 97-121, ru/operations/troubleshooting.md lines 68-85 and 96-120, and
fr/operations/troubleshooting.md lines 69-85 and 97-121, including the root.json
catalog checks.
en/guides/grafana-integration.md (1)

109-113: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove the non-functional Prometheus provisioning entry.

The provisioning example at Lines 178-186 still creates a Prometheus data source, but every Prometheus route except /-/ready returns 501 Not Implemented. Remove that entry from the current provisioning example or mark it as future-only.

🤖 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 `@en/guides/grafana-integration.md` around lines 109 - 113, Remove the
Prometheus data source provisioning entry from the current example, or clearly
isolate it as future-only so the active provisioning configuration does not
create a non-functional source. Preserve the existing Loki and Arrow Flight SQL
provisioning guidance.
ru/architecture/overview.md (1)

48-50: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Make the Arrow Flight SQL tenant guarantee observable.

ru/architecture/overview.md states Flight SQL applies tenant_id on every scan, and the same wording appears in fr/architecture/overview.md. Add an explicit failure path for missing or invalid X-Scope-OrgID / x-scope-orgid, even on prepared statements, so JDBC, ODBC, and ADBC clients cannot fall back to an unfiltered scan.

🤖 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 `@ru/architecture/overview.md` around lines 48 - 50, Update the Arrow Flight
SQL request handling described in the architecture documentation to require a
valid tenant from X-Scope-OrgID or x-scope-orgid, including prepared statements,
and explicitly reject requests when it is missing or invalid before any scan
executes. Apply the same documented behavior in the corresponding French
architecture overview so clients cannot perform unfiltered scans.
🧹 Nitpick comments (1)
en/architecture/data-model.md (1)

323-354: 🔒 Security & Privacy | 🔵 Trivial

Verify privacy controls for persisted operation content.

operations stores user_id and raw prompt, completion, system-instruction, tool-argument, and tool-result JSON. These values can contain personal data or secrets. Confirm that retention, redaction, access-control, and encryption guidance covers these columns, and link that guidance from this schema.

🤖 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 `@en/architecture/data-model.md` around lines 323 - 354, Update the operations
schema documentation around user_id and the content fields input_messages,
output_messages, system_instructions, tool_call_arguments, and tool_call_result
to reference guidance covering retention, redaction, access control, and
encryption for persisted sensitive data. Add the link from this schema section
to the established privacy or security guidance without changing the column
definitions.
🤖 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 `@en/architecture/data-model.md`:
- Around line 294-323: Add the missing pricing join dimensions to the operations
schema or document their authoritative sources: define how
provider_name/request_model map to prices.provider/model, expose service_tier
and region, and map token usage to min_input_tokens. Document the deterministic
rate-selection rule used to select a prices record for each operation.

In `@en/guides/data-retention.md`:
- Around line 233-237: Align the bucket reference in the catalog backup guidance
with the versioning configuration for icegate-warehouse, or clearly mark both
bucket names as environment-specific placeholders users must replace. Update the
surrounding S3 backup instructions while preserving the catalog prefix and sync
behavior.

In `@en/operations/maintenance.md`:
- Around line 148-154: The S3 catalog backup instructions incorrectly present a
live aws s3 sync as a safe backup boundary. Update the corresponding
catalog-backup sections in en/operations/maintenance.md lines 148-154,
ru/operations/maintenance.md lines 148-154, and fr/operations/maintenance.md
lines 150-156 to require pausing catalog writes, taking a
versioned/object-versioned snapshot, or performing restore verification before
treating the backup as safe.

In `@fr/architecture/data-model.md`:
- Around line 24-25: Update the introduction and common-pattern statements in
the French data-model documentation to reflect six tables and clarify that
tenant_id applies to tenant-scoped tables, excluding the global prices table.
Preserve the existing table descriptions and terminology.

In `@fr/getting-started/installation.md`:
- Line 44: In the prose sentence describing the native serde configuration
format, replace the hard-coded “IceGate” reference with the existing
{{product_name}} variable; leave all copy-pastable Helm and configuration syntax
unchanged.

In `@ru/architecture/data-model.md`:
- Around line 24-25: Update the data-model partitioning rule near the statement
that every table uses tenant_id so it explicitly applies only to tenant-scoped
tables, while preserving prices as a global table without tenant_id.

In `@ru/architecture/overview.md`:
- Line 145: Update the migration architecture description to remove the claim
that independent cycles never compete; clarify that task-state prefixes isolate
only their state objects, while compaction and orphaned-object GC may contend
over shared Iceberg metadata, data objects, or catalog commits, and document the
applicable conflict-handling mechanism.
- Line 139: Обновите описание рядом с упоминанием Shift в
ru/architecture/overview.md: явно зафиксируйте, что WAL-сегменты сохраняются до
прохождения их офсета подтверждённым Iceberg-снапшотом, включая случаи
задержанного или неуспешного Shift; сохраните пояснение, что освобождение
выполняет lifecycle-правило бакета, а офсет позволяет продолжить обработку.

---

Outside diff comments:
In `@c4/workspace.dsl`:
- Around line 59-61: Update the catalog model around catalogStore, s3Catalog,
catalogService, catalogCache, and catalogStorage to distinguish the default
root.json backend from Nessie, Glue, and S3 Tables. Represent the backend
abstraction and backend-specific relationships explicitly, or scope the
root.json components and their read/CAS-write relationships to the !s3
configuration so the architecture matches the documented backend selection.

In `@en/guides/grafana-integration.md`:
- Around line 109-113: Remove the Prometheus data source provisioning entry from
the current example, or clearly isolate it as future-only so the active
provisioning configuration does not create a non-functional source. Preserve the
existing Loki and Arrow Flight SQL provisioning guidance.

In `@en/operations/troubleshooting.md`:
- Around line 69-85: Update the troubleshooting commands to distinguish local
RustFS readiness checks from external-provider S3 tests: retain localhost:9000
only for the local RustFS readiness path, omit --endpoint-url for AWS S3, and
use the configured provider endpoint elsewhere. Apply this to
en/operations/troubleshooting.md lines 69-85 and 97-121,
ru/operations/troubleshooting.md lines 68-85 and 96-120, and
fr/operations/troubleshooting.md lines 69-85 and 97-121, including the root.json
catalog checks.

In `@ru/architecture/overview.md`:
- Around line 48-50: Update the Arrow Flight SQL request handling described in
the architecture documentation to require a valid tenant from X-Scope-OrgID or
x-scope-orgid, including prepared statements, and explicitly reject requests
when it is missing or invalid before any scan executes. Apply the same
documented behavior in the corresponding French architecture overview so clients
cannot perform unfiltered scans.

---

Nitpick comments:
In `@en/architecture/data-model.md`:
- Around line 323-354: Update the operations schema documentation around user_id
and the content fields input_messages, output_messages, system_instructions,
tool_call_arguments, and tool_call_result to reference guidance covering
retention, redaction, access control, and encryption for persisted sensitive
data. Add the link from this schema section to the established privacy or
security guidance without changing the column definitions.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 418daa5f-8d48-4539-83a8-55990b6ba467

📥 Commits

Reviewing files that changed from the base of the PR and between 8cac006 and 9ee1bd5.

⛔ Files ignored due to path filters (7)
  • assets/c4/structurizr-CatalogComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-IngestComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-IngestionFlow.png is excluded by !**/*.png
  • assets/c4/structurizr-MaintenanceFlow.png is excluded by !**/*.png
  • assets/c4/structurizr-QueryComponents.png is excluded by !**/*.png
  • assets/c4/structurizr-QueryFlow.png is excluded by !**/*.png
  • assets/c4/structurizr-QueueComponents.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • c4/README.md
  • c4/workspace.dsl
  • en/architecture/data-model.md
  • en/architecture/overview.md
  • en/development/contributing.md
  • en/development/setup.md
  • en/getting-started/configuration.md
  • en/getting-started/installation.md
  • en/guides/data-retention.md
  • en/guides/grafana-integration.md
  • en/operations/maintenance.md
  • en/operations/troubleshooting.md
  • fr/architecture/data-model.md
  • fr/architecture/overview.md
  • fr/development/contributing.md
  • fr/development/setup.md
  • fr/getting-started/configuration.md
  • fr/getting-started/installation.md
  • fr/operations/maintenance.md
  • fr/operations/troubleshooting.md
  • fr/trademarks.md
  • llms-full.txt
  • ru/architecture/data-model.md
  • ru/architecture/overview.md
  • ru/development/setup.md
  • ru/getting-started/configuration.md
  • ru/getting-started/installation.md
  • ru/operations/maintenance.md
  • ru/operations/troubleshooting.md
  • ru/trademarks.md
🚧 Files skipped from review as they are similar to previous changes (13)
  • fr/trademarks.md
  • c4/README.md
  • en/development/contributing.md
  • ru/trademarks.md
  • en/getting-started/installation.md
  • fr/development/contributing.md
  • ru/getting-started/installation.md
  • en/development/setup.md
  • fr/development/setup.md
  • ru/development/setup.md
  • en/architecture/overview.md
  • fr/architecture/overview.md
  • llms-full.txt

Comment thread en/architecture/data-model.md
Comment thread en/guides/data-retention.md
Comment thread en/operations/maintenance.md
Comment thread fr/architecture/data-model.md Outdated
Comment thread fr/getting-started/installation.md Outdated
Comment thread ru/architecture/data-model.md Outdated
Comment thread ru/architecture/overview.md
Comment thread ru/architecture/overview.md Outdated
…ed tables, pricing data model, and retention durability impacts

@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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
fr/architecture/overview.md (1)

79-81: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Document the native catalog tag.

This page names the S3 catalog as the default, but it does not show backend: !s3. Add a short native configuration example or state the exact tagged-enum value. Keep REST/Nessie, AWS S3 Tables, and AWS Glue as alternatives.

As per coding guidelines, **/*.{md,yaml,yml} files must use IceGate's YAML tagged-enum syntax and document !s3 as the default catalog backend; Nessie, Glue, and S3 Tables are alternatives.

🤖 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 `@fr/architecture/overview.md` around lines 79 - 81, Update the catalog backend
documentation near the default and alternative backend bullets to include a
short native configuration example or explicitly state the tagged-enum value
`backend: !s3`. Preserve REST/Nessie, AWS S3 Tables, and AWS Glue as alternative
backends, and use IceGate’s YAML tagged-enum syntax consistently.

Source: Coding guidelines

llms-full.txt (1)

2429-2435: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Use one correct S3 catalog backup procedure across all documentation.

S3 versioning is per object, so bucket or prefix version lists do not create a single consistent snapshot of root.json plus table metadata files. root.json CAS does not make a prefix sync atomic. Update the backup guidance at llms-full.txt#L2429-L2435, llms-full.txt#L5349-L5351, and ru/operations/maintenance.md#L154 to require writes quiesced or a cutoff-based object-version manifest copy, then keep backfilling the same validation steps.

🤖 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 `@llms-full.txt` around lines 2429 - 2435, Update the S3 catalog backup
guidance at llms-full.txt lines 2429-2435 and 5350, and
ru/operations/maintenance.md lines 148-156, to use one consistent procedure:
require catalog writes to be quiesced or copy a cutoff-based manifest of object
versions for root.json and all table metadata. Remove claims that S3 sync or
root.json CAS provides an atomic consistent snapshot, and preserve the existing
validation steps while backfilling them consistently at every site.
🤖 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 `@llms-full.txt`:
- Around line 4668-4765: Add an operations-specific privacy-controls section
near the Operations Table documenting collection scope, redaction or masking
guidance, access boundaries, storage encryption, retention, and deletion
behavior for input_messages, output_messages, system_instructions,
tool_call_arguments, tool_call_result, and user_id. Reference the existing
tenant-isolation and data-retention documentation only for generic controls,
while explicitly describing protections for prompts, completions, tool payloads,
and PII.

---

Outside diff comments:
In `@fr/architecture/overview.md`:
- Around line 79-81: Update the catalog backend documentation near the default
and alternative backend bullets to include a short native configuration example
or explicitly state the tagged-enum value `backend: !s3`. Preserve REST/Nessie,
AWS S3 Tables, and AWS Glue as alternative backends, and use IceGate’s YAML
tagged-enum syntax consistently.

In `@llms-full.txt`:
- Around line 2429-2435: Update the S3 catalog backup guidance at llms-full.txt
lines 2429-2435 and 5350, and ru/operations/maintenance.md lines 148-156, to use
one consistent procedure: require catalog writes to be quiesced or copy a
cutoff-based manifest of object versions for root.json and all table metadata.
Remove claims that S3 sync or root.json CAS provides an atomic consistent
snapshot, and preserve the existing validation steps while backfilling them
consistently at every site.
🪄 Autofix

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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 826ac088-b254-41c1-9636-5aea1e3aae3c

📥 Commits

Reviewing files that changed from the base of the PR and between 9ee1bd5 and 29508dc.

📒 Files selected for processing (13)
  • en/architecture/data-model.md
  • en/architecture/overview.md
  • en/guides/data-retention.md
  • en/operations/maintenance.md
  • fr/architecture/data-model.md
  • fr/architecture/overview.md
  • fr/getting-started/installation.md
  • fr/operations/maintenance.md
  • llms-full.txt
  • ru/architecture/data-model.md
  • ru/architecture/overview.md
  • ru/getting-started/installation.md
  • ru/operations/maintenance.md
🚧 Files skipped from review as they are similar to previous changes (8)
  • ru/getting-started/installation.md
  • ru/architecture/data-model.md
  • en/architecture/overview.md
  • en/guides/data-retention.md
  • en/operations/maintenance.md
  • fr/operations/maintenance.md
  • en/architecture/data-model.md
  • ru/architecture/overview.md

Comment thread llms-full.txt
@frisbeeman
frisbeeman merged commit 5ee069b into main Aug 9, 2026
2 checks passed
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.

2 participants