meridian-cli 0.3.26__tar.gz → 0.3.28__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 (555) hide show
  1. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/.gitignore +1 -0
  2. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/PKG-INFO +17 -9
  3. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/README.md +15 -7
  4. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/pyproject.toml +1 -1
  5. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/__init__.py +1 -1
  6. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/command_groups.py +2 -2
  7. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/spawn.py +3 -2
  8. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/spawn_guidance.py +18 -14
  9. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/LICENSE +0 -0
  10. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/ag_ui/__init__.pyi +0 -0
  11. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/ag_ui/core.pyi +0 -0
  12. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/AGENTS.md +0 -0
  13. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/CLAUDE.md +0 -0
  14. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/__main__.py +0 -0
  15. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/.context/CONTEXT.md +0 -0
  16. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/AGENTS.md +0 -0
  17. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/CLAUDE.md +0 -0
  18. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/__init__.py +0 -0
  19. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/_cmd_utils.py +0 -0
  20. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/agent_help.py +0 -0
  21. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/app_tree.py +0 -0
  22. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/argv_normalization.py +0 -0
  23. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/bootstrap.py +0 -0
  24. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/bootstrap_cmd.py +0 -0
  25. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/config_cmd.py +0 -0
  26. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/doctor_cmd.py +0 -0
  27. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/entrypoint.py +0 -0
  28. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/ext_cmd.py +0 -0
  29. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/ext_registration.py +0 -0
  30. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/help_content.py +0 -0
  31. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/help_tiers.py +0 -0
  32. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/hooks_authority.py +0 -0
  33. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/hooks_commands.py +0 -0
  34. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/kg_cmd.py +0 -0
  35. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/main.py +0 -0
  36. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/mars_passthrough.py +0 -0
  37. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/mermaid_cmd.py +0 -0
  38. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/migrate_cmd.py +0 -0
  39. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/misc_commands.py +0 -0
  40. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/mode.py +0 -0
  41. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/models_cmd.py +0 -0
  42. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/output.py +0 -0
  43. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/primary_launch.py +0 -0
  44. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/qi_cmd.py +0 -0
  45. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/report_cmd.py +0 -0
  46. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/session_cmd.py +0 -0
  47. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/spawn_inject.py +0 -0
  48. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/__init__.py +0 -0
  49. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/catalog.py +0 -0
  50. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/classify.py +0 -0
  51. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/cyclopts_app.py +0 -0
  52. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/help.py +0 -0
  53. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/lazy_dispatch.py +0 -0
  54. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/startup/policy.py +0 -0
  55. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/streaming_serve.py +0 -0
  56. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/sync_cmd.py +0 -0
  57. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/task_dir_cmd.py +0 -0
  58. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/telemetry_cmd.py +0 -0
  59. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/utils.py +0 -0
  60. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/work_cmd.py +0 -0
  61. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/cli/workspace_cmd.py +0 -0
  62. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/dev/AGENTS.md +0 -0
  63. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/dev/CLAUDE.md +0 -0
  64. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/dev/__init__.py +0 -0
  65. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/dev/pytests.py +0 -0
  66. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/__init__.py +0 -0
  67. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/.context/CONTEXT.md +0 -0
  68. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/AGENTS.md +0 -0
  69. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/CLAUDE.md +0 -0
  70. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/__init__.py +0 -0
  71. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/config.py +0 -0
  72. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/project_state.py +0 -0
  73. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/runtime_state.py +0 -0
  74. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/bootstrap/services.py +0 -0
  75. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/.context/CONTEXT.md +0 -0
  76. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/AGENTS.md +0 -0
  77. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/CLAUDE.md +0 -0
  78. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/__init__.py +0 -0
  79. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/agent.py +0 -0
  80. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/bootstrap.py +0 -0
  81. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/catalog_session.py +0 -0
  82. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/model_aliases.py +0 -0
  83. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/models.py +0 -0
  84. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/catalog/skill.py +0 -0
  85. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/.context/CONTEXT.md +0 -0
  86. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/AGENTS.md +0 -0
  87. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/CLAUDE.md +0 -0
  88. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/__init__.py +0 -0
  89. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/catalog.py +0 -0
  90. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/context_config.py +0 -0
  91. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/preserving_edit.py +0 -0
  92. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/project_config_state.py +0 -0
  93. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/project_paths.py +0 -0
  94. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/project_root.py +0 -0
  95. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/schema.py +0 -0
  96. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/settings.py +0 -0
  97. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/config/workspace.py +0 -0
  98. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/context/.context/CONTEXT.md +0 -0
  99. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/context/AGENTS.md +0 -0
  100. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/context/CLAUDE.md +0 -0
  101. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/context/__init__.py +0 -0
  102. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/context/resolver.py +0 -0
  103. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/.context/CONTEXT.md +0 -0
  104. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/AGENTS.md +0 -0
  105. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/CLAUDE.md +0 -0
  106. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/__init__.py +0 -0
  107. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/child_env.py +0 -0
  108. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/clock.py +0 -0
  109. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/codec.py +0 -0
  110. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/command_strings.py +0 -0
  111. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/context.py +0 -0
  112. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/conversation.py +0 -0
  113. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/depth.py +0 -0
  114. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/domain.py +0 -0
  115. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/execution_policy.py +0 -0
  116. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/formatting.py +0 -0
  117. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/launch_policy_snapshot.py +0 -0
  118. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/lifecycle.py +0 -0
  119. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/logging.py +0 -0
  120. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/overrides.py +0 -0
  121. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/process_cleanup.py +0 -0
  122. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/resolved_context.py +0 -0
  123. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/sink.py +0 -0
  124. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/spawn_lifecycle.py +0 -0
  125. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/spawn_service.py +0 -0
  126. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/spawn_start.py +0 -0
  127. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/telemetry.py +0 -0
  128. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/types.py +0 -0
  129. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/core/util.py +0 -0
  130. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/diagnostics.py +0 -0
  131. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/.context/CONTEXT.md +0 -0
  132. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/AGENTS.md +0 -0
  133. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/CLAUDE.md +0 -0
  134. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/__init__.py +0 -0
  135. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/.context/CONTEXT.md +0 -0
  136. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/AGENTS.md +0 -0
  137. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/CLAUDE.md +0 -0
  138. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/__init__.py +0 -0
  139. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/biomed.py +0 -0
  140. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/mermaid.py +0 -0
  141. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/sessions.py +0 -0
  142. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/commands/workbench.py +0 -0
  143. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/context.py +0 -0
  144. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/descriptors.py +0 -0
  145. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/dispatcher.py +0 -0
  146. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/first_party.py +0 -0
  147. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/observability.py +0 -0
  148. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/registry.py +0 -0
  149. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/extensions/types.py +0 -0
  150. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/.context/CONTEXT.md +0 -0
  151. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/AGENTS.md +0 -0
  152. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/CLAUDE.md +0 -0
  153. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/__init__.py +0 -0
  154. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/adapter.py +0 -0
  155. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/bundle.py +0 -0
  156. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/claude.py +0 -0
  157. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/claude_preflight.py +0 -0
  158. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/claude_sessions.py +0 -0
  159. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/claude_utils.py +0 -0
  160. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/codex.py +0 -0
  161. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/codex_rollout.py +0 -0
  162. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/common.py +0 -0
  163. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/.context/CONTEXT.md +0 -0
  164. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/AGENTS.md +0 -0
  165. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/CLAUDE.md +0 -0
  166. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/__init__.py +0 -0
  167. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/base.py +0 -0
  168. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/claude_ws.py +0 -0
  169. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/codex_ws.py +0 -0
  170. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/cursor_subprocess.py +0 -0
  171. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/errors.py +0 -0
  172. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/liveness.py +0 -0
  173. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/managed_backend.py +0 -0
  174. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/opencode_http.py +0 -0
  175. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/pi_rpc.py +0 -0
  176. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/connections/resident_backend.py +0 -0
  177. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/control_action.py +0 -0
  178. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/cost.py +0 -0
  179. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/cursor.py +0 -0
  180. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/errors.py +0 -0
  181. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractor.py +0 -0
  182. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/.context/CONTEXT.md +0 -0
  183. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/AGENTS.md +0 -0
  184. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/CLAUDE.md +0 -0
  185. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/__init__.py +0 -0
  186. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/base.py +0 -0
  187. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/claude.py +0 -0
  188. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/codex.py +0 -0
  189. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/cursor.py +0 -0
  190. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/opencode.py +0 -0
  191. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/extractors/pi.py +0 -0
  192. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/launch_spec.py +0 -0
  193. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/launch_types.py +0 -0
  194. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/opencode.py +0 -0
  195. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/opencode_report.py +0 -0
  196. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/opencode_storage.py +0 -0
  197. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/opencode_transcript.py +0 -0
  198. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/.context/CONTEXT.md +0 -0
  199. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/AGENTS.md +0 -0
  200. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/CLAUDE.md +0 -0
  201. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/__init__.py +0 -0
  202. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/base.py +0 -0
  203. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/claude.py +0 -0
  204. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/codex.py +0 -0
  205. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/opencode.py +0 -0
  206. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/passthrough/registry.py +0 -0
  207. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/permission_broker.py +0 -0
  208. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/pi.py +0 -0
  209. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/pi_lifecycle_events.py +0 -0
  210. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/pi_paths.py +0 -0
  211. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/pi_runtime_resolver.py +0 -0
  212. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/.context/CONTEXT.md +0 -0
  213. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/AGENTS.md +0 -0
  214. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/CLAUDE.md +0 -0
  215. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/__init__.py +0 -0
  216. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/_guards.py +0 -0
  217. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/permission_flags.py +0 -0
  218. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/pi_extension_projection.py +0 -0
  219. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_claude.py +0 -0
  220. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_codex_common.py +0 -0
  221. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_codex_streaming.py +0 -0
  222. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_codex_subprocess.py +0 -0
  223. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_cursor.py +0 -0
  224. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_opencode_streaming.py +0 -0
  225. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_opencode_subprocess.py +0 -0
  226. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_pi_native_tui.py +0 -0
  227. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/project_pi_rpc.py +0 -0
  228. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/projections/projection_errors.py +0 -0
  229. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/registry.py +0 -0
  230. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/semantics.py +0 -0
  231. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/session_detection.py +0 -0
  232. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/harness/transcript.py +0 -0
  233. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/.context/CONTEXT.md +0 -0
  234. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/AGENTS.md +0 -0
  235. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/CLAUDE.md +0 -0
  236. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/__init__.py +0 -0
  237. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/.context/CONTEXT.md +0 -0
  238. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/AGENTS.md +0 -0
  239. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/CLAUDE.md +0 -0
  240. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/__init__.py +0 -0
  241. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/autosync_store.py +0 -0
  242. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/base.py +0 -0
  243. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin/git_autosync.py +0 -0
  244. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/builtin_registry.py +0 -0
  245. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/config.py +0 -0
  246. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/dispatch.py +0 -0
  247. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/interval.py +0 -0
  248. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/registry.py +0 -0
  249. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/runner.py +0 -0
  250. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/hooks/types.py +0 -0
  251. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ignores.py +0 -0
  252. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/.context/CONTEXT.md +0 -0
  253. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/AGENTS.md +0 -0
  254. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/CLAUDE.md +0 -0
  255. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/__init__.py +0 -0
  256. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/graph.py +0 -0
  257. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/report.py +0 -0
  258. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/serializer.py +0 -0
  259. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/kg/types.py +0 -0
  260. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/.context/CONTEXT.md +0 -0
  261. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/AGENTS.md +0 -0
  262. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/CLAUDE.md +0 -0
  263. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/__init__.py +0 -0
  264. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/artifact_io.py +0 -0
  265. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/bundle_adapter.py +0 -0
  266. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/claude_session_access.py +0 -0
  267. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/command.py +0 -0
  268. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/compiler.py +0 -0
  269. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/composition.py +0 -0
  270. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/composition_spawn.py +0 -0
  271. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/constants.py +0 -0
  272. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/context.py +0 -0
  273. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/continue_replay.py +0 -0
  274. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/cwd.py +0 -0
  275. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/env.py +0 -0
  276. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/errors.py +0 -0
  277. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/extract.py +0 -0
  278. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/fork.py +0 -0
  279. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/launch_types.py +0 -0
  280. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/materialize.py +0 -0
  281. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/permissions.py +0 -0
  282. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/plan.py +0 -0
  283. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/policies.py +0 -0
  284. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/policy_snapshot.py +0 -0
  285. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/.context/CONTEXT.md +0 -0
  286. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/AGENTS.md +0 -0
  287. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/CLAUDE.md +0 -0
  288. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/__init__.py +0 -0
  289. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/ports.py +0 -0
  290. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/primary_attach.py +0 -0
  291. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/pty_launcher.py +0 -0
  292. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/runner.py +0 -0
  293. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/session.py +0 -0
  294. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/subprocess_launcher.py +0 -0
  295. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/process/windows_launcher.py +0 -0
  296. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/prompt.py +0 -0
  297. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/prompt_context.py +0 -0
  298. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/reference.py +0 -0
  299. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/report.py +0 -0
  300. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/request.py +0 -0
  301. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/resolution.py +0 -0
  302. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/resolve.py +0 -0
  303. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/run_inputs.py +0 -0
  304. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/runner_helpers.py +0 -0
  305. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/session_scope.py +0 -0
  306. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/signals.py +0 -0
  307. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/.context/CONTEXT.md +0 -0
  308. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/AGENTS.md +0 -0
  309. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/CLAUDE.md +0 -0
  310. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/__init__.py +0 -0
  311. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/heartbeat.py +0 -0
  312. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming/terminal_arbitrator.py +0 -0
  313. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/streaming_runner.py +0 -0
  314. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/text_utils.py +0 -0
  315. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/types.py +0 -0
  316. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/workspace.py +0 -0
  317. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/workspace_projection.py +0 -0
  318. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/launch/written_files.py +0 -0
  319. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/.context/CONTEXT.md +0 -0
  320. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/AGENTS.md +0 -0
  321. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/CLAUDE.md +0 -0
  322. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/__init__.py +0 -0
  323. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/extract.py +0 -0
  324. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/markdown/types.py +0 -0
  325. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/.context/CONTEXT.md +0 -0
  326. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/AGENTS.md +0 -0
  327. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/CLAUDE.md +0 -0
  328. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/__init__.py +0 -0
  329. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/report.py +0 -0
  330. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/scanner.py +0 -0
  331. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/serializer.py +0 -0
  332. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/.context/CONTEXT.md +0 -0
  333. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/AGENTS.md +0 -0
  334. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/CLAUDE.md +0 -0
  335. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/__init__.py +0 -0
  336. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/bare_end.py +0 -0
  337. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/fill_no_color.py +0 -0
  338. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/line_map.py +0 -0
  339. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/ox_edge.py +0 -0
  340. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/preprocess.py +0 -0
  341. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/suppression.py +0 -0
  342. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/style/types.py +0 -0
  343. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/mermaid/validator.py +0 -0
  344. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/.context/CONTEXT.md +0 -0
  345. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/AGENTS.md +0 -0
  346. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/CLAUDE.md +0 -0
  347. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/__init__.py +0 -0
  348. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/debug_tracer.py +0 -0
  349. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/observability/trace_helpers.py +0 -0
  350. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/.context/CONTEXT.md +0 -0
  351. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/AGENTS.md +0 -0
  352. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/CLAUDE.md +0 -0
  353. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/__init__.py +0 -0
  354. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/catalog.py +0 -0
  355. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/commands.py +0 -0
  356. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/config.py +0 -0
  357. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/config_surface.py +0 -0
  358. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/context.py +0 -0
  359. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/diag.py +0 -0
  360. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/hooks.py +0 -0
  361. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/init_ops.py +0 -0
  362. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/mars.py +0 -0
  363. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/migration.py +0 -0
  364. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/pruning.py +0 -0
  365. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/qi.py +0 -0
  366. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/reference.py +0 -0
  367. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/reference_recovery.py +0 -0
  368. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/report.py +0 -0
  369. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/runtime.py +0 -0
  370. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_corpus.py +0 -0
  371. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_export.py +0 -0
  372. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_log.py +0 -0
  373. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_log_render.py +0 -0
  374. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_render.py +0 -0
  375. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_repair.py +0 -0
  376. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_repair_target.py +0 -0
  377. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_search.py +0 -0
  378. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_target.py +0 -0
  379. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/session_transcript.py +0 -0
  380. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/.context/CONTEXT.md +0 -0
  381. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/AGENTS.md +0 -0
  382. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/CLAUDE.md +0 -0
  383. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/__init__.py +0 -0
  384. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/api.py +0 -0
  385. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/context_ref.py +0 -0
  386. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/execute.py +0 -0
  387. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/execute_bg.py +0 -0
  388. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/execute_init.py +0 -0
  389. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/execute_runner.py +0 -0
  390. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/execute_session.py +0 -0
  391. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/failure_policy.py +0 -0
  392. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/models.py +0 -0
  393. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/pre_init.py +0 -0
  394. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/prepare.py +0 -0
  395. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/query.py +0 -0
  396. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/spawn/task_dir.py +0 -0
  397. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/sync_conflicts.py +0 -0
  398. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/work_attachment.py +0 -0
  399. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/work_dashboard.py +0 -0
  400. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/work_lifecycle.py +0 -0
  401. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/work_sessions.py +0 -0
  402. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/ops/workspace.py +0 -0
  403. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/.context/CONTEXT.md +0 -0
  404. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/AGENTS.md +0 -0
  405. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/CLAUDE.md +0 -0
  406. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/__init__.py +0 -0
  407. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/detached_process.py +0 -0
  408. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/locking.py +0 -0
  409. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/.context/CONTEXT.md +0 -0
  410. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/AGENTS.md +0 -0
  411. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/CLAUDE.md +0 -0
  412. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/__init__.py +0 -0
  413. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/base.py +0 -0
  414. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/fallback.py +0 -0
  415. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/posix.py +0 -0
  416. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/process_scope/windows_job.py +0 -0
  417. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/terminate.py +0 -0
  418. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/platform/unix_modules.py +0 -0
  419. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/.context/CONTEXT.md +0 -0
  420. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/AGENTS.md +0 -0
  421. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/CLAUDE.md +0 -0
  422. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/__init__.py +0 -0
  423. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/budget.py +0 -0
  424. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/guardrails.py +0 -0
  425. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/permissions.py +0 -0
  426. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/safety/redaction.py +0 -0
  427. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/service_context.py +0 -0
  428. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/spawn/.context/CONTEXT.md +0 -0
  429. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/spawn/AGENTS.md +0 -0
  430. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/spawn/CLAUDE.md +0 -0
  431. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/spawn/__init__.py +0 -0
  432. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/spawn/archive.py +0 -0
  433. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/.context/CONTEXT.md +0 -0
  434. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/AGENTS.md +0 -0
  435. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/CLAUDE.md +0 -0
  436. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/__init__.py +0 -0
  437. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/artifact_store.py +0 -0
  438. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/atomic.py +0 -0
  439. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/event_store.py +0 -0
  440. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/history.py +0 -0
  441. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/launch_boundary.py +0 -0
  442. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/liveness.py +0 -0
  443. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/managed_primary.py +0 -0
  444. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/paths.py +0 -0
  445. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/primary_meta.py +0 -0
  446. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/process_scope_projection.py +0 -0
  447. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/reaper.py +0 -0
  448. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/runtime_root.py +0 -0
  449. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/session_identity.py +0 -0
  450. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/session_store.py +0 -0
  451. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/.context/CONTEXT.md +0 -0
  452. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/AGENTS.md +0 -0
  453. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/CLAUDE.md +0 -0
  454. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/__init__.py +0 -0
  455. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/model.py +0 -0
  456. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/repository.py +0 -0
  457. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/terminal_policy.py +0 -0
  458. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn/transitions.py +0 -0
  459. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn_report.py +0 -0
  460. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn_scope.py +0 -0
  461. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn_signals.py +0 -0
  462. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn_store.py +0 -0
  463. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/spawn_tree.py +0 -0
  464. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/timestamps.py +0 -0
  465. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/user_paths.py +0 -0
  466. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/wordgen.py +0 -0
  467. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/wordlists.py +0 -0
  468. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/work_scope.py +0 -0
  469. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/state/work_store.py +0 -0
  470. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/.context/CONTEXT.md +0 -0
  471. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/AGENTS.md +0 -0
  472. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/CLAUDE.md +0 -0
  473. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/__init__.py +0 -0
  474. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/completion_nudge.py +0 -0
  475. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/control_socket.py +0 -0
  476. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/disk_watcher.py +0 -0
  477. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/drain_coordinator.py +0 -0
  478. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/drain_policy.py +0 -0
  479. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/drain_wait.py +0 -0
  480. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/event_observers.py +0 -0
  481. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/heartbeat.py +0 -0
  482. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/pi_drain.py +0 -0
  483. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/pi_process_cleanup.py +0 -0
  484. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/pi_quiescence.py +0 -0
  485. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/pi_subspawn_tracker.py +0 -0
  486. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/resident_drain.py +0 -0
  487. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/signal_canceller.py +0 -0
  488. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/spawn_dispatch.py +0 -0
  489. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/spawn_drain_loop.py +0 -0
  490. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/spawn_manager.py +0 -0
  491. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/spawn_session.py +0 -0
  492. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/streaming/types.py +0 -0
  493. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/__init__.py +0 -0
  494. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/bootstrap.py +0 -0
  495. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/correlation.py +0 -0
  496. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/events.py +0 -0
  497. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/init.py +0 -0
  498. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/local_jsonl.py +0 -0
  499. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/maintenance.py +0 -0
  500. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/observer.py +0 -0
  501. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/observers.py +0 -0
  502. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/query.py +0 -0
  503. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/reader.py +0 -0
  504. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/retention.py +0 -0
  505. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/router.py +0 -0
  506. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/sinks.py +0 -0
  507. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/telemetry/status.py +0 -0
  508. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/tools.py +0 -0
  509. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/utils/__init__.py +0 -0
  510. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/lib/utils/time.py +0 -0
  511. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/.context/CONTEXT.md +0 -0
  512. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/README.md +0 -0
  513. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/__init__.py +0 -0
  514. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/dist/extensions/managed-bash/index.js +0 -0
  515. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/dist/extensions/meridian-spawn-watch/index.js +0 -0
  516. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/managed-bash/bundle.smoke.test.ts +0 -0
  517. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_log_store.ts +0 -0
  518. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.test.ts +0 -0
  519. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/managed-bash/src/bash_runtime.ts +0 -0
  520. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/managed-bash/src/index.ts +0 -0
  521. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/bundle.smoke.test.ts +0 -0
  522. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.test.ts +0 -0
  523. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/meridian-spawn-watch/src/index.ts +0 -0
  524. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/ids.ts +0 -0
  525. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/json_file.ts +0 -0
  526. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/log_overlay.ts +0 -0
  527. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/meridian_cli.ts +0 -0
  528. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.test.ts +0 -0
  529. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/meridian_spawn.ts +0 -0
  530. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/pi_harness_profile.ts +0 -0
  531. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/pi_state_paths.ts +0 -0
  532. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/schemas.ts +0 -0
  533. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/selectable_panel.test.ts +0 -0
  534. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/selectable_panel.ts +0 -0
  535. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/spawn_origins.test.ts +0 -0
  536. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/spawn_origins.ts +0 -0
  537. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/extensions/shared/ui.ts +0 -0
  538. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/package.json +0 -0
  539. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/pnpm-lock.yaml +0 -0
  540. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/pnpm-workspace.yaml +0 -0
  541. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/scripts/verify-extensions-loop.mjs +0 -0
  542. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/pi_runtime/vitest.config.ts +0 -0
  543. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/AGENTS.md +0 -0
  544. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/CLAUDE.md +0 -0
  545. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/__init__.py +0 -0
  546. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/config.py +0 -0
  547. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/fs.py +0 -0
  548. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/git.py +0 -0
  549. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/state.py +0 -0
  550. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/plugin_api/types.py +0 -0
  551. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/py.typed +0 -0
  552. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/server/AGENTS.md +0 -0
  553. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/server/CLAUDE.md +0 -0
  554. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/server/__init__.py +0 -0
  555. {meridian_cli-0.3.26 → meridian_cli-0.3.28}/src/meridian/server/main.py +0 -0
@@ -47,3 +47,4 @@ src/meridian/pi_runtime/.meridian/
47
47
 
48
48
  # Agent coordination scratch
49
49
  plan/
50
+ .work-artifacts/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meridian-cli
3
- Version: 0.3.26
3
+ Version: 0.3.28
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
@@ -24,7 +24,7 @@ Requires-Dist: coolname>=4.0.0
24
24
  Requires-Dist: cyclopts>=3.0
25
25
  Requires-Dist: fastapi>=0.115
26
26
  Requires-Dist: markdown-it-py>=4.0
27
- Requires-Dist: mars-agents==0.10.2
27
+ Requires-Dist: mars-agents==0.10.3
28
28
  Requires-Dist: mcp>=1.0
29
29
  Requires-Dist: pathspec>=1.1.0
30
30
  Requires-Dist: psutil>=7.2.2
@@ -48,19 +48,25 @@ Provides-Extra: templates
48
48
  Requires-Dist: jinja2>=3.1; extra == 'templates'
49
49
  Description-Content-Type: text/markdown
50
50
 
51
- # meridian
51
+ # meridian-cli
52
52
 
53
- Orchestrate AI coding agents across Claude Code, Codex, and OpenCode. Each model runs through its native harness meridian coordinates between them.
53
+ Let coding harnesses call each other. meridian-cli lets agents running in Claude Code, Codex CLI, and OpenCode spawn named specialist agents in the other harnesses, each with the model, cost, and tool environment you configured.
54
54
 
