meridian-cli 0.3.44__tar.gz → 0.3.45__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 (591) hide show
  1. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/PKG-INFO +1 -1
  2. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/__init__.py +1 -1
  3. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/.context/CONTEXT.md +3 -1
  4. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/codex.py +37 -2
  5. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/semantics.py +6 -0
  6. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/context.py +48 -24
  7. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/.gitignore +0 -0
  8. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/LICENSE +0 -0
  9. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/README.md +0 -0
  10. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/pyproject.toml +0 -0
  11. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/ag_ui/__init__.pyi +0 -0
  12. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/ag_ui/core.pyi +0 -0
  13. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/AGENTS.md +0 -0
  14. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/CLAUDE.md +0 -0
  15. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/__main__.py +0 -0
  16. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/.context/CONTEXT.md +0 -0
  17. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/AGENTS.md +0 -0
  18. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/CLAUDE.md +0 -0
  19. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/__init__.py +0 -0
  20. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/_cmd_utils.py +0 -0
  21. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/agent_help.py +0 -0
  22. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/app_tree.py +0 -0
  23. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/argv_normalization.py +0 -0
  24. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/artifact_cmd.py +0 -0
  25. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/bootstrap.py +0 -0
  26. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/bootstrap_cmd.py +0 -0
  27. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/command_groups.py +0 -0
  28. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/config_cmd.py +0 -0
  29. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/doctor_cmd.py +0 -0
  30. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/entrypoint.py +0 -0
  31. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/ext_cmd.py +0 -0
  32. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/ext_registration.py +0 -0
  33. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/help_content.py +0 -0
  34. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/help_tiers.py +0 -0
  35. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/hooks_authority.py +0 -0
  36. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/hooks_commands.py +0 -0
  37. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/kg_cmd.py +0 -0
  38. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/main.py +0 -0
  39. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/mars_passthrough.py +0 -0
  40. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/mermaid_cmd.py +0 -0
  41. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/migrate_cmd.py +0 -0
  42. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/misc_commands.py +0 -0
  43. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/mode.py +0 -0
  44. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/models_cmd.py +0 -0
  45. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/output.py +0 -0
  46. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/primary_launch.py +0 -0
  47. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/qi_cmd.py +0 -0
  48. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/report_cmd.py +0 -0
  49. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/session_cmd.py +0 -0
  50. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/spawn.py +0 -0
  51. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/spawn_inject.py +0 -0
  52. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/__init__.py +0 -0
  53. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/catalog.py +0 -0
  54. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/classify.py +0 -0
  55. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/cyclopts_app.py +0 -0
  56. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/help.py +0 -0
  57. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/lazy_dispatch.py +0 -0
  58. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/startup/policy.py +0 -0
  59. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/streaming_serve.py +0 -0
  60. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/sync_cmd.py +0 -0
  61. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/task_dir_cmd.py +0 -0
  62. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/telemetry_cmd.py +0 -0
  63. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/utils.py +0 -0
  64. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/work_cmd.py +0 -0
  65. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/cli/workspace_cmd.py +0 -0
  66. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/dev/AGENTS.md +0 -0
  67. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/dev/CLAUDE.md +0 -0
  68. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/dev/__init__.py +0 -0
  69. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/dev/pytests.py +0 -0
  70. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/env_registry.py +0 -0
  71. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/__init__.py +0 -0
  72. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/AGENTS.md +0 -0
  73. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/CLAUDE.md +0 -0
  74. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/__init__.py +0 -0
  75. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/_serve_dir.py +0 -0
  76. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/service.py +0 -0
  77. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/artifact/store.py +0 -0
  78. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/.context/CONTEXT.md +0 -0
  79. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/AGENTS.md +0 -0
  80. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/CLAUDE.md +0 -0
  81. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/__init__.py +0 -0
  82. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/config.py +0 -0
  83. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/project_state.py +0 -0
  84. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/runtime_state.py +0 -0
  85. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/bootstrap/services.py +0 -0
  86. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/.context/CONTEXT.md +0 -0
  87. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/AGENTS.md +0 -0
  88. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/CLAUDE.md +0 -0
  89. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/__init__.py +0 -0
  90. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/agent.py +0 -0
  91. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/bootstrap.py +0 -0
  92. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/catalog_session.py +0 -0
  93. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/model_aliases.py +0 -0
  94. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/models.py +0 -0
  95. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/catalog/skill.py +0 -0
  96. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/.context/CONTEXT.md +0 -0
  97. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/AGENTS.md +0 -0
  98. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/CLAUDE.md +0 -0
  99. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/__init__.py +0 -0
  100. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/catalog.py +0 -0
  101. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/context_config.py +0 -0
  102. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/preserving_edit.py +0 -0
  103. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/project_config_state.py +0 -0
  104. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/project_paths.py +0 -0
  105. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/project_root.py +0 -0
  106. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/schema.py +0 -0
  107. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/settings.py +0 -0
  108. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/config/workspace.py +0 -0
  109. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/context/.context/CONTEXT.md +0 -0
  110. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/context/AGENTS.md +0 -0
  111. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/context/CLAUDE.md +0 -0
  112. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/context/__init__.py +0 -0
  113. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/context/resolver.py +0 -0
  114. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/.context/CONTEXT.md +0 -0
  115. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/AGENTS.md +0 -0
  116. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/CLAUDE.md +0 -0
  117. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/__init__.py +0 -0
  118. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/child_env.py +0 -0
  119. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/clock.py +0 -0
  120. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/codec.py +0 -0
  121. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/command_strings.py +0 -0
  122. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/context.py +0 -0
  123. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/conversation.py +0 -0
  124. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/depth.py +0 -0
  125. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/domain.py +0 -0
  126. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/execution_policy.py +0 -0
  127. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/formatting.py +0 -0
  128. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/launch_policy_snapshot.py +0 -0
  129. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/lifecycle.py +0 -0
  130. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/logging.py +0 -0
  131. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/overrides.py +0 -0
  132. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/process_cleanup.py +0 -0
  133. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/resolved_context.py +0 -0
  134. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/sink.py +0 -0
  135. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/spawn_lifecycle.py +0 -0
  136. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/spawn_service.py +0 -0
  137. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/spawn_start.py +0 -0
  138. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/telemetry.py +0 -0
  139. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/types.py +0 -0
  140. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/core/util.py +0 -0
  141. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/diagnostics.py +0 -0
  142. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/.context/CONTEXT.md +0 -0
  143. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/AGENTS.md +0 -0
  144. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/CLAUDE.md +0 -0
  145. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/__init__.py +0 -0
  146. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/.context/CONTEXT.md +0 -0
  147. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/AGENTS.md +0 -0
  148. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/CLAUDE.md +0 -0
  149. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/__init__.py +0 -0
  150. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/biomed.py +0 -0
  151. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/mermaid.py +0 -0
  152. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/sessions.py +0 -0
  153. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/commands/workbench.py +0 -0
  154. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/context.py +0 -0
  155. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/descriptors.py +0 -0
  156. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/dispatcher.py +0 -0
  157. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/first_party.py +0 -0
  158. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/observability.py +0 -0
  159. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/registry.py +0 -0
  160. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/extensions/types.py +0 -0
  161. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/.context/pi-integration.md +0 -0
  162. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/.context/session-transcripts.md +0 -0
  163. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/AGENTS.md +0 -0
  164. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/CLAUDE.md +0 -0
  165. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/__init__.py +0 -0
  166. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/adapter.py +0 -0
  167. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/bundle.py +0 -0
  168. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/claude.py +0 -0
  169. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/claude_preflight.py +0 -0
  170. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/claude_sessions.py +0 -0
  171. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/claude_utils.py +0 -0
  172. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/codex_rollout.py +0 -0
  173. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/common.py +0 -0
  174. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/.context/CONTEXT.md +0 -0
  175. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/AGENTS.md +0 -0
  176. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/CLAUDE.md +0 -0
  177. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/__init__.py +0 -0
  178. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/base.py +0 -0
  179. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/claude_ws.py +0 -0
  180. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/codex_ws.py +0 -0
  181. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/cursor_subprocess.py +0 -0
  182. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/errors.py +0 -0
  183. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/liveness.py +0 -0
  184. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/managed_backend.py +0 -0
  185. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/opencode_http.py +0 -0
  186. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/pi_rpc.py +0 -0
  187. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/connections/resident_backend.py +0 -0
  188. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/control_action.py +0 -0
  189. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/cost.py +0 -0
  190. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/cursor.py +0 -0
  191. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/errors.py +0 -0
  192. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractor.py +0 -0
  193. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/.context/CONTEXT.md +0 -0
  194. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/AGENTS.md +0 -0
  195. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/CLAUDE.md +0 -0
  196. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/__init__.py +0 -0
  197. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/base.py +0 -0
  198. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/claude.py +0 -0
  199. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/codex.py +0 -0
  200. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/cursor.py +0 -0
  201. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/opencode.py +0 -0
  202. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/extractors/pi.py +0 -0
  203. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/launch_spec.py +0 -0
  204. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/launch_types.py +0 -0
  205. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/opencode.py +0 -0
  206. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/opencode_report.py +0 -0
  207. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/opencode_storage.py +0 -0
  208. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/opencode_transcript.py +0 -0
  209. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/.context/CONTEXT.md +0 -0
  210. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/AGENTS.md +0 -0
  211. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/CLAUDE.md +0 -0
  212. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/__init__.py +0 -0
  213. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/base.py +0 -0
  214. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/claude.py +0 -0
  215. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/codex.py +0 -0
  216. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/opencode.py +0 -0
  217. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/passthrough/registry.py +0 -0
  218. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/permission_broker.py +0 -0
  219. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/pi.py +0 -0
  220. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/pi_lifecycle_events.py +0 -0
  221. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/pi_paths.py +0 -0
  222. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/pi_runtime_resolver.py +0 -0
  223. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/.context/CONTEXT.md +0 -0
  224. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/AGENTS.md +0 -0
  225. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/CLAUDE.md +0 -0
  226. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/__init__.py +0 -0
  227. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/_guards.py +0 -0
  228. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/permission_flags.py +0 -0
  229. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/pi_extension_projection.py +0 -0
  230. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_claude.py +0 -0
  231. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_codex_common.py +0 -0
  232. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_codex_streaming.py +0 -0
  233. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_codex_subprocess.py +0 -0
  234. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_cursor.py +0 -0
  235. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_opencode_streaming.py +0 -0
  236. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_opencode_subprocess.py +0 -0
  237. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_pi_native_tui.py +0 -0
  238. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/project_pi_rpc.py +0 -0
  239. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/projections/projection_errors.py +0 -0
  240. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/registry.py +0 -0
  241. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/session_detection.py +0 -0
  242. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/harness/transcript.py +0 -0
  243. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/.context/CONTEXT.md +0 -0
  244. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/AGENTS.md +0 -0
  245. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/CLAUDE.md +0 -0
  246. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/__init__.py +0 -0
  247. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/.context/CONTEXT.md +0 -0
  248. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/.context/FUTURE +0 -0
  249. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/AGENTS.md +0 -0
  250. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/CLAUDE.md +0 -0
  251. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/__init__.py +0 -0
  252. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/autosync_store.py +0 -0
  253. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/base.py +0 -0
  254. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin/git_autosync.py +0 -0
  255. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/builtin_registry.py +0 -0
  256. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/config.py +0 -0
  257. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/dispatch.py +0 -0
  258. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/interval.py +0 -0
  259. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/registry.py +0 -0
  260. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/runner.py +0 -0
  261. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/hooks/types.py +0 -0
  262. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ignores.py +0 -0
  263. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/.context/CONTEXT.md +0 -0
  264. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/AGENTS.md +0 -0
  265. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/CLAUDE.md +0 -0
  266. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/__init__.py +0 -0
  267. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/graph.py +0 -0
  268. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/report.py +0 -0
  269. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/serializer.py +0 -0
  270. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/kg/types.py +0 -0
  271. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/.context/CONTEXT.md +0 -0
  272. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/.context/FUTURE +0 -0
  273. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/AGENTS.md +0 -0
  274. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/CLAUDE.md +0 -0
  275. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/__init__.py +0 -0
  276. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/artifact_io.py +0 -0
  277. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/bundle_adapter.py +0 -0
  278. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/claude_session_access.py +0 -0
  279. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/command.py +0 -0
  280. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/compiler.py +0 -0
  281. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/composition.py +0 -0
  282. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/composition_spawn.py +0 -0
  283. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/constants.py +0 -0
  284. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/continue_replay.py +0 -0
  285. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/cwd.py +0 -0
  286. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/env.py +0 -0
  287. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/errors.py +0 -0
  288. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/extract.py +0 -0
  289. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/fork.py +0 -0
  290. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/launch_types.py +0 -0
  291. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/materialize.py +0 -0
  292. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/permissions.py +0 -0
  293. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/plan.py +0 -0
  294. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/policies.py +0 -0
  295. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/policy_snapshot.py +0 -0
  296. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/.context/CONTEXT.md +0 -0
  297. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/AGENTS.md +0 -0
  298. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/CLAUDE.md +0 -0
  299. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/__init__.py +0 -0
  300. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/ports.py +0 -0
  301. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/primary_attach.py +0 -0
  302. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/pty_launcher.py +0 -0
  303. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/runner.py +0 -0
  304. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/session.py +0 -0
  305. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/subprocess_launcher.py +0 -0
  306. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/process/windows_launcher.py +0 -0
  307. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/prompt.py +0 -0
  308. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/prompt_context.py +0 -0
  309. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/reference.py +0 -0
  310. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/report.py +0 -0
  311. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/request.py +0 -0
  312. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/resolution.py +0 -0
  313. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/resolve.py +0 -0
  314. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/run_inputs.py +0 -0
  315. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/runner_helpers.py +0 -0
  316. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/session_scope.py +0 -0
  317. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/signals.py +0 -0
  318. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/spawn_guidance.py +0 -0
  319. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/.context/CONTEXT.md +0 -0
  320. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/AGENTS.md +0 -0
  321. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/CLAUDE.md +0 -0
  322. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/__init__.py +0 -0
  323. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/heartbeat.py +0 -0
  324. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming/terminal_arbitrator.py +0 -0
  325. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/streaming_runner.py +0 -0
  326. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/text_utils.py +0 -0
  327. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/types.py +0 -0
  328. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/workspace.py +0 -0
  329. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/workspace_projection.py +0 -0
  330. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/launch/written_files.py +0 -0
  331. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/.context/CONTEXT.md +0 -0
  332. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/AGENTS.md +0 -0
  333. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/CLAUDE.md +0 -0
  334. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/__init__.py +0 -0
  335. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/extract.py +0 -0
  336. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/markdown/types.py +0 -0
  337. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/.context/CONTEXT.md +0 -0
  338. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/AGENTS.md +0 -0
  339. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/CLAUDE.md +0 -0
  340. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/__init__.py +0 -0
  341. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/report.py +0 -0
  342. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/scanner.py +0 -0
  343. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/serializer.py +0 -0
  344. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/.context/CONTEXT.md +0 -0
  345. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/AGENTS.md +0 -0
  346. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/CLAUDE.md +0 -0
  347. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/__init__.py +0 -0
  348. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/bare_end.py +0 -0
  349. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/fill_no_color.py +0 -0
  350. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/line_map.py +0 -0
  351. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/ox_edge.py +0 -0
  352. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/preprocess.py +0 -0
  353. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/suppression.py +0 -0
  354. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/style/types.py +0 -0
  355. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/mermaid/validator.py +0 -0
  356. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/.context/CONTEXT.md +0 -0
  357. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/AGENTS.md +0 -0
  358. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/CLAUDE.md +0 -0
  359. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/__init__.py +0 -0
  360. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/debug_tracer.py +0 -0
  361. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/observability/trace_helpers.py +0 -0
  362. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/.context/CONTEXT.md +0 -0
  363. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/.context/FUTURE +0 -0
  364. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/AGENTS.md +0 -0
  365. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/CLAUDE.md +0 -0
  366. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/__init__.py +0 -0
  367. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/catalog.py +0 -0
  368. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/commands.py +0 -0
  369. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/config.py +0 -0
  370. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/config_surface.py +0 -0
  371. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/context.py +0 -0
  372. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/diag.py +0 -0
  373. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/hooks.py +0 -0
  374. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/init_ops.py +0 -0
  375. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/mars.py +0 -0
  376. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/migration.py +0 -0
  377. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/pruning.py +0 -0
  378. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/qi.py +0 -0
  379. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/reference.py +0 -0
  380. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/reference_recovery.py +0 -0
  381. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/report.py +0 -0
  382. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/runtime.py +0 -0
  383. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_corpus.py +0 -0
  384. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_export.py +0 -0
  385. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_log.py +0 -0
  386. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_log_render.py +0 -0
  387. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_render.py +0 -0
  388. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_repair.py +0 -0
  389. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_repair_target.py +0 -0
  390. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_search.py +0 -0
  391. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_target.py +0 -0
  392. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/session_transcript.py +0 -0
  393. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/.context/CONTEXT.md +0 -0
  394. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/AGENTS.md +0 -0
  395. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/CLAUDE.md +0 -0
  396. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/__init__.py +0 -0
  397. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/api.py +0 -0
  398. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/context_ref.py +0 -0
  399. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/execute.py +0 -0
  400. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/execute_bg.py +0 -0
  401. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/execute_init.py +0 -0
  402. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/execute_runner.py +0 -0
  403. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/execute_session.py +0 -0
  404. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/failure_policy.py +0 -0
  405. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/models.py +0 -0
  406. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/pre_init.py +0 -0
  407. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/prepare.py +0 -0
  408. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/query.py +0 -0
  409. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/spawn/task_dir.py +0 -0
  410. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/sync_conflicts.py +0 -0
  411. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/work_attachment.py +0 -0
  412. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/work_dashboard.py +0 -0
  413. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/work_lifecycle.py +0 -0
  414. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/work_sessions.py +0 -0
  415. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/ops/workspace.py +0 -0
  416. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/.context/CONTEXT.md +0 -0
  417. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/AGENTS.md +0 -0
  418. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/CLAUDE.md +0 -0
  419. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/__init__.py +0 -0
  420. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/atomic.py +0 -0
  421. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/detached_process.py +0 -0
  422. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/locking.py +0 -0
  423. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/parent_watchdog.py +0 -0
  424. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/.context/CONTEXT.md +0 -0
  425. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/AGENTS.md +0 -0
  426. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/CLAUDE.md +0 -0
  427. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/__init__.py +0 -0
  428. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/base.py +0 -0
  429. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/fallback.py +0 -0
  430. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/posix.py +0 -0
  431. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/process_scope/windows_job.py +0 -0
  432. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/terminate.py +0 -0
  433. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/platform/unix_modules.py +0 -0
  434. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/.context/CONTEXT.md +0 -0
  435. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/AGENTS.md +0 -0
  436. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/CLAUDE.md +0 -0
  437. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/__init__.py +0 -0
  438. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/budget.py +0 -0
  439. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/guardrails.py +0 -0
  440. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/permissions.py +0 -0
  441. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/safety/redaction.py +0 -0
  442. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/service_context.py +0 -0
  443. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/spawn/.context/CONTEXT.md +0 -0
  444. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/spawn/AGENTS.md +0 -0
  445. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/spawn/CLAUDE.md +0 -0
  446. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/spawn/__init__.py +0 -0
  447. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/spawn/archive.py +0 -0
  448. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/.context/CONTEXT.md +0 -0
  449. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/.context/TODO +0 -0
  450. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/AGENTS.md +0 -0
  451. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/CLAUDE.md +0 -0
  452. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/__init__.py +0 -0
  453. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/artifact_store.py +0 -0
  454. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/atomic.py +0 -0
  455. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/event_store.py +0 -0
  456. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/failure_sentinel.py +0 -0
  457. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/history.py +0 -0
  458. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/launch_boundary.py +0 -0
  459. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/liveness.py +0 -0
  460. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/lock_gc.py +0 -0
  461. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/managed_primary.py +0 -0
  462. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/paths.py +0 -0
  463. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/primary_meta.py +0 -0
  464. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/process_scope_projection.py +0 -0
  465. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/reaper.py +0 -0
  466. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/reaper_cleanup_claim.py +0 -0
  467. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/reconciliation.py +0 -0
  468. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/runtime_root.py +0 -0
  469. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/session_identity.py +0 -0
  470. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/session_store.py +0 -0
  471. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/.context/CONTEXT.md +0 -0
  472. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/AGENTS.md +0 -0
  473. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/CLAUDE.md +0 -0
  474. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/__init__.py +0 -0
  475. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/legacy.py +0 -0
  476. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/model.py +0 -0
  477. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/repository.py +0 -0
  478. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn/transitions.py +0 -0
  479. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_aggregate.py +0 -0
  480. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_report.py +0 -0
  481. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_scope.py +0 -0
  482. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_signals.py +0 -0
  483. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_store.py +0 -0
  484. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/spawn_tree.py +0 -0
  485. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/timestamps.py +0 -0
  486. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/user_paths.py +0 -0
  487. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/wordgen.py +0 -0
  488. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/wordlists.py +0 -0
  489. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/work_repository.py +0 -0
  490. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/work_scope.py +0 -0
  491. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/work_state.py +0 -0
  492. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/state/work_store.py +0 -0
  493. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/.context/CONTEXT.md +0 -0
  494. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/.context/FUTURE +0 -0
  495. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/.context/pi-drain.md +0 -0
  496. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/.context/signal-cancellation.md +0 -0
  497. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/AGENTS.md +0 -0
  498. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/CLAUDE.md +0 -0
  499. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/__init__.py +0 -0
  500. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/completion_contracts.py +0 -0
  501. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/completion_coordinator.py +0 -0
  502. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/completion_nudge.py +0 -0
  503. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/control_socket.py +0 -0
  504. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/descendant_evidence.py +0 -0
  505. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/disk_watcher.py +0 -0
  506. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/drain_coordinator.py +0 -0
  507. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/drain_plan_factory.py +0 -0
  508. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/drain_policy.py +0 -0
  509. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/drain_teardown.py +0 -0
  510. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/drain_wait.py +0 -0
  511. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/event_observers.py +0 -0
  512. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/heartbeat.py +0 -0
  513. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_completion_profile.py +0 -0
  514. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_drain.py +0 -0
  515. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_drain_teardown.py +0 -0
  516. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_lifecycle_tracker.py +0 -0
  517. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_quiescence.py +0 -0
  518. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/pi_work_ledger.py +0 -0
  519. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/resident_drain.py +0 -0
  520. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/signal_canceller.py +0 -0
  521. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/spawn_dispatch.py +0 -0
  522. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/spawn_drain_loop.py +0 -0
  523. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/spawn_manager.py +0 -0
  524. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/spawn_session.py +0 -0
  525. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/streaming/types.py +0 -0
  526. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/__init__.py +0 -0
  527. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/bootstrap.py +0 -0
  528. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/correlation.py +0 -0
  529. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/events.py +0 -0
  530. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/init.py +0 -0
  531. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/local_jsonl.py +0 -0
  532. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/maintenance.py +0 -0
  533. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/observer.py +0 -0
  534. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/observers.py +0 -0
  535. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/query.py +0 -0
  536. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/reader.py +0 -0
  537. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/retention.py +0 -0
  538. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/router.py +0 -0
  539. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/sinks.py +0 -0
  540. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/telemetry/status.py +0 -0
  541. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/tools.py +0 -0
  542. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/utils/__init__.py +0 -0
  543. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/lib/utils/time.py +0 -0
  544. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/.context/CONTEXT.md +0 -0
  545. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/AGENTS.md +0 -0
  546. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/CLAUDE.md +0 -0
  547. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/README.md +0 -0
  548. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/__init__.py +0 -0
  549. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/dist/extensions/managed-bash/index.js +0 -0
  550. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/dist/extensions/meridian-spawn-watch/index.js +0 -0
  551. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/managed-bash/bundle.smoke.test.ts +0 -0
  552. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_log_store.ts +0 -0
  553. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.test.ts +0 -0
  554. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.ts +0 -0
  555. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/managed-bash/src/index.ts +0 -0
  556. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/bundle.smoke.test.ts +0 -0
  557. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.test.ts +0 -0
  558. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.ts +0 -0
  559. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/ids.ts +0 -0
  560. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/json_file.ts +0 -0
  561. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/log_overlay.ts +0 -0
  562. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/meridian_cli.ts +0 -0
  563. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.test.ts +0 -0
  564. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.ts +0 -0
  565. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/pi_harness_profile.test.ts +0 -0
  566. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/pi_harness_profile.ts +0 -0
  567. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/pi_state_paths.ts +0 -0
  568. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/schemas.ts +0 -0
  569. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/selectable_panel.test.ts +0 -0
  570. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/selectable_panel.ts +0 -0
  571. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/spawn_origins.test.ts +0 -0
  572. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/spawn_origins.ts +0 -0
  573. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/extensions/shared/ui.ts +0 -0
  574. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/package.json +0 -0
  575. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/pnpm-lock.yaml +0 -0
  576. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/pnpm-workspace.yaml +0 -0
  577. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/scripts/verify-extensions-loop.mjs +0 -0
  578. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/pi_runtime/vitest.config.ts +0 -0
  579. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/AGENTS.md +0 -0
  580. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/CLAUDE.md +0 -0
  581. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/__init__.py +0 -0
  582. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/config.py +0 -0
  583. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/fs.py +0 -0
  584. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/git.py +0 -0
  585. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/state.py +0 -0
  586. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/plugin_api/types.py +0 -0
  587. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/py.typed +0 -0
  588. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/server/AGENTS.md +0 -0
  589. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/server/CLAUDE.md +0 -0
  590. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/server/__init__.py +0 -0
  591. {meridian_cli-0.3.44 → meridian_cli-0.3.45}/src/meridian/server/main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meridian-cli
