Skip to content

ENG-2100: Add SAP HANA CDC to ClickHouse guide#3439

Open
514Ben wants to merge 9 commits intomainfrom
sap-hana-cdc-guide
Open

ENG-2100: Add SAP HANA CDC to ClickHouse guide#3439
514Ben wants to merge 9 commits intomainfrom
sap-hana-cdc-guide

Conversation

@514Ben
Copy link
Contributor

@514Ben 514Ben commented Feb 3, 2026

Summary

Adds comprehensive documentation guide for setting up Change Data Capture (CDC) from SAP HANA to ClickHouse using Moose workflows.

Closes ENG-2100

Changes

  • Created: apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx (594 lines)

    • TL;DR callout with key features
    • Overview section with CDC explanation and Mermaid architecture diagram
    • Prerequisites and Quick Start instructions
    • How CDC Works (triggers, CDC_CHANGES table, client status tracking)
    • Workflows documentation (CDC workflow + Prune workflow)
    • Configuration options with environment variables reference
    • CLI operations reference
    • Troubleshooting section
    • Summary and next steps
  • Modified: apps/framework-docs-v2/src/config/navigation.ts

    • Added navigation entry in Data Management section
    • Configured with IconDatabaseImport icon
    • Set to status: "draft" and languages: ["python"]

Implementation Details

Based on reference implementations:

  • registry/pipeline-registry/sap_hana_cdc_to_clickhouse
  • registry/connector-registry/sap_hana_cdc

Guide covers:

  • Trigger-based CDC for INSERT/UPDATE/DELETE operations
  • Auto-generation of Pydantic models from SAP HANA schema
  • Initial load and incremental sync via Moose workflows
  • Multi-client support for independent progress tracking
  • Complete environment variable configuration
  • CLI operations for initialization, model generation, and CDC management

Test Plan

  • Build passes (pnpm build from monorepo root)
  • Guide renders correctly in local dev server (pnpm dev)
  • Navigation entry appears in Data Management section
  • Mermaid architecture diagram renders
  • All code examples are syntactically correct
  • Links to related docs work correctly

🤖 Generated with Claude Code


Note

Low Risk
Docs-only changes plus navigation/config tweaks; main risk is unintended visibility changes to draft guides via the new Vercel build env flag.

Overview
Adds a new draft guide, guides/sap-hana-cdc-to-clickhouse, documenting an end-to-end SAP HANA→ClickHouse CDC pipeline (trigger-based capture, initial load + incremental sync workflows, multi-client progress tracking, retention/pruning, CLI ops, and troubleshooting).

Updates docs navigation to surface the new draft guide and removes the older draft guides/data-management/change-data-capture entry, and sets NEXT_PUBLIC_NAV_VARIANT=draft in apps/framework-docs-v2/vercel.json for builds.

Written by Cursor Bugbot for commit 72735db. This will update automatically on new commits. Configure here.

Add comprehensive guide for setting up Change Data Capture from SAP HANA to ClickHouse using Moose workflows. Includes trigger-based CDC architecture, auto-generated Pydantic models, initial load and incremental sync workflows, multi-client support, and CLI operations reference.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@linear
Copy link

linear bot commented Feb 3, 2026

@vercel
Copy link

vercel bot commented Feb 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-v2 Ready Ready Preview, Comment Feb 5, 2026 6:14pm

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive guide for setting up SAP HANA Change Data Capture integration with ClickHouse, including architecture diagrams, configuration options, and troubleshooting steps.
    • Updated documentation navigation structure to reorganize guides.

Walkthrough

Adds a new SAP HANA → ClickHouse CDC guide and navigation entry, and sets NEXT_PUBLIC_NAV_VARIANT="draft" in vercel.json build env. No code or public API changes.

Changes