55
- > **Early development.** Meridian is not stable. Expect breaking changes in any release. If you need a stable workflow, this project is not ready for you yet.
55
+ It is for people who already use more than one AI coding CLI and want one team of agents instead of separate chat sessions.
56
+
57
+ > **Early development.** meridian-cli is not stable. Expect breaking changes in any release. If you need a stable workflow, this project is not ready for you yet.
56
58
 
57
59
  ## Why
58
60
 
59
- Claude Code is (supposed to be) the best way to run Claude. Codex CLI is often the best way to run GPT. Each provider's harness is optimized for their models — sandboxing, tool use, context handling, everything (supposedly).
61
+ Good agentic coding is an allocation problem. Some tasks need the strongest model you have; some need cheap, parallel throughput; some need a specific harness feature such as sandboxing, tool behavior, context handling, or integrations.
62
+
63
+ Without meridian-cli, those choices are trapped inside separate CLIs. Switching harnesses means manually copying context between sessions and hoping the next agent understands what happened.
60
64
 
61
- But you can only use one at a time.
65
+ meridian-cli turns that handoff into a command. A caller can delegate to a named specialist, pass only the context that agent needs, and pick up the result from disk. Use the expensive model where judgment matters, use cheaper agents where throughput matters, and keep every agent inside the harness that fits the job.
62
66
 
