Skip to content

feat(config): prepare runtime strategy and formatter - #163

Open
LimiNode wants to merge 4 commits into
mainfrom
feat/config-strategy-runtime
Open

LimiNode wants to merge 4 commits into
mainfrom
feat/config-strategy-runtime

Conversation

@LimiNode

@LimiNode LimiNode commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an atomic ConfigurationPreparedSet carrying logger IDs, runtime loggers, formatters, and effective levels
  • apply schema-v1 formatter defaults/overrides and TRACE default through the runtime preparation phase
  • preserve instantiate_configuration() compatibility and document the shared-vs-unique ownership boundary
  • cover native and JSON end-to-end strategy preparation

Verification

  • C++11 Debug CTest: 62/62 passed
  • JSON-enabled configuration_json_test: passed
  • git diff --check: passed
  • Release target builds succeeded

Full CI will provide the cross-platform exact-head matrix.

Add an atomic prepared runtime result that carries logger IDs, logger instances, formatters, and effective levels. Apply schema-v1 formatter defaults and overrides, preserve the legacy instantiation API, and cover the JSON-to-runtime path with focused regressions.
Make configuration contract and JSON tests evaluate every operation in Release builds instead of relying on assert side effects. Preserve the legacy instantiate_configuration backend-only contract while keeping strategy-aware formatter and level preparation in prepare_configuration, and cover that compatibility boundary with a regression test.
Include <algorithm> before the TimeShield formatting header reached through the public utils umbrella. TimeShield uses std::fill without including its declaring header, which breaks the Emscripten smoke build on the current toolchain.
Verify that prepared logger and formatter shared ownership survives clearing the published set, while the existing atomic failure and strategy checks remain active in Release.

This branch has not been deployed

No deployments
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