Cohort / File(s) Summary
Navigation
apps/framework-docs-v2/src/config/navigation.ts
Adds a page entry for guides/sap-hana-cdc-to-clickhouse (title: "SAP HANA CDC", languages: ["python"], status: "draft", icon: IconBolt/IconDatabaseImport variant).
Guide content
apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
Adds a full MDX guide (frontmatter, TL;DR callout, architecture mermaid, prerequisites, quick start, workflows: initial load & incremental, prune workflow, env var reference, CLI operations, troubleshooting, monitoring, related links).
Vercel build config
apps/framework-docs-v2/vercel.json
Adds build.env.NEXT_PUBLIC_NAV_VARIANT = "draft" to the Vercel build section.

Sequence Diagram(s)

sequenceDiagram
    participant SAP_HANA as SAP HANA
    participant Triggers as Triggers
    participant CDC_Table as CDC_CHANGES
    participant Reader as CDC Reader
    participant ClickHouse as ClickHouse

    SAP_HANA->>Triggers: DML (INSERT/UPDATE/DELETE)
    Triggers->>CDC_Table: write change event (CHANGE_ID, TABLE_NAME, OLD/NEW)
    Reader->>CDC_Table: poll/read new change events
    Reader->>ClickHouse: apply changes (initial load / incremental)
    Reader->>CDC_Table: update CDC_CLIENT_STATUS (ack/progress)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • release - guides #3322: Navigation/metadata serialization changes that touch the same navigation registration surface.

Suggested reviewers

  • 03cranec
  • callicles

Poem

🌀 Triggers note each tiny change,
Events march onward, neat and strange,
Reader hums and ClickHouse sings,
Docs now map the pipeline's wings,
📚✨ CDC guidance takes the stage.

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Out of Scope Changes check ❓ Inconclusive The Vercel environment variable change (NEXT_PUBLIC_NAV_VARIANT=draft) appears tangentially related but wasn't explicitly required in the linked issue specifications. Clarify whether the vercel.json change is necessary for draft guide visibility or if it introduces unintended scope expansion beyond documentation and navigation updates.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding a SAP HANA CDC to ClickHouse guide documentation.
Description check ✅ Passed The description is directly related to the changeset, detailing the new guide content, navigation updates, and configuration changes.
Linked Issues check ✅ Passed All key requirements from ENG-2100 are met: guide created with required sections (overview, architecture, prerequisites, quick start, CDC mechanics, workflows, CLI operations), navigation entry added with appropriate metadata, and documentation structure follows conventions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sap-hana-cdc-guide

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx`:
- Around line 358-377: The Python code block for setup_table_triggers is missing
the documentation validation directive; update the code fence to include the
`@test` directive so the snippet is validated (change the opening triple backticks
from ```python to ```python `@test`) for the block containing the
setup_table_triggers method that calls _filter_tables_only, _setup_table_cdc,
and _update_table_status and iterates over desired_tables.
- Around line 318-340: The snippet references prune_task_instance but never
defines it and lacks a syntax-validation annotation; create a Task instance
named prune_task_instance that wraps the existing prune_database_task (using
Task and TaskConfig with run=prune_database_task) and ensure the code block is
annotated with `@test` to validate Python syntax; keep the Workflow construction
using Workflow and WorkflowConfig unchanged so starting_task=prune_task_instance
resolves correctly.
- Around line 256-316: Define the sync_changes_task_instance before it's
referenced in initial_load_task_instance and add a `@test` validation to the file;
specifically, create a Task named "sync_changes" using Task and TaskConfig
(referencing run=sync_changes_task) prior to constructing
initial_load_task_instance, then set
initial_load_task_instance.config.on_complete to include that
sync_changes_task_instance (ensure trailing commas and correct TaskConfig
structure) and add the `@test` directive to the file header for validation.
- Around line 523-538: Add the missing `@test` directive to both Python code
fences for the troubleshooting snippets: update the block containing
connector.get_all_table_rows(...) and the block containing
connector.refresh_connection() so their opening fences are ```python `@test`
(i.e., add "@test" to the existing python code fence for the get_all_table_rows
example and the refresh_connection example) to comply with the Python snippet
guideline.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6006b93 and db25e1b.

📒 Files selected for processing (2)
  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
  • apps/framework-docs-v2/src/config/navigation.ts
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Run linting checks before submitting PRs for TypeScript/JavaScript code