3
- Version: 0.3.44
3
+ Version: 0.3.45
4
4
  Summary: Orchestrate CLI + MCP server for multi-model agent workflows
5
5
  Project-URL: Homepage, https://github.com/haowjy/meridian-cli
6
6
  Project-URL: Repository, https://github.com/haowjy/meridian-cli
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.3.44"
5
+ __version__ = "0.3.45"
@@ -160,7 +160,9 @@ qualify by `event.harness_id`.
160
160
 
161
161
  Key mappings:
162
162
  - Claude: `result` event with `is_error=True` → failed; `subtype in ("", "success")` and `terminal_reason in ("", "completed")` → succeeded
163
- - Codex: main-thread `turn/completed` succeeded; `meridian/error/connectionClosed` failed
163
+ - Codex: main-thread `turn/completed` resolves nested `turn.status` `completed`/absent
164
+ → succeeded/0, `failed` → failed/1 with upstream error, `interrupted` → cancelled/130,
165
+ unknown → failed/1 diagnostic; `meridian/error/connectionClosed` → failed
164
166
  - OpenCode: parent-session `session.idle` → succeeded; parent-session `session.error` → failed
165
167
  - Cursor: `meridian/error/connectionClosed` → failed; no explicit success event — stdout EOF
166
168
  + process exit code 0 is the success boundary (see `CursorSubprocessConnection.events()`).
