microcoreos 0.4.3__tar.gz → 0.4.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. {microcoreos-0.4.3 → microcoreos-0.4.4}/AI_CONTEXT.md +1 -1
  2. {microcoreos-0.4.3 → microcoreos-0.4.4}/PKG-INFO +3 -2
  3. {microcoreos-0.4.3 → microcoreos-0.4.4}/README.md +2 -1
  4. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_logs_stream_plugin.py +8 -2
  5. {microcoreos-0.4.3 → microcoreos-0.4.4}/pyproject.toml +1 -1
  6. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/logger/test_logger_tool.py +26 -0
  7. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/logger/logger_tool.py +19 -3
  8. {microcoreos-0.4.3 → microcoreos-0.4.4}/uv.lock +1 -1
  9. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/skills/microcoreos-architecture/SKILL.md +0 -0
  10. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/skills/microcoreos-architecture/agent.md +0 -0
  11. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/workflows/feature-plan.md +0 -0
  12. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/workflows/multi-domain-plan.md +0 -0
  13. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/workflows/new-domain.md +0 -0
  14. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/workflows/new-tool.md +0 -0
  15. {microcoreos-0.4.3 → microcoreos-0.4.4}/.agent/workflows/solo-build.md +0 -0
  16. {microcoreos-0.4.3 → microcoreos-0.4.4}/.claude/settings.local.json +0 -0
  17. {microcoreos-0.4.3 → microcoreos-0.4.4}/.dockerignore +0 -0
  18. {microcoreos-0.4.3 → microcoreos-0.4.4}/.env.example +0 -0
  19. {microcoreos-0.4.3 → microcoreos-0.4.4}/.github/workflows/ci.yml +0 -0
  20. {microcoreos-0.4.3 → microcoreos-0.4.4}/.github/workflows/release.yml +0 -0
  21. {microcoreos-0.4.3 → microcoreos-0.4.4}/.gitignore +0 -0
  22. {microcoreos-0.4.3 → microcoreos-0.4.4}/.mutmut-cache +0 -0
  23. {microcoreos-0.4.3 → microcoreos-0.4.4}/.python-version +0 -0
  24. {microcoreos-0.4.3 → microcoreos-0.4.4}/AGENTS.md +0 -0
  25. {microcoreos-0.4.3 → microcoreos-0.4.4}/Dockerfile +0 -0
  26. {microcoreos-0.4.3 → microcoreos-0.4.4}/INSTRUCTIONS_FOR_AI.md +0 -0
  27. {microcoreos-0.4.3 → microcoreos-0.4.4}/LICENSE +0 -0
  28. {microcoreos-0.4.3 → microcoreos-0.4.4}/ROADMAP.md +0 -0
  29. {microcoreos-0.4.3 → microcoreos-0.4.4}/cli.py +0 -0
  30. {microcoreos-0.4.3 → microcoreos-0.4.4}/conftest.py +0 -0
  31. {microcoreos-0.4.3 → microcoreos-0.4.4}/dev_infra/cache_probe.py +0 -0
  32. {microcoreos-0.4.3 → microcoreos-0.4.4}/dev_infra/docker-compose.yml +0 -0
  33. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/CLI.md +0 -0
  34. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/CORE_INFRASTRUCTURE.md +0 -0
  35. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/ELASTIC_DEPLOYMENT.md +0 -0
  36. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/EVENT_BUS.md +0 -0
  37. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/HTTP_SERVER.md +0 -0
  38. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/INDEX.md +0 -0
  39. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/OBSERVABILITY.md +0 -0
  40. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/OBSERVABILITY_API.md +0 -0
  41. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/PARALLEL_DEVELOPMENT.md +0 -0
  42. {microcoreos-0.4.3 → microcoreos-0.4.4}/docs/translations/es/README.md +0 -0
  43. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/lint/plugin_sources.py +0 -0
  44. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/discovery_naming_linter_plugin.py +0 -0
  45. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/domain_isolation_linter_plugin.py +0 -0
  46. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/event_contract_linter_plugin.py +0 -0
  47. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/event_schemas_plugin.py +0 -0
  48. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/field_divergence_linter_plugin.py +0 -0
  49. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/route_collision_linter_plugin.py +0 -0
  50. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/table_ownership_linter_plugin.py +0 -0
  51. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/devtools/plugins/tool_doc_drift_linter_plugin.py +0 -0
  52. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/event_delivery_monitor_plugin.py +0 -0
  53. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_events_plugin.py +0 -0
  54. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_events_stream_plugin.py +0 -0
  55. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_metrics_plugin.py +0 -0
  56. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_status_plugin.py +0 -0
  57. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_traces_plugin.py +0 -0
  58. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/system_traces_stream_plugin.py +0 -0
  59. {microcoreos-0.4.3 → microcoreos-0.4.4}/domains/system/plugins/tool_health_plugin.py +0 -0
  60. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/chaos/plugins/blocking_boot_plugin.py +0 -0
  61. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/chaos/plugins/chaos_control_plugin.py +0 -0
  62. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/chaos/plugins/failing_plugin.py +0 -0
  63. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/chaos/plugins/stress_plugin.py +0 -0
  64. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/ping/plugins/ping_plugin.py +0 -0
  65. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/scheduler/migrations/001_scheduler_one_shots.sql +0 -0
  66. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/scheduler/models/scheduler_one_shot.py +0 -0
  67. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/scheduler/plugins/durable_one_shots_plugin.py +0 -0
  68. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/migrations/001_create_users.sql +0 -0
  69. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/models/user.py +0 -0
  70. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/create_user_plugin.py +0 -0
  71. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/delete_user_plugin.py +0 -0
  72. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/get_me_plugin.py +0 -0
  73. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/get_user_by_id_plugin.py +0 -0
  74. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/get_users_plugin.py +0 -0
  75. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/login_plugin.py +0 -0
  76. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/logout_plugin.py +0 -0
  77. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/update_user_plugin.py +0 -0
  78. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_domains/users/plugins/welcome_service_plugin.py +0 -0
  79. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/auth/auth_tool.py +0 -0
  80. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/auth/tests/auth_tool_test.py +0 -0
  81. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/chaos/chaos_tool.py +0 -0
  82. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/kafka/kafka_driver.py +0 -0
  83. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/postgresql/postgresql_tool.py +0 -0
  84. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/postgresql/tests/postgresql_describe_schema_test.py +0 -0
  85. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/postgresql/tests/postgresql_tool_test.py +0 -0
  86. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/rabbitmq/rabbitmq_driver.py +0 -0
  87. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/redis_state/redis_state_tool.py +0 -0
  88. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/s3/__init__.py +0 -0
  89. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/s3/s3_tool.py +0 -0
  90. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/s3/tests/s3_tool_test.py +0 -0
  91. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/scheduler/scheduler_tool.py +0 -0
  92. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/scheduler/tests/scheduler_singleton_test.py +0 -0
  93. {microcoreos-0.4.3 → microcoreos-0.4.4}/extras/available_tools/scheduler/tests/scheduler_tool_test.py +0 -0
  94. {microcoreos-0.4.3 → microcoreos-0.4.4}/hatch_build.py +0 -0
  95. {microcoreos-0.4.3 → microcoreos-0.4.4}/main.py +0 -0
  96. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/__init__.py +0 -0
  97. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/base_plugin.py +0 -0
  98. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/base_tool.py +0 -0
  99. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/catalog.py +0 -0
  100. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/cli.py +0 -0
  101. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/container.py +0 -0
  102. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/context.py +0 -0
  103. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/kernel.py +0 -0
  104. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/project.py +0 -0
  105. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/project_readme.md +0 -0
  106. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/registry.py +0 -0
  107. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/scaffold.py +0 -0
  108. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos/upgrade.py +0 -0
  109. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/__init__.py +0 -0
  110. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/cli.py +0 -0
  111. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/fuzzer.py +0 -0
  112. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/pipeline.py +0 -0
  113. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/plan/__init__.py +0 -0
  114. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/plan/rules.py +0 -0
  115. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/plan/scan.py +0 -0
  116. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/plan/schema.py +0 -0
  117. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/plan/sync.py +0 -0
  118. {microcoreos-0.4.3 → microcoreos-0.4.4}/microcoreos_dev/probe.py +0 -0
  119. {microcoreos-0.4.3 → microcoreos-0.4.4}/plans/README.md +0 -0
  120. {microcoreos-0.4.3 → microcoreos-0.4.4}/plans/active_plan.md +0 -0
  121. {microcoreos-0.4.3 → microcoreos-0.4.4}/plans/active_plan.yaml +0 -0
  122. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_core.py +0 -0
  123. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_core_purity.py +0 -0
  124. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_kernel.py +0 -0
  125. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_no_retry.py +0 -0
  126. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_plugin_di_fixtures.py +0 -0
  127. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_registry_collisions.py +0 -0
  128. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/core/test_tool_proxy.py +0 -0
  129. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/dev/corpus/README.md +0 -0
  130. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/dev/corpus/qwen_twitter_plan.yaml +0 -0
  131. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/dev/test_pipeline.py +0 -0
  132. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/dev/test_plan_validator.py +0 -0
  133. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/ping/test_ping_plugin.py +0 -0
  134. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_create_user_plugin.py +0 -0
  135. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_delete_user_plugin.py +0 -0
  136. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_get_me_plugin.py +0 -0
  137. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_get_user_by_id_plugin.py +0 -0
  138. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_get_users_plugin.py +0 -0
  139. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_login_plugin.py +0 -0
  140. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_logout_plugin.py +0 -0
  141. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_update_user_plugin.py +0 -0
  142. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/domains/users/test_welcome_service_plugin.py +0 -0
  143. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/helpers/active_db.py +0 -0
  144. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/helpers/async_wait.py +0 -0
  145. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/helpers/mock_db.py +0 -0
  146. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/helpers/trace_chains.py +0 -0
  147. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_discovery_naming_linter.py +0 -0
  148. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_domain_isolation_linter.py +0 -0
  149. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_event_contract_linter.py +0 -0
  150. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_field_divergence_linter.py +0 -0
  151. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_route_collision_linter.py +0 -0
  152. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_table_ownership_linter.py +0 -0
  153. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/linters/test_tool_doc_drift_linter.py +0 -0
  154. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_catalog.py +0 -0
  155. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_chaos_control.py +0 -0
  156. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_chaos_tool.py +0 -0
  157. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_cli.py +0 -0
  158. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_durable_one_shots.py +0 -0
  159. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_event_schemas_plugin.py +0 -0
  160. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_scaffold.py +0 -0
  161. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_system_events_stats.py +0 -0
  162. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_system_traces_plugin.py +0 -0
  163. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_trace_chain_helper.py +0 -0
  164. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/system/test_upgrade.py +0 -0
  165. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/config/test_config_tool.py +0 -0
  166. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/context/test_context_tool.py +0 -0
  167. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/db/test_db_parity.py +0 -0
  168. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_event_bus_broker_parity.py +0 -0
  169. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_event_bus_groups.py +0 -0
  170. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_event_bus_kafka_parity.py +0 -0
  171. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_event_bus_rabbitmq_parity.py +0 -0
  172. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_event_bus_tool.py +0 -0
  173. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/event_bus/test_redis_streams_driver.py +0 -0
  174. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/http_server/test_http_params_hardening.py +0 -0
  175. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/http_server/test_http_pipeline.py +0 -0
  176. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/http_server/test_http_server_tool.py +0 -0
  177. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/http_server/test_security_hardening.py +0 -0
  178. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/registry/test_registry_tool.py +0 -0
  179. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/s3/test_s3_parity.py +0 -0
  180. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/sqlite/test_sqlite_concurrency.py +0 -0
  181. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/sqlite/test_sqlite_describe_schema.py +0 -0
  182. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/sqlite/test_sqlite_driver.py +0 -0
  183. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/sqlite/test_sqlite_migrations.py +0 -0
  184. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/sqlite/test_sqlite_tool.py +0 -0
  185. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/state/test_state_parity.py +0 -0
  186. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/state/test_state_tool.py +0 -0
  187. {microcoreos-0.4.3 → microcoreos-0.4.4}/tests/tools/telemetry/test_telemetry_tool.py +0 -0
  188. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/config/config_tool.py +0 -0
  189. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/context/authoring_guide.md +0 -0
  190. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/context/context_tool.py +0 -0
  191. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/context/renderers.py +0 -0
  192. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/context/scanners.py +0 -0
  193. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/event_bus/drivers.py +0 -0
  194. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/event_bus/envelope.py +0 -0
  195. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/event_bus/event_bus_tool.py +0 -0
  196. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/event_bus/redis_streams_driver.py +0 -0
  197. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/event_bus/sqlite_driver.py +0 -0
  198. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/http_server/context.py +0 -0
  199. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/http_server/http_server_tool.py +0 -0
  200. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/http_server/pipeline.py +0 -0
  201. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/http_server/types.py +0 -0
  202. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/sqlite/errors.py +0 -0
  203. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/sqlite/migrations.py +0 -0
  204. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/sqlite/sqlite_tool.py +0 -0
  205. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/sqlite/transaction.py +0 -0
  206. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/state/state_tool.py +0 -0
  207. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/system/registry_tool.py +0 -0
  208. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/telemetry/__init__.py +0 -0
  209. {microcoreos-0.4.3 → microcoreos-0.4.4}/tools/telemetry/telemetry_tool.py +0 -0
@@ -321,7 +321,7 @@ Async SQLite Persistence Tool (sqlite):
321
321
  - **Events emitted**: none
322
322
  - **Events consumed**: none
323
323
  - **Dependencies**: container, http, logger
324
- - **Plugins**: devtools.DiscoveryNamingLinterPlugin, devtools.DocPathLinterPlugin, devtools.DomainIsolationLinterPlugin, devtools.EventContractLinterPlugin, devtools.EventSchemasPlugin, devtools.FieldDivergenceLinterPlugin, devtools.RouteCollisionLinterPlugin, devtools.TableOwnershipLinterPlugin, devtools.ToolDocDriftLinterPlugin
324
+ - **Plugins**: devtools.DiscoveryNamingLinterPlugin, devtools.DomainIsolationLinterPlugin, devtools.EventContractLinterPlugin, devtools.EventSchemasPlugin, devtools.FieldDivergenceLinterPlugin, devtools.RouteCollisionLinterPlugin, devtools.TableOwnershipLinterPlugin, devtools.ToolDocDriftLinterPlugin
325
325
 
326
326
  ### `system`
327
327
  - **Tables**: none
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: microcoreos
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: Atomic Microkernel Architecture optimized for AI-Driven Development
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -124,7 +124,8 @@ Use that rather than `uv add 'microcoreos[auth]'`. The extra is only the **depen
124
124
  | Command | Purpose |
125
125
  |---|---|
126
126
  | `microcoreos status` | Reports active plan progress and `AI_CONTEXT.md` freshness |
127
- | `microcoreos plan validate` | Validates active plan YAML (`plans/active_plan.yaml`) offline against 18 rules |
127
+ | `microcoreos plan validate` | Validates active plan YAML (`plans/active_plan.yaml`) offline against 19 rules (`--fix` to sync checklist first) |
128
+ | `microcoreos plan sync` | Generates or updates execution checklist (`plans/active_plan.md`) preserving progress |
128
129
  | `microcoreos migrate` | Applies SQL migrations AND regenerates `AI_CONTEXT.md` (the AI context manifest) |
129
130
  | `microcoreos schema` | Inspects live database schema and normalized tables |
130
131
 
@@ -83,7 +83,8 @@ Use that rather than `uv add 'microcoreos[auth]'`. The extra is only the **depen
83
83
  | Command | Purpose |
84
84
  |---|---|
85
85
  | `microcoreos status` | Reports active plan progress and `AI_CONTEXT.md` freshness |
86
- | `microcoreos plan validate` | Validates active plan YAML (`plans/active_plan.yaml`) offline against 18 rules |
86
+ | `microcoreos plan validate` | Validates active plan YAML (`plans/active_plan.yaml`) offline against 19 rules (`--fix` to sync checklist first) |
87
+ | `microcoreos plan sync` | Generates or updates execution checklist (`plans/active_plan.md`) preserving progress |
87
88
  | `microcoreos migrate` | Applies SQL migrations AND regenerates `AI_CONTEXT.md` (the AI context manifest) |
88
89
  | `microcoreos schema` | Inspects live database schema and normalized tables |
89
90
 
@@ -22,10 +22,16 @@ class SystemLogsStreamPlugin(BasePlugin):
22
22
  tags=["System"],
23
23
  )
24
24
 
25
- def _on_log(self, level: str, message: str, timestamp: str, identity: str):
25
+ def _on_log(self, level: str, message: str, timestamp: str, identity: str, trace_id: str = None):
26
26
  if not self._queues:
27
27
  return
28
- record = {"level": level, "message": message, "timestamp": timestamp, "identity": identity}
28
+ record = {
29
+ "level": level,
30
+ "message": message,
31
+ "timestamp": timestamp,
32
+ "identity": identity,
33
+ "trace_id": trace_id,
34
+ }
29
35
  try:
30
36
  loop = asyncio.get_running_loop()
31
37
  for q in list(self._queues):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "microcoreos"
3
- version = "0.4.3"
3
+ version = "0.4.4"
4
4
  description = "Atomic Microkernel Architecture optimized for AI-Driven Development"
5
5
  license = {text = "MIT"}
6
6
  readme = "README.md"
@@ -91,3 +91,29 @@ def test_sink_receives_error_level(tool):
91
91
  tool.add_sink(lambda level, msg, ts, identity: received.append(level))
92
92
  tool.error("boom")
93
93
  assert received[0] == "ERROR"
94
+
95
+
96
+ def test_sink_receives_trace_id_from_event_id_var(tool):
97
+ from microcoreos import current_event_id_var
98
+ received = []
99
+ tool.add_sink(lambda level, msg, ts, identity, trace_id: received.append((msg, trace_id)))
100
+
101
+ token = current_event_id_var.set("evt-12345")
102
+ try:
103
+ tool.info("traced operation")
104
+ finally:
105
+ current_event_id_var.reset(token)
106
+
107
+ assert len(received) == 1
108
+ assert received[0] == ("traced operation", "evt-12345")
109
+
110
+
111
+ def test_legacy_4_arg_sink_backwards_compatible(tool):
112
+ received = []
113
+ def legacy_sink(level, msg, ts, identity):
114
+ received.append((level, msg, identity))
115
+
116
+ tool.add_sink(legacy_sink)
117
+ tool.info("legacy message")
118
+ assert len(received) == 1
119
+ assert received[0][1] == "legacy message"
@@ -26,9 +26,9 @@ REPLACEMENT STANDARD (plugins unaffected):
26
26
  """
27
27
 
28
28
  from microcoreos import BaseTool
29
- from microcoreos import current_identity_var
29
+ from microcoreos import current_identity_var, current_event_id_var
30
30
  import datetime
31
- from typing import List, Callable
31
+ from typing import List, Callable, Optional
32
32
 
33
33
  class LoggerTool(BaseTool):
34
34
  """
@@ -69,13 +69,29 @@ class LoggerTool(BaseTool):
69
69
  Use it to attribute errors to specific plugins for health tracking.
70
70
  """
71
71
 
72
+ def _get_current_trace_id(self) -> Optional[str]:
73
+ """Extracts current trace_id from OpenTelemetry or current_event_id_var."""
74
+ try:
75
+ from opentelemetry import trace
76
+ span = trace.get_current_span()
77
+ ctx = span.get_span_context()
78
+ if ctx.is_valid:
79
+ return format(ctx.trace_id, "032x")
80
+ except Exception:
81
+ pass
82
+ return current_event_id_var.get()
83
+
72
84
  def _broadcast_to_sinks(self, level: str, message: str):
73
85
  """Sends the log to all registered observers."""
74
86
  timestamp = datetime.datetime.now().isoformat()
75
87
  identity = current_identity_var.get()
88
+ trace_id = self._get_current_trace_id()
76
89
  for sink in self._sinks:
77
90
  try:
78
- sink(level, message, timestamp, identity)
91
+ try:
92
+ sink(level, message, timestamp, identity, trace_id)
93
+ except TypeError:
94
+ sink(level, message, timestamp, identity)
79
95
  except Exception as e:
80
96
  # We use print here to avoid recursion if a sink fails
81
97
  print(f"[Logger] Sink Failure: {e}")
@@ -928,7 +928,7 @@ wheels = [
928
928
 
929
929
  [[package]]
930
930
  name = "microcoreos"
931
- version = "0.4.3"
931
+ version = "0.4.4"
932
932
  source = { editable = "." }
933
933
  dependencies = [
934
934
  { name = "aiosqlite" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes