Skip to content

refactor: инкапсуляция глобального состояния pam_pmm в структуру pam_pmm_state (Этап 10.1, Issue #205)#222

Merged
netkeep80 merged 4 commits into
netkeep80:mainfrom
konard:issue-205-3a84e21338b1
Mar 22, 2026
Merged

refactor: инкапсуляция глобального состояния pam_pmm в структуру pam_pmm_state (Этап 10.1, Issue #205)#222
netkeep80 merged 4 commits into
netkeep80:mainfrom
konard:issue-205-3a84e21338b1

Conversation

@konard
Copy link
Copy Markdown
Contributor

@konard konard commented Mar 22, 2026

Summary

  • Три разрозненные статические переменные (filename, root_offset, initialized) в detail:: namespace инкапсулированы в структуру pam_pmm_state с методом reset()
  • Добавлен глобальный синглтон pam_pmm_global_state() — единая точка доступа к состоянию PMM-фасада
  • Функции detail::pam_pmm_filename(), detail::pam_pmm_root_offset(), detail::pam_pmm_initialized() делегируют синглтону для обратной совместимости
  • Добавлены 4 теста на pam_pmm_state
  • Обновлены plan.md и readme.md

Контекст

Это Этап 10.1 (Проблема 3, Этап A) из plan.md — первый шаг к поддержке нескольких экземпляров БД в одном процессе. Этапы B (передача состояния как параметра) и C (потокобезопасность) — будущие задачи.

Fixes

Fixes #205

Test plan

  • Все 659 тестов проходят (655 существующих + 4 новых)
  • 4 новых теста: дефолтная конструкция pam_pmm_state, reset(), консистентность с detail::, цикл init/destroy
  • Сборка без ошибок (только предупреждения из deps/pmm/pmm.h)

🤖 Generated with Claude Code

konard and others added 2 commits March 22, 2026 08:03
Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: netkeep80#205
…pmm_state (Этап 10.1, Issue netkeep80#205)

Три разрозненные статические переменные (filename, root_offset, initialized)
объединены в структуру pam_pmm_state с методом reset(). Глобальный синглтон
pam_pmm_global_state() заменяет прямой доступ к переменным. Функции detail::
делегируют синглтону для обратной совместимости.

Добавлены 4 теста (659 тестов, все проходят).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] Сделать следующую задачу в текущей фазе разработки и после обновить README.md и файл фазы разработки refactor: инкапсуляция глобального состояния pam_pmm в структуру pam_pmm_state (Этап 10.1, Issue #205) Mar 22, 2026
@konard konard marked this pull request as ready for review March 22, 2026 08:11
@konard
Copy link
Copy Markdown
Contributor Author

konard commented Mar 22, 2026

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $4.032795
  • Calculated by Anthropic: $2.634256 USD
  • Difference: $-1.398539 (-34.68%)

🤖 Models used:

  • Tool: Claude
  • Requested: opus
  • Main model: Claude Opus 4.6 (claude-opus-4-6)
  • Additional models:
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)

📎 Log file uploaded as Gist (1505KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Copy Markdown
Contributor Author

konard commented Mar 22, 2026

🔄 Auto-restart triggered (iteration 1)

Reason: CI failures detected

Starting new session to address the issues.


Auto-restart-until-mergeable mode is active. Will continue until PR becomes mergeable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard
Copy link
Copy Markdown
Contributor Author

konard commented Mar 22, 2026

🔄 Auto-restart-until-mergeable Log (iteration 1)

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $0.836721
  • Calculated by Anthropic: $0.422307 USD
  • Difference: $-0.414414 (-49.53%)

🤖 Models used:

  • Tool: Claude
  • Requested: opus
  • Model: Claude Opus 4.6 (claude-opus-4-6)

📎 Log file uploaded as Gist (1943KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard
Copy link
Copy Markdown
Contributor Author

konard commented Mar 22, 2026

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@netkeep80 netkeep80 merged commit ef83101 into netkeep80:main Mar 22, 2026
7 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

2 participants