63
- Meridian lets agents spawn other agents across harnesses. The right model for each task, through the right runtime, with clean context per spawn.
67
+ ## One Harness Can Call Another
68
+
69
+ > **Demo placeholder:** add a short terminal recording or screenshot here showing one coding harness spawning an agent in another harness, then collecting the result with `meridian spawn wait` or `meridian spawn show`.
64
70
 
65
71
  ## Install
66
72
 
@@ -68,6 +74,8 @@ Meridian lets agents spawn other agents across harnesses. The right model for ea
68
74
  uv tool install meridian-cli
69
75
  ```
70
76
 
77
+ The package is `meridian-cli`; the command it installs is `meridian`.
78
+
71
79
  <details>
72
80
  <summary>Other methods</summary>
73
81
 
@@ -90,7 +98,7 @@ You need at least one harness installed: [Claude Code](https://docs.anthropic.co
90
98
 
91
99
  ## Set Up a Project
92
100
 
93
- `meridian init` by itself only bootstraps Meridian project config:
101
+ `meridian init` by itself only bootstraps meridian-cli project config:
94
102
 
95
103
  ```bash
96
104
  meridian init
@@ -1,16 +1,22 @@
1
- # meridian
1
+ # meridian-cli
2
2
 
3
- Orchestrate AI coding agents across Claude Code, Codex, and OpenCode. Each model runs through its native harness meridian coordinates between them.
3
+ Let coding harnesses call each other. meridian-cli lets agents running in Claude Code, Codex CLI, and OpenCode spawn named specialist agents in the other harnesses, each with the model, cost, and tool environment you configured.
4
4
 
5
- > **Early development.** Meridian is not stable. Expect breaking changes in any release. If you need a stable workflow, this project is not ready for you yet.
5
+ It is for people who already use more than one AI coding CLI and want one team of agents instead of separate chat sessions.
6
+
7
+ > **Early development.** meridian-cli is not stable. Expect breaking changes in any release. If you need a stable workflow, this project is not ready for you yet.
6
8
 
7
9
  ## Why
8
10
 
9
- Claude Code is (supposed to be) the best way to run Claude. Codex CLI is often the best way to run GPT. Each provider's harness is optimized for their models — sandboxing, tool use, context handling, everything (supposedly).
11
+ Good agentic coding is an allocation problem. Some tasks need the strongest model you have; some need cheap, parallel throughput; some need a specific harness feature such as sandboxing, tool behavior, context handling, or integrations.
12
+
13
+ Without meridian-cli, those choices are trapped inside separate CLIs. Switching harnesses means manually copying context between sessions and hoping the next agent understands what happened.
10
14
 
11
- But you can only use one at a time.
15
+ meridian-cli turns that handoff into a command. A caller can delegate to a named specialist, pass only the context that agent needs, and pick up the result from disk. Use the expensive model where judgment matters, use cheaper agents where throughput matters, and keep every agent inside the harness that fits the job.
12
16
 
13
- Meridian lets agents spawn other agents across harnesses. The right model for each task, through the right runtime, with clean context per spawn.
17
+ ## One Harness Can Call Another
18
+
19
+ > **Demo placeholder:** add a short terminal recording or screenshot here showing one coding harness spawning an agent in another harness, then collecting the result with `meridian spawn wait` or `meridian spawn show`.
14
20
 
15
21
  ## Install
16
22
 
@@ -18,6 +24,8 @@ Meridian lets agents spawn other agents across harnesses. The right model for ea
18
24
  uv tool install meridian-cli
19
25
  ```
20
26
 
27
+ The package is `meridian-cli`; the command it installs is `meridian`.
28
+
21
29
  <details>
22
30
  <summary>Other methods</summary>
23
31
 
@@ -40,7 +48,7 @@ You need at least one harness installed: [Claude Code](https://docs.anthropic.co
40
48
 
41
49
  ## Set Up a Project
42
50
 
43
- `meridian init` by itself only bootstraps Meridian project config:
51
+ `meridian init` by itself only bootstraps meridian-cli project config:
44
52
 
45
53
  ```bash
46
54
  meridian init
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "cyclopts>=3.0",
25
25
  "fastapi>=0.115",
26
26
  "markdown-it-py>=4.0",
27
- "mars-agents==0.10.2",
27
+ "mars-agents==0.10.3",
28
28
  "mcp>=1.0",
29
29
  "pathspec>=1.1.0",
30
30
  "psutil>=7.2.2",
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.3.26"
5
+ __version__ = "0.3.28"
@@ -49,8 +49,8 @@ _GROUP_HELP: dict[str, GroupHelp] = {
49
49
  summary='Run subagents with a model and prompt file.',
50
50
  long_help='Hand a task to a subagent — a bulk read, a parallel fix, or a job for a stronger or cheaper model — so you keep your own context for the parts that need your judgment. Write the task to a file and pass --prompt-file; add --bg to launch detached and collect the result with `meridian spawn wait`.',
51
51
  examples=(('meridian spawn -m gpt-5.3-codex --prompt-file "$(meridian work path prompts/fix-auth.md)" --bg', ''), ('meridian spawn -m claude-sonnet-4-6 --prompt-file "$(meridian work path prompts/review.md)" --bg -f src/main.py', ''), ('meridian spawn --fork c123 --prompt-file "$(meridian work path prompts/follow-up.md)" --bg', ''), ('meridian spawn --fork-fresh c123 -a reviewer --prompt-file "$(meridian work path prompts/role-shift.md)" --bg', ''), ('meridian spawn wait', '')),
52
- agent_notes="Core loop: launch detached with --bg, then drain with no-arg `meridian spawn wait`. Every --bg spawn must be drained before you respond to the user, start dependent work, or end your turn; un-waited background spawns are lost.\n\nLifecycle: queued → running → finalizing → terminal. Treat finalizing as active; terminal is succeeded, failed, cancelled, or timed_out.\n\nPrompt passing: use --prompt-file for delegation. Inline -p is for trivial smoke tests only because shell quoting mutates prompts ($vars, backticks, quotes, multiline) before meridian sees them. Run `meridian work path prompts/<name>.md`, write the prompt to the printed absolute path, then pass that path literally to --prompt-file. Disposable launch prompts belong under prompts/ (no /tmp, no shell var that won't survive the next Bash call).\n\nProfile vs model: prefer -a <profile> when a role fits; use -m <model> for one-offs. Put recurring model choices in profiles or config, not hardcoded spawn commands.\n\nContext refs: prefer a folder over a file bundle. A folder tells the agent where to work; it does not inline everything. Normal shape: one folder plus at most one source-of-truth file. AGENTS.md and .context/CONTEXT.md auto-load from the work directory, so don't pass them redundantly. Use --from for prior reasoning that is not in files.\n\n--goal is a verifiable exit state, not a restatement of the task.\n\nParallel work: launch several --bg spawns, then one no-arg `meridian spawn wait` drains all. Don't babysit with repeated `spawn show` or `session log`; wait when you need results.\n\nReuse decision: --continue resumes the same session; --fork branches while preserving identity; --fork-fresh branches and allows identity changes, with weaker cache locality; --from starts fresh while carrying prior context as reference.\n\nInspect a run: `meridian session log <id>`; use `meridian spawn children <id>` to trace descendants.\nSteer a running spawn: `meridian spawn inject`.\nStage spawn changes: `meridian spawn files <id> | xargs git add`.",
53
- agent_notes_brief='Delegate with --prompt-file, never inline -p. The shell mangles a prompt before meridian sees it — backticks run as commands, $vars expand, quotes and newlines collapse. A file preserves exact text and keeps the handoff inspectable. Run `meridian work path prompts/<name>.md`, write there, then pass that path literally (no /tmp, and no $f shell var that won\'t survive your next Bash call):\n meridian spawn -a coder --prompt-file "$(meridian work path prompts/task.md)" --bg\n\nPick the runner: -a <profile> when a role fits, -m <model> for a one-off. Keep recurring model choices in profiles or config, not in the command.\n\nPass context as a folder, not a file pile. A folder says where to work and lets the agent read what it needs; each extra -f may get inlined and drains its context. Usual shape: one folder plus at most one source-of-truth file. AGENTS.md and .context/CONTEXT.md auto-load from the work dir — don\'t re-pass them. Use --from for prior reasoning that isn\'t in any file.\n\nSet --goal to a verifiable exit state ("tests pass, lint clean"), not a restatement of the task — it\'s the contract the agent works until it meets.\n\nGoing parallel? Launch several --bg and let one `wait` drain them all; don\'t babysit with repeated `spawn show` / `session log` — that spends your context supervising instead of working.\n\nReuse a session with --continue. Full methodology and every flag — including --fork / --fork-fresh — is in `meridian spawn -h --advanced`.',
52
+ agent_notes="Core loop: launch detached with --bg, then drain with no-arg `meridian spawn wait`. Every --bg spawn must be drained before you respond to the user, start dependent work, or end your turn; un-waited background spawns are lost.\n\nLifecycle: queued → running → finalizing → terminal. Treat finalizing as active; terminal is succeeded, failed, cancelled, or timed_out.\n\nPrompt passing: use --prompt-file for delegation. Inline -p is for trivial smoke tests only because shell quoting mutates prompts ($vars, backticks, quotes, multiline) before meridian sees them. Run `meridian work path prompts/<name>.md`, write the prompt to the printed absolute path, then pass that path literally to --prompt-file. Disposable launch prompts belong under prompts/ (no /tmp, no shell var that won't survive the next Bash call).\n\nProfile vs model: prefer -a <profile> when a role fits; use -m <model> for one-offs. Put recurring model choices in profiles or config, not hardcoded spawn commands.\n\nContext refs: prefer a folder over a file bundle. A folder tells the agent where to work; it does not inline everything. Normal shape: one folder plus at most one source-of-truth file. AGENTS.md and .context/CONTEXT.md auto-load from the work directory, so don't pass them redundantly. Use --from for prior reasoning that is not in files.\n\nTask dir: source edits run in the work item's task_dir (check: `meridian task-dir`). --task-dir points one spawn at another checkout, e.g. a worktree lane; `meridian work task-dir <path>` rebinds the work item itself.\n\n--goal is a verifiable exit state, not a restatement of the task.\n\nParallel work: launch several --bg spawns, then one no-arg `meridian spawn wait` drains all. Don't babysit with repeated `spawn show` or `session log`; wait when you need results.\n\nReuse decision: --continue resumes the same session; --fork branches while preserving identity; --fork-fresh branches and allows identity changes, with weaker cache locality; --from starts fresh while carrying prior context as reference.\n\nInspect a run: `meridian session log <id>`; use `meridian spawn children <id>` to trace descendants.\nSteer a running spawn: `meridian spawn inject`.\nStage spawn changes: `meridian spawn files <id> | xargs git add`.",
53
+ agent_notes_brief='Delegate with --prompt-file, never inline -p. The shell mangles a prompt before meridian sees it — backticks run as commands, $vars expand, quotes and newlines collapse. A file preserves exact text and keeps the handoff inspectable. Run `meridian work path prompts/<name>.md`, write there, then pass that path literally (no /tmp, and no $f shell var that won\'t survive your next Bash call):\n meridian spawn -a coder --prompt-file "$(meridian work path prompts/task.md)" --bg\n\nPick the runner: -a <profile> when a role fits, -m <model> for a one-off. Keep recurring model choices in profiles or config, not in the command.\n\nPass context as a folder, not a file pile. A folder says where to work and lets the agent read what it needs; each extra -f may get inlined and drains its context. Usual shape: one folder plus at most one source-of-truth file. AGENTS.md and .context/CONTEXT.md auto-load from the work dir — don\'t re-pass them. Use --from for prior reasoning that isn\'t in any file.\n\nSource edits run in the work item\'s task_dir — check it with `meridian task-dir`. Pass --task-dir to point one spawn at another checkout (e.g. a worktree lane); rebind the work item itself with `meridian work task-dir <path>`.\n\nSet --goal to a verifiable exit state ("tests pass, lint clean"), not a restatement of the task — it\'s the contract the agent works until it meets.\n\nGoing parallel? Launch several --bg and let one `wait` drain them all; don\'t babysit with repeated `spawn show` / `session log` — that spends your context supervising instead of working.\n\nReuse a session with --continue. Full methodology and every flag — including --fork / --fork-fresh — is in `meridian spawn -h --advanced`.',
54
54
  agent_subcommands=('show', 'wait', 'list', 'children', 'files', 'report', 'inject', 'done', 'rearm', 'cancel', 'cancel-all'),
55
55
  agent_core_subcommands=('wait', 'show', 'list', 'inject', 'files', 'cancel'),
56
56
  ),
@@ -337,10 +337,11 @@ def _spawn_create(
337
337
  str | None,
338
338
  Parameter(
339
339
  name="--task-dir",
340
- group=ADVANCED_PARAMS,
341
340
  help=(
342
341
  "Override the source-code edit directory for this spawn only. "
343
- "Does not modify the work item's task_dir setting. "
342
+ "Does not modify the work item's task_dir setting "
343
+ "(check with `meridian task-dir`; rebind with "
344
+ "`meridian work task-dir <path>`). "
344
345
  "Relative -f paths resolve against this directory."
345
346
  ),
346
347
  ),
@@ -17,10 +17,17 @@ Every spawn starts with fresh context — scope the handoff to what the \
17
17
  subagent needs, not what you've been thinking about. Front-load the task; \
18
18
  the subagent should know its job by line 3.
19
19
 
20
- Pass `--skills skill1,skill2` to load additional skills onto the subagent.
21
- Agent profiles already set the right model for each role; prefer the \
22
- defaults. Use `-m <model>` only for deliberate fan-out (e.g. reviewers \
23
- across models for perspective diversity).
20
+ Compose the lane at spawn time:
21
+ - `--skills skill1,skill2` attaches focus skills to any agent prefer a
22
+ near-fit agent plus an attached skill over a generic agent.
23
+ - `-m <model>` overrides the profile model — for deliberate fan-out (the
24
+ same task across models) or when the lane needs a capability the
25
+ default lacks; otherwise prefer the profile default.
26
+ - `--from <spawn-or-chat id>` hands the spawn a prior conversation's
27
+ context — reach for it when the reasoning matters, not just the
28
+ artifacts (knowledge capture, reviewing a decision trail).
29
+ - `--task-dir <path>` points the spawn's source edits at another
30
+ checkout, e.g. a worktree lane that must not collide with others.
24
31
 
25
32
  For model-specific prompting guidance: meridian mars models prompting <agent-or-model>"""
26
33
 
@@ -57,18 +64,15 @@ def build_spawn_usage_contract(variants: SpawnUsageContractVariants) -> str:
57
64
  - Do NOT use the Agent() tool for work that a meridian agent can do.
58
65
  Use `meridian spawn -a <agent>` instead — it routes to the right
59
66
  model and harness, tracks the work, and produces inspectable artifacts.
60
- - Launch with --bg; it returns a spawn id without waiting for the work and
61
- runs the worker detached:
62
- meridian spawn -a <agent> --prompt-file <prompt>.md --bg
63
67
  - {variants.double_wrap_bullet}
64
68
  - {variants.timeout_bullet}
65
- - Track with no-arg wait no id needed; it discovers your pending spawns
66
- by session and yields cache-cleanly. Re-invoke to keep waiting:
67
- meridian spawn wait
68
- - Every --bg spawn must be drained with `meridian spawn wait` before you
69
- respond to the user, start dependent work, or end your turn; un-waited
70
- background spawns are lost.
71
- - Full reference: meridian spawn -h"""
69
+ - Drain every --bg spawn with no-arg `meridian spawn wait` before you
70
+ respond to the user, start dependent work, or end your turn. It finds
71
+ your pending spawns by session; re-invoke to keep waiting. The wait
72
+ itself can run in your native background execution to keep working
73
+ while it blocks — it's the launch, not the wait, that must never be
74
+ background-wrapped. Un-waited background spawns are lost.
75
+ - Playbook and full flags: meridian spawn -h"""
72
76
 
73
77
 
74
78
  def has_spawn_capability(profile: AgentProfile | None) -> bool:
File without changes