@@ -70,6 +70,7 @@ from meridian.lib.harness.semantics import (
70
70
  TerminalEventOutcome,
71
71
  TerminalOutcomeCause,
72
72
  connection_closed_outcome,
73
+ stringify_terminal_error,
73
74
  )
74
75
  from meridian.lib.launch.composition import (
75
76
  ComposedLaunchContent,
@@ -537,7 +538,38 @@ def _resolve_codex_terminal(event: RawHarnessEvent) -> TerminalEventOutcome | No
537
538
  event,
538
539
  cause=TerminalOutcomeCause.REPLACEABLE_TRANSPORT_CLOSE,
539
540
  )
540
- return None
541
+ if event.event_type != "turn/completed":
542
+ return None
543
+
544
+ turn = event.payload.get("turn")
545
+ turn_payload = cast("dict[str, object]", turn) if isinstance(turn, dict) else None
546
+ turn_status = turn_payload.get("status") if turn_payload is not None else None
547
+ if turn_payload is None or turn_status == "completed":
548
+ return TerminalEventOutcome(status=SpawnStatus.SUCCEEDED, exit_code=0)
549
+ if turn_status == "failed":
550
+ assert turn_payload is not None
551
+ error: object = turn_payload.get("error")
552
+ error_payload = cast("dict[str, object]", error) if isinstance(error, dict) else None
553
+ preferred_error = error_payload.get("message") if error_payload is not None else None
554
+ return TerminalEventOutcome(
555
+ status=SpawnStatus.FAILED,
556
+ exit_code=1,
557
+ error=stringify_terminal_error(preferred_error)
558
+ or stringify_terminal_error(cast("object", error)),
559
+ )
560
+ if turn_status == "interrupted":
561
+ return TerminalEventOutcome(
562
+ status=SpawnStatus.CANCELLED,
563
+ exit_code=130,
564
+ error="interrupted",
565
+ )
566
+ # A status-less turn is malformed. Fail loudly: false failures are visible;
567
+ # hidden failures are not. A missing turn remains success for older payloads.
568
+ return TerminalEventOutcome(
569
+ status=SpawnStatus.FAILED,
570
+ exit_code=1,
571
+ error=f"unexpected_codex_turn_status:{turn_status}",
572
+ )
541
573
 
542
574
 
543
575
  CODEX_SEMANTICS = HarnessSemantics(
@@ -550,7 +582,10 @@ CODEX_SEMANTICS = HarnessSemantics(
550
582
  ),
551
583
  MERIDIAN_CONNECTION_CLOSED_EVENT: EventSemantics(),
552
584
  },
553
- payload_resolvers={MERIDIAN_CONNECTION_CLOSED_EVENT: _resolve_codex_terminal},
585
+ payload_resolvers={
586
+ "turn/completed": _resolve_codex_terminal,
587
+ MERIDIAN_CONNECTION_CLOSED_EVENT: _resolve_codex_terminal,
588
+ },
554
589
  scoped_events=frozenset({"turn/started", "turn/completed"}),
555
590
  scope_id_resolver=extract_codex_thread_id,
556
591
  )
@@ -33,6 +33,12 @@ class TerminalEventOutcome:
33
33
  error: str | None = None
34
34
  cause: TerminalOutcomeCause | None = None
35
35
 
36
+ def __post_init__(self) -> None:
37
+ if self.status == SpawnStatus.SUCCEEDED and (
38
+ self.exit_code != 0 or self.error is not None
39
+ ):
40
+ raise ValueError("succeeded terminal outcomes require exit_code=0 and no error")
41
+
36
42
 
37
43
  @dataclass(frozen=True)
38
44
  class PrimaryEventScope:
@@ -635,6 +635,41 @@ def _resolve_deny_headless_harnesses(
635
635
  return tuple(load_config(project_paths.project_root).deny_headless_harnesses)
636
636
 
637
637
 
638
+ def _enforce_headless_harness_policy(
639
+ *,
640
+ request: SpawnRequest,
641
+ harness: SubprocessHarness,
642
+ runtime: LaunchRuntime,
643
+ project_paths: ProjectConfigPaths,
644
+ ) -> None:
645
+ """Reject denied headless harnesses before a spawn can be persisted."""
646
+
647
+ if (
648
+ runtime.composition_surface != LaunchCompositionSurface.SPAWN_PREPARE
649
+ or harness.id.value not in _resolve_deny_headless_harnesses(runtime, project_paths)
650
+ ):
651
+ return
652
+
653
+ parent_harness = os.getenv("_MERIDIAN_HARNESS", "")
654
+ if parent_harness == harness.id.value:
655
+ agent_hint = (
656
+ f' Use your native Agent(subagent_type="{request.agent}") tool'
657
+ " to delegate instead."
658
+ if request.agent
659
+ else " Use your native Agent() tool to delegate instead."
660
+ )
661
+ else:
662
+ agent_hint = (
663
+ " Use a different model with '-m <model>' to route to an allowed harness,"
664
+ " or override with '--harness <harness>'."
665
+ )
666
+ raise ValueError(
667
+ f"Headless spawns on the '{harness.id.value}' harness are denied by "
668
+ f"'[spawn] deny_headless_harnesses' in meridian.toml."
669
+ f"{agent_hint}"
670
+ )
671
+
672
+
638
673
  def _missing_continue_session_error(source_ref: str | None) -> str:
639
674
  normalized_source = (source_ref or "").strip()
640
675
  if normalized_source:
@@ -1592,6 +1627,12 @@ def prepare_launch_surface(
1592
1627
  )
1593
1628
  }
1594
1629
  )
1630
+ _enforce_headless_harness_policy(
1631
+ request=resolved_request,
1632
+ harness=harness,
1633
+ runtime=runtime,
1634
+ project_paths=project_paths,
1635
+ )
1595
1636
  return PreparedLaunchSurface(
1596
1637
  request=resolved_request,
1597
1638
  harness=harness,
@@ -1877,30 +1918,13 @@ def bind_launch_context(
1877
1918
  if tools != resolved_request.tools:
1878
1919
  resolved_request = resolved_request.model_copy(update={"tools": tools})
1879
1920
 
1880
- if (
1881
- runtime.composition_surface == LaunchCompositionSurface.SPAWN_PREPARE
1882
- and harness.id.value in _resolve_deny_headless_harnesses(runtime, project_paths)
1883
- ):
1884
- parent_harness = os.getenv("_MERIDIAN_HARNESS", "")
1885
- if parent_harness == harness.id.value:
1886
- # Caller is on the same harness that's denied — suggest native delegation.
1887
- agent_hint = (
1888
- f' Use your native Agent(subagent_type="{resolved_request.agent}") tool'
1889
- " to delegate instead."
1890
- if resolved_request.agent
1891
- else " Use your native Agent() tool to delegate instead."
1892
- )
1893
- else:
1894
- # Caller is on a different harness — suggest switching model/harness.
1895
- agent_hint = (
1896
- " Use a different model with '-m <model>' to route to an allowed harness,"
1897
- " or override with '--harness <harness>'."
1898
- )
1899
- raise ValueError(
1900
- f"Headless spawns on the '{harness.id.value}' harness are denied by "
1901
- f"'[spawn] deny_headless_harnesses' in meridian.toml."
1902
- f"{agent_hint}"
1903
- )
1921
+ # Defense in depth for persisted worker requests that bypassed preparation.
1922
+ _enforce_headless_harness_policy(
1923
+ request=resolved_request,
1924
+ harness=harness,
1925
+ runtime=runtime,
1926
+ project_paths=project_paths,
1927
+ )
1904
1928
 
1905
1929
  is_primary_launch = runtime.composition_surface == LaunchCompositionSurface.PRIMARY
1906
1930
  inject_task_cwd_instruction = directory_context.should_inject_task_cwd_instruction(
File without changes
File without changes
File without changes