**/*.{ts,tsx,js,jsx}: Group imports by external dependencies, internal modules, and types; use named exports from barrel files (index.ts)
Use camelCase for variables and functions, PascalCase for types/classes/components, UPPER_SNAKE_CASE for constants in TypeScript/JavaScript
Prefix unused variables with underscore (e.g., _unusedParam) to bypass linting errors in TypeScript/JavaScript
Format TypeScript/JavaScript code with Prettier using experimentalTernaries: true; auto-formats on commit via Husky + lint-staged

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
apps/framework-docs-v2/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Component library must use shadcn/ui components located in src/components/ui/

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
apps/framework-docs-v2/content/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

apps/framework-docs-v2/content/**/*.mdx: Use {{ include "shared/path.mdx" }} directives to reuse content fragments, which are processed via processIncludes() during build
Validate code snippets in documentation with the @test directive for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
apps/framework-docs-v2/content/guides/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Guide MDX files in content/guides/ must include frontmatter with title and description fields

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
🧠 Learnings (4)
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Guide promotion workflow: start guides with `status: "draft"` in navigation config, then progress to `status: "beta"`, finally remove status field for public release

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
🔇 Additional comments (8)
apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx (7)

1-8: Frontmatter looks complete.


9-185: No issues noted in this section.


187-253: No issues noted in this section.


342-357: No issues noted in this section.


379-468: No issues noted in this section.


469-522: No issues noted in this section.


544-594: No issues noted in this section.

apps/framework-docs-v2/src/config/navigation.ts (1)

