Skip to content

fix(dump): isolate IBCMD data directory - #35

Merged
alkoleft merged 4 commits into
alkoleft:masterfrom
korolevpavel:fix/ibcmd-project-data
Jul 23, 2026
Merged

fix(dump): isolate IBCMD data directory#35
alkoleft merged 4 commits into
alkoleft:masterfrom
korolevpavel:fix/ibcmd-project-data

Conversation

@korolevpavel

@korolevpavel korolevpavel commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Closes #11

  • routes IBCMD dump calls through the project workPath/ibcmd-data directory
  • prevents dependence on the global standalone-server state directory
  • covers the emitted infobase --data argument

Summary by CodeRabbit

  • Новые возможности
    • Для дампов IBCMD введён проектно-локальный каталог данных workPath/ibcmd-data, который передаётся в вызовы ibcmd через аргумент --data.
    • Добавлена поддержка настраиваемого пути данных для сценариев dump с корректной подстановкой аргументов команд.
  • Документация
    • Уточнены правила для сочетаний format (DESIGNER/EDT) и builder (DESIGNER/IBCMD), включая ограничения на тип инфобазы.
    • Обновлены рекомендации по workPath и безопасному удалению workPath/ibcmd-data/.
  • Тесты
    • Расширены проверки calls.log: подтверждается передача --data <work_path>/ibcmd-data для сценариев full/incremental/partial и серверного подключения.

- route IBCMD dump calls through workPath/ibcmd-data\n- document and test the isolated standalone-server state
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c7f485a8-a918-436d-a8c3-7a5ff288683e

📥 Commits

Reviewing files that changed from the base of the PR and between 6955a68 and 87ed92f.

📒 Files selected for processing (1)
  • tests/cli_dump.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • tests/cli_dump.rs

Walkthrough

IBCMD DSL получил опциональный --data, а dump теперь использует каталог workPath/ibcmd-data, создавая его перед запуском. Тесты проверяют путь в командах, а документация уточняет матрицу возможностей и правила хранения runtime-данных.

Changes

Изоляция данных IBCMD

Layer / File(s) Summary
Поддержка data path в IBCMD DSL
src/platform/ibcmd.rs
IbcmdDsl принимает путь данных, добавляет --data в командные аргументы и проверяет их порядок отдельным тестом.
Подключение каталога к dump
src/use_cases/dump_config/helpers.rs, tests/cli_dump.rs
Перед запуском создаётся workPath/ibcmd-data, путь передаётся в DSL, а сценарии полного, инкрементального, partial и серверного dump проверяют сформированную команду.
Документирование размещения данных
SKILL/references/config-and-backends.md, SKILL/references/troubleshooting.md, docs/CAPABILITIES.md, spec/decisions/...md
Документация описывает поддержку IBCMD, расположение standalone-server data и ограничения удаления runtime-каталога.

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

Sequence Diagram(s)

sequenceDiagram
  participant DumpCommand
  participant build_ibcmd_dsl
  participant IbcmdDsl
  participant ibcmd
  DumpCommand->>build_ibcmd_dsl: Запрашивает DSL для dump
  build_ibcmd_dsl->>build_ibcmd_dsl: Создаёт workPath/ibcmd-data
  build_ibcmd_dsl->>IbcmdDsl: Передаёт data_path
  IbcmdDsl->>ibcmd: Запускает команду с --data
  ibcmd-->>DumpCommand: Возвращает результат dump
Loading

Poem

Прыг-скок — каталог готов,
IBCMD зовёт в поход.
--data путь ведёт вперёд,
Dump спокойно путь найдёт.
Кролик рад: порядок есть! 🐇

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 44.44% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок кратко и точно отражает основное изменение: изоляцию каталога данных IBCMD для dump.
Linked Issues check ✅ Passed PR добавляет configurable --data и использует project-local workPath/ibcmd-data, что соответствует требованию issue #11.
Out of Scope Changes check ✅ Passed Изменения ограничены кодом, тестами и документацией, относящимися к изоляции данных IBCMD.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@korolevpavel

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

- document workPath/ibcmd-data runtime ownership

- cover IBCMD data path argument order and dump modes

@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

🧹 Nitpick comments (1)
tests/cli_dump.rs (1)

164-172: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Проверьте также создание каталога.

Сейчас helper проверяет только текст команды; если create_dir_all удалить, mock-тесты продолжат проходить. Добавьте assert!(work_path.join("ibcmd-data").is_dir()).

🤖 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 `@tests/cli_dump.rs` around lines 164 - 172, Update assert_ibcmd_data_path to
also assert that work_path.join("ibcmd-data") exists as a directory, while
preserving the existing command-text assertion.
🤖 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 `@tests/cli_dump.rs`:
- Around line 164-172: Обновите assert_ibcmd_data_path, чтобы сообщение об
ошибке не выводило полный calls с чувствительными аргументами --password и
--database-password. Оставьте в диагностике только ожидаемый фрагмент либо
предварительно редактируйте секретные значения.

---

Nitpick comments:
In `@tests/cli_dump.rs`:
- Around line 164-172: Update assert_ibcmd_data_path to also assert that
work_path.join("ibcmd-data") exists as a directory, while preserving the
existing command-text assertion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6221f56e-671e-4484-bfd9-b68070e8b842

📥 Commits

Reviewing files that changed from the base of the PR and between be558db and 1b76937.

📒 Files selected for processing (7)
  • SKILL/references/config-and-backends.md
  • SKILL/references/troubleshooting.md
  • docs/CAPABILITIES.md
  • spec/decisions/0002-izolirovat-runtime-state-po-source-set-pod-workpath.md
  • src/platform/ibcmd.rs
  • src/use_cases/dump_config/helpers.rs
  • tests/cli_dump.rs

Comment thread tests/cli_dump.rs
alkoleft added 2 commits July 23, 2026 22:08
- report only the expected data path fragment
@alkoleft
alkoleft merged commit d612e2d into alkoleft:master Jul 23, 2026
1 check 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.

IBCMD dump должен использовать настраиваемый или проектный --data

2 participants