1323-1332: Navigation entry looks good.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Add step 1 to Quick Start section showing how to install the SAP HANA CDC pipeline code from the registry. Includes both manual copy and CLI install methods, with clear list of installed files.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx`:
- Line 360: The timeout value is inconsistent: one example uses timeout=300
(integer) while this snippet uses timeout="10m" (string); change the
timeout="10m" entry to the same integer format (timeout=300) so the 'timeout'
key is consistent across examples, ensuring all docs use the integer-seconds
style.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between db25e1b and 6ad7a12.

📒 Files selected for processing (1)
  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
🧰 Additional context used
📓 Path-based instructions (2)
apps/framework-docs-v2/content/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

apps/framework-docs-v2/content/**/*.mdx: Use {{ include "shared/path.mdx" }} directives to reuse content fragments, which are processed via processIncludes() during build
Validate code snippets in documentation with the @test directive for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
apps/framework-docs-v2/content/guides/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Guide MDX files in content/guides/ must include frontmatter with title and description fields

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
🧠 Learnings (6)
📚 Learning: 2026-01-26T00:56:27.011Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Validate code snippets in documentation with the `test` directive for TypeScript and Python code blocks

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-02-01T23:07:12.348Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-01T23:07:12.348Z
Learning: Add E2E tests to `python-tests` and `typescript-tests` templates when changing user-facing features

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
🔇 Additional comments (2)
apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx (2)

1-5: LGTM!

Frontmatter includes required title and description fields.


614-618: All internal links are valid. Verified that /guides/data-warehouses, /moosestack/workflows, and /moosestack/configuration/clickhouse resolve to existing documentation files.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Replace incorrect `moose install pipeline` command and manual cp commands
with the proper registry installer script. Add explicit dependency
installation step and renumber subsequent Quick Start steps.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Dependencies are now covered in the Quick Start installation step.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Remove Python workflow implementation examples
- Remove SQL trigger/table schema definitions
- Remove SQL monitoring queries
- Keep explanatory text and user-facing configuration
- Reduced from 612 to 435 lines (29% smaller)

Focus guide on what CDC does and how to use it, rather than internal implementation details.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In
`@apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx`:
- Around line 120-127: Update the "2. Install Dependencies" section under the
sap_hana_cdc_to_clickhouse guide to explicitly list the key Python packages
users will install from requirements.txt: mention hdbcli (SAP HANA client),
moose-lib, clickhouse-connect, and tenacity before the pip install command so
readers know what will be installed and can pre-troubleshoot; keep the existing
pip install instruction and add a short note referencing requirements.txt for
exact versions.
- Around line 219-229: Update the schedule wording to use Cron-style
expressions: replace the phrase "every 60 seconds" for the main CDC workflow
with a cron expression such as "*/1 * * * *" (every minute) and state explicitly
that the pipeline expects cron strings; for the Prune Workflow replace the vague
"once per day" with a cron expression like "0 0 * * *" (daily at midnight). Keep
the documented retry default (3 attempts) and retention default (7 days) as-is,
and include one brief example cron (e.g., "0 * * * *" for hourly) to show format
expectations in the descriptions mentioning "main CDC workflow" and "Prune
Workflow".
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 78422c8 and 8a959fb.

📒 Files selected for processing (2)
  • apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx
  • apps/framework-docs-v2/src/config/navigation.ts
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Run linting checks before submitting PRs for TypeScript/JavaScript code

**/*.{ts,tsx,js,jsx}: Group imports by external dependencies, internal modules, and types; use named exports from barrel files (index.ts)
Use camelCase for variables and functions, PascalCase for types/classes/components, UPPER_SNAKE_CASE for constants in TypeScript/JavaScript
Prefix unused variables with underscore (e.g., _unusedParam) to bypass linting errors in TypeScript/JavaScript
Format TypeScript/JavaScript code with Prettier using experimentalTernaries: true; auto-formats on commit via Husky + lint-staged

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
apps/framework-docs-v2/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Component library must use shadcn/ui components located in src/components/ui/

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
apps/framework-docs-v2/content/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

apps/framework-docs-v2/content/**/*.mdx: Use {{ include "shared/path.mdx" }} directives to reuse content fragments, which are processed via processIncludes() during build
Validate code snippets in documentation with the @test directive for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Files:

  • apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx
apps/framework-docs-v2/content/guides/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Guide MDX files in content/guides/ must include frontmatter with title and description fields

Files:

  • apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx
🧠 Learnings (4)
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Guide promotion workflow: start guides with `status: "draft"` in navigation config, then progress to `status: "beta"`, finally remove status field for public release

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.

Applied to files:

  • apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.

Applied to files:

  • apps/framework-docs-v2/content/guides/data-management/sap-hana-cdc-to-clickhouse.mdx
🔇 Additional comments (1)
apps/framework-docs-v2/src/config/navigation.ts (1)

1323-1332: LGTM — navigation entry is consistent with the new guide.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

@514Ben
Copy link
Contributor Author

514Ben commented Feb 3, 2026

Move file back from data-management/ subdirectory to maintain
correct directory hierarchy.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

"env": {
"NEXT_PUBLIC_NAV_VARIANT": "draft"
}
}
Copy link

Choose a reason for hiding this comment

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

Draft content exposed in production via vercel.json config

High Severity

Setting NEXT_PUBLIC_NAV_VARIANT: "draft" in vercel.json build configuration will expose draft content (intended for internal team only) on the production deployment. According to nav-variant.ts, production should default to "base" (public content only), but this explicit setting overrides that behavior. This appears to be testing configuration added for preview deployments that shouldn't be merged to production.

Fix in Cursor Fix in Web

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/vercel.json`:
- Around line 3-6: Hardcoded NEXT_PUBLIC_NAV_VARIANT = "draft" in vercel.json
exposes draft navigation globally; remove this repo-level env var and instead
implement environment-scoped or flag-controlled visibility. Remove or unset
NEXT_PUBLIC_NAV_VARIANT from the "build.env" block in vercel.json and wire the
app to read Vercel Toolbar feature flags (e.g., show-draft-guides) or
per-environment Vercel settings at runtime to toggle draft nav; ensure any
references to NEXT_PUBLIC_NAV_VARIANT in code (nav rendering logic) fallback to
the runtime feature-flag check so production builds no longer default to
"draft".
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 9a1c879 and eaaac7f.

📒 Files selected for processing (1)
  • apps/framework-docs-v2/vercel.json
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Use Vercel Toolbar feature flags for visibility control: `show-draft-guides`, `show-beta-guides`, `show-hosting-section`, `show-ai-section`, `show-copy-as-markdown`, `show-linear-integration`

Applied to files:

  • apps/framework-docs-v2/vercel.json
📚 Learning: 2025-12-16T23:08:31.521Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-16T23:08:31.521Z
Learning: Build TypeScript/JavaScript packages using `pnpm build` before integration

Applied to files:

  • apps/framework-docs-v2/vercel.json
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Always install dependencies from the monorepo root using `pnpm install`, never run `pnpm install` directly from `apps/framework-docs-v2/`

Applied to files:

  • apps/framework-docs-v2/vercel.json

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment on lines +3 to +6
"build": {
"env": {
"NEXT_PUBLIC_NAV_VARIANT": "draft"
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Hardcoding draft nav exposes draft content in all deploys.

NEXT_PUBLIC_NAV_VARIANT: "draft" at build scope forces draft navigation for every environment (including production). Please scope this to preview via Vercel Toolbar flags (e.g., show-draft-guides) or per-environment settings instead of repo-level config.

💡 Suggested change (remove hardcoded draft variant)
-  "build": {
-    "env": {
-      "NEXT_PUBLIC_NAV_VARIANT": "draft"
-    }
-  }

Based on learnings: Use Vercel Toolbar feature flags for visibility control: show-draft-guides, show-beta-guides, show-hosting-section, show-ai-section, show-copy-as-markdown, show-linear-integration.

🤖 Prompt for AI Agents
In `@apps/framework-docs-v2/vercel.json` around lines 3 - 6, Hardcoded
NEXT_PUBLIC_NAV_VARIANT = "draft" in vercel.json exposes draft navigation
globally; remove this repo-level env var and instead implement
environment-scoped or flag-controlled visibility. Remove or unset
NEXT_PUBLIC_NAV_VARIANT from the "build.env" block in vercel.json and wire the
app to read Vercel Toolbar feature flags (e.g., show-draft-guides) or
per-environment Vercel settings at runtime to toggle draft nav; ensure any
references to NEXT_PUBLIC_NAV_VARIANT in code (nav rendering logic) fallback to
the runtime feature-flag check so production builds no longer default to
"draft".

- Add migrations preview variant for visual diagram
- Add CDC, Workflows, and ClickHouse topic tags

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Rename from "SAP HANA CDC to ClickHouse" to "SAP HANA CDC"
- Move from Data Management section to top-level (after Chat guide)
- Change icon from IconDatabaseImport to IconBolt
- Remove old "Change Data Capture" entry from Data Management

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx`:
- Around line 236-246: The table entry for SAP_HANA_HOST is inconsistent (it
lists a Default of `localhost` but Required=Yes); pick one fix: either change
the Required column for `SAP_HANA_HOST` to `No` to reflect the provided default,
or remove the Default value `localhost` and keep Required=Yes; update the row
for `SAP_HANA_HOST` in the variables table accordingly so the Required and
Default columns are consistent.
📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between eaaac7f and 72735db.

📒 Files selected for processing (2)
  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
  • apps/framework-docs-v2/src/config/navigation.ts
🧰 Additional context used
📓 Path-based instructions (5)
apps/framework-docs-v2/content/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

apps/framework-docs-v2/content/**/*.mdx: Use {{ include "shared/path.mdx" }} directives to reuse content fragments, which are processed via processIncludes() during build
Validate code snippets in documentation with the @test directive for TypeScript and Python code blocks
TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
apps/framework-docs-v2/content/guides/**/*.mdx

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Guide MDX files in content/guides/ must include frontmatter with title and description fields

Files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Run linting checks before submitting PRs for TypeScript/JavaScript code

**/*.{ts,tsx,js,jsx}: Group imports by external dependencies, internal modules, and types; use named exports from barrel files (index.ts)
Use camelCase for variables and functions, PascalCase for types/classes/components, UPPER_SNAKE_CASE for constants in TypeScript/JavaScript
Prefix unused variables with underscore (e.g., _unusedParam) to bypass linting errors in TypeScript/JavaScript
Format TypeScript/JavaScript code with Prettier using experimentalTernaries: true; auto-formats on commit via Husky + lint-staged

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
apps/framework-docs-v2/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (apps/framework-docs-v2/CLAUDE.md)

Component library must use shadcn/ui components located in src/components/ui/

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Prefer interfaces for objects, types for unions/intersections in TypeScript; explicit return types on public APIs

Files:

  • apps/framework-docs-v2/src/config/navigation.ts
🧠 Learnings (14)
📓 Common learnings
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Guide promotion workflow: start guides with `status: "draft"` in navigation config, then progress to `status: "beta"`, finally remove status field for public release
📚 Learning: 2026-01-26T00:56:27.011Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/infrastructure_map.rs:1238-1298
Timestamp: 2026-01-26T00:56:27.011Z
Learning: Repo 514-labs/moosestack — Workflows: The CLI’s workflow diff is intended to detect only Temporal schedule–affecting changes. In apps/framework-cli/src/framework/core/infrastructure_map.rs, workflows_config_equal should compare schedule, retries, and timeout only; it must not include tasks. Task code/config changes are picked up automatically when the orchestration worker restarts and should not trigger a WorkflowChange.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : Validate code snippets in documentation with the `test` directive for TypeScript and Python code blocks

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Applies to apps/framework-docs-v2/content/**/*.mdx : TypeScript code snippets in documentation should be validated for syntax with brace matching; Python snippets should be validated for indentation

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-19T22:37:05.393Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3282
File: apps/framework-cli-e2e/test/utils/llm-agent-utils.ts:613-742
Timestamp: 2026-01-19T22:37:05.393Z
Learning: In the LLM Documentation Automation test (`apps/framework-cli-e2e/test/llm-docs-automation.test.ts` and `apps/framework-cli-e2e/test/utils/llm-agent-utils.ts`), token limit failures are intentional. The test should fail if the agent exceeds Claude's context window, as this signals that documentation or task complexity needs improvement and represents what a real user would experience.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-15T19:41:53.563Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: examples/cdp-analytics/CLAUDE.md:0-0
Timestamp: 2026-01-15T19:41:53.563Z
Learning: Applies to examples/cdp-analytics/app/workflows/*-sync.ts : Scheduled sync workflows should use Cron schedule expressions (e.g., '0 * * * *' for hourly, '*/5 * * * *' for every 5 minutes), fetch from external APIs using Bearer token authorization, and return a SyncResult object with synced count and errors

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-26T21:29:55.084Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: packages/protobuf/infrastructure_map.proto:507-518
Timestamp: 2026-01-26T21:29:55.084Z
Learning: In packages/protobuf/infrastructure_map.proto, the Workflow message fields (name, schedule, retries, timeout, language) intentionally use non-optional scalars because default values have semantic meaning: retries: 0 means no retries (1 attempt only), empty schedule means manual trigger only, and empty timeout means use default. The runtime applies these defaults appropriately, so the unset vs empty distinction is unnecessary.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-26T01:14:58.758Z
Learnt from: DatGuyJonathan
Repo: 514-labs/moosestack PR: 3400
File: apps/framework-cli/src/framework/core/execute.rs:141-146
Timestamp: 2026-01-26T01:14:58.758Z
Learning: In apps/framework-cli/src/infrastructure/orchestration/workflows.rs, workflow scheduling failures should be non-fatal. The workflows::execute_changes function should return () and log errors rather than returning Result and propagating failures. Failing to schedule a workflow is not a reason to fail the deploy.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2025-12-16T23:09:10.917Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-cli/AGENTS.md:0-0
Timestamp: 2025-12-16T23:09:10.917Z
Learning: Applies to apps/framework-cli/**/*.rs : Test error conditions and edge cases

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:50:00.978Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1402-1406
Timestamp: 2026-01-28T14:50:00.978Z
Learning: When reviewing WebApp implementations that run in a Node.js backend, prefer Node.js-specific types (e.g., Buffer) and avoid browser-focused cross-platform compatibility considerations. This guideline applies to MDX documentation and code examples across the repository where backend/runtime code is discussed; ensure reviewers distinguish server-side context from frontend/browser constraints and validate type usage accordingly.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-28T14:55:13.411Z
Learnt from: cjus
Repo: 514-labs/moosestack PR: 3407
File: apps/framework-docs-v2/content/guides/static-report-generation.mdx:1585-1616
Timestamp: 2026-01-28T14:55:13.411Z
Learning: In documentation and tutorial files under apps/framework-docs-v2/content/guides/, prefer explicit, self-contained code examples that may duplicate small snippets for clarity over abstracting with DRY helpers. Ensure examples are easy to understand in isolation, even if it means a bit of repetition, to aid learning and reduce cognitive load for readers.

Applied to files:

  • apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Add new guides to `guidesNavigationConfig` in `src/config/navigation.ts` with required fields: type, slug, title, icon, languages, and status (start as 'draft')

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Guide promotion workflow: start guides with `status: "draft"` in navigation config, then progress to `status: "beta"`, finally remove status field for public release

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
📚 Learning: 2026-01-22T19:02:52.316Z
Learnt from: CR
Repo: 514-labs/moosestack PR: 0
File: apps/framework-docs-v2/CLAUDE.md:0-0
Timestamp: 2026-01-22T19:02:52.316Z
Learning: Navigation configuration must be manually maintained in `src/config/navigation.ts` and not auto-generated from file structure

Applied to files:

  • apps/framework-docs-v2/src/config/navigation.ts
🔇 Additional comments (5)
apps/framework-docs-v2/src/config/navigation.ts (1)

1229-1238: LGTM!

New guide entry has all required fields and correctly starts with status: "draft". Based on learnings: guides should include type, slug, title, icon, languages, and status (starting as 'draft').

apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx (4)

1-7: LGTM!

Frontmatter includes required title and description fields. Tags and language metadata are appropriate for this Python-only CDC guide.


37-65: LGTM!

Mermaid diagram clearly illustrates the CDC architecture with proper subgraph organization and data flow connections.


152-154: LGTM!

Security callout appropriately warns against committing secrets to version control.


347-405: LGTM!

Comprehensive troubleshooting guide with clear error messages and actionable solutions. Good use of ToggleBlock for collapsibility.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment on lines +236 to +246
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `SAP_HANA_HOST` | Yes | `localhost` | SAP HANA server hostname |
| `SAP_HANA_PORT` | No | `30015` | SAP HANA server port |
| `SAP_HANA_USERNAME` | Yes | `SYSTEM` | Database username |
| `SAP_HANA_PASSWORD` | Yes | - | Database password |
| `SAP_HANA_CLIENT_ID` | No | `default_client` | Unique identifier for this CDC consumer |
| `SAP_HANA_TABLES` | Yes | - | Comma-separated list of tables to track |
| `SAP_HANA_SOURCE_SCHEMA` | No | `SAPHANADB` | Schema containing source tables |
| `SAP_HANA_CDC_SCHEMA` | No | `SAPHANADB` | Schema for CDC infrastructure tables |
| `SAP_HANA_CDC_RETENTION_DAYS` | No | `7` | Days to retain CDC entries before pruning |
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent Required/Default values.

SAP_HANA_HOST is marked Required=Yes but has Default=localhost. If it has a default, it's not truly required. Clarify:

  • Mark as No (optional with default), or
  • Remove the default value
🤖 Prompt for AI Agents
In `@apps/framework-docs-v2/content/guides/sap-hana-cdc-to-clickhouse.mdx` around
lines 236 - 246, The table entry for SAP_HANA_HOST is inconsistent (it lists a
Default of `localhost` but Required=Yes); pick one fix: either change the
Required column for `SAP_HANA_HOST` to `No` to reflect the provided default, or
remove the Default value `localhost` and keep Required=Yes; update the row for
`SAP_HANA_HOST` in the variables table accordingly so the Required and Default
columns are consistent.

@514Ben 514Ben requested a review from oatsandsugar February 5, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant