meridian-cli 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/.gitignore +1 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/PKG-INFO +1 -1
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/__init__.py +1 -1
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/codex_ws.py +12 -3
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/.context/CONTEXT.md +12 -8
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/context.py +4 -1
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/cwd.py +11 -3
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/.context/CONTEXT.md +5 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/worktree_ensure.py +7 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/worktree_lifecycle.py +14 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/LICENSE +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/README.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/pyproject.toml +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/ag_ui/__init__.pyi +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/ag_ui/core.pyi +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/__main__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/_cmd_utils.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/agent_help.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/app_tree.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/argv_normalization.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/bootstrap.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/bootstrap_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/chat_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/config_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/doctor_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/entrypoint.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/ext_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/ext_registration.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/hooks_authority.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/hooks_commands.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/kg_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/main.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/mars_passthrough.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/mermaid_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/migrate_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/misc_commands.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/models_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/output.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/primary_launch.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/qi_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/report_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/session_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/spawn.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/spawn_inject.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/catalog.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/classify.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/cyclopts_app.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/help.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/lazy_dispatch.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/startup/policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/streaming_serve.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/sync_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/telemetry_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/utils.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/work_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/cli/workspace_cmd.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/dev/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/dev/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/dev/pytests.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/config.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/project_state.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/runtime_state.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/bootstrap/services.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/agent.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/bootstrap.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/catalog_session.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/model_aliases.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/models.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/catalog/skill.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/backend_acquisition.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/backend_handle.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/checkpoint.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/command_handler.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/command_invariants.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/commands.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/discovery.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/launcher.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/portless.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/raw_vite.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/supervisor.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/event_index.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/event_log.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/event_observer.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/event_pipeline.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/frontend.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/claude.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/codex.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/common.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/opencode.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/synthetic.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/protocol.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/recovery.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/replay.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/runtime.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/server.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/session_service.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/ws_fanout.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/catalog.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/context_config.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/preserving_edit.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/project_config_state.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/project_paths.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/project_root.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/schema.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/settings.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/config/workspace.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/context/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/context/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/context/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/context/resolver.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/child_env.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/clock.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/codec.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/context.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/conversation.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/depth.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/domain.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/execution_policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/formatting.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/lifecycle.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/logging.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/overrides.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/process_cleanup.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/resolved_context.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/sink.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/spawn_lifecycle.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/spawn_service.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/spawn_start.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/telemetry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/core/util.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/diagnostics.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/biomed.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/mermaid.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/sessions.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/commands/workbench.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/context.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/descriptors.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/dispatcher.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/first_party.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/observability.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/extensions/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/adapter.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/bundle.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/claude.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/claude_preflight.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/claude_utils.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/codex.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/codex_rollout.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/common.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/claude_ws.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/cursor_subprocess.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/errors.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/opencode_http.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/pi_lifecycle_file.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/connections/pi_rpc.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/control_action.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/cost.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/cursor.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/errors.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractor.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/claude.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/codex.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/cursor.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/opencode.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/extractors/pi.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/launch_spec.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/launch_types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/opencode.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/opencode_storage.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/opencode_transcript.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/claude.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/codex.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/opencode.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/passthrough/registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/permission_broker.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/pi.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/pi_lifecycle_events.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/pi_runtime_resolver.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/_guards.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/permission_flags.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/pi_extension_projection.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_claude.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_codex_common.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_codex_streaming.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_codex_subprocess.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_cursor.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_opencode_streaming.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_opencode_subprocess.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_pi_native_tui.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/project_pi_rpc.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/projections/projection_errors.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/semantics.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/session_detection.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/harness/transcript.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/autosync_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin/git_autosync.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/builtin_registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/config.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/dispatch.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/interval.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/registry.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/runner.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/hooks/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ignores.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/graph.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/report.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/serializer.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/kg/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/artifact_io.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/bundle_adapter.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/claude_session_access.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/command.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/compiler.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/composition.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/constants.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/env.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/errors.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/extract.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/fork.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/launch_types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/materialize.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/permissions.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/plan.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/policies.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/ports.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/primary_attach.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/pty_launcher.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/runner.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/session.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/subprocess_launcher.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/process/windows_launcher.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/prompt.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/reference.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/report.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/request.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/resolve.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/run_inputs.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/runner_helpers.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/session_scope.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/signals.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming/heartbeat.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming/terminal_arbitrator.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/streaming_runner.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/text_utils.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/workspace.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/workspace_projection.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/launch/written_files.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/markdown/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/markdown/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/markdown/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/markdown/extract.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/markdown/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/report.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/scanner.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/serializer.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/bare_end.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/fill_no_color.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/line_map.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/ox_edge.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/preprocess.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/suppression.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/style/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/mermaid/validator.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/observability/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/observability/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/observability/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/observability/debug_tracer.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/observability/trace_helpers.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/catalog.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/commands.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/config.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/config_surface.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/context.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/diag.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/hooks.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/init_ops.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/mars.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/migration.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/pruning.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/qi.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/reference.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/reference_recovery.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/report.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/runtime.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_export.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_log.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_read.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_render.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_repair.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_search.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/session_target.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/api.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/context_ref.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/execute.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/execute_bg.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/execute_init.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/execute_runner.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/execute_session.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/failure_policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/models.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/prepare.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/spawn/query.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/sync_conflicts.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/work_attachment.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/work_dashboard.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/work_lifecycle.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/work_worktree.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/workspace.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/worktree_format.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/ops/worktree_ops.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/locking.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/base.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/fallback.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/posix.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/process_scope/windows_job.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/terminate.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/unix_modules.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/platform/windows_job.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/budget.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/guardrails.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/permissions.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/safety/redaction.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/service_context.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/spawn/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/spawn/archive.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/artifact_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/atomic.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/event_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/history.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/launch_boundary.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/liveness.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/managed_primary.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/paths.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/primary_meta.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/process_scope_projection.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/reaper.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/session_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/model.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/repository.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/terminal_policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn/transitions.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/spawn_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/temp_worktree_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/user_paths.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/wordgen.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/wordlists.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/state/work_store.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/control_socket.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/drain_policy.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/event_observers.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/heartbeat.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/inject_lock.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/signal_canceller.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/spawn_manager.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/streaming/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/bootstrap.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/correlation.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/events.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/init.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/local_jsonl.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/maintenance.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/observer.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/observers.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/query.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/reader.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/retention.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/router.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/sinks.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/telemetry/status.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/tools.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/utils/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/utils/time.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/README.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/managed-bash/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/managed-bash/src/index.ts +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/meridian-lifecycle/.context/CONTEXT.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/meridian-lifecycle/src/index.ts +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/shared/lifecycle_sidecar.ts +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/extensions/types.ts +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/package.json +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/pnpm-lock.yaml +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/pi_runtime/pnpm-workspace.yaml +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/config.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/fs.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/git.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/state.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/plugin_api/types.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/py.typed +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/server/AGENTS.md +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/server/__init__.py +0 -0
- {meridian_cli-0.2.3 → meridian_cli-0.2.4}/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.2.
|
|
3
|
+
Version: 0.2.4
|
|
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
|
|
@@ -312,6 +312,7 @@ class CodexConnection(HarnessConnection[ResolvedLaunchSpec]):
|
|
|
312
312
|
|
|
313
313
|
env = inherit_child_env(os.environ, config.env_overrides)
|
|
314
314
|
self._codex_home = resolve_codex_home(env)
|
|
315
|
+
effective_cwd = self._effective_project_root()
|
|
315
316
|
spawn_dir = resolve_spawn_log_dir(config.control_root, config.spawn_id)
|
|
316
317
|
spawn_dir.mkdir(parents=True, exist_ok=True)
|
|
317
318
|
self._stderr_log_path = spawn_dir / "stderr.log"
|
|
@@ -329,7 +330,7 @@ class CodexConnection(HarnessConnection[ResolvedLaunchSpec]):
|
|
|
329
330
|
self._emit_startup_phase(StartupPhase.LAUNCHING_SUBPROCESS)
|
|
330
331
|
self._process = await asyncio.create_subprocess_exec(
|
|
331
332
|
*appserver_command,
|
|
332
|
-
cwd=str(
|
|
333
|
+
cwd=str(effective_cwd),
|
|
333
334
|
env=env,
|
|
334
335
|
stdout=asyncio.subprocess.DEVNULL,
|
|
335
336
|
stderr=self._stderr_handle,
|
|
@@ -1109,6 +1110,14 @@ class CodexConnection(HarnessConnection[ResolvedLaunchSpec]):
|
|
|
1109
1110
|
"""Check if this is a fresh session (not resume or fork)."""
|
|
1110
1111
|
return not (spec.continue_session_id or "").strip()
|
|
1111
1112
|
|
|
1113
|
+
def _effective_project_root(self) -> Path:
|
|
1114
|
+
"""Project root Codex should bind the app-server/thread/rollout to."""
|
|
1115
|
+
|
|
1116
|
+
config = self._config
|
|
1117
|
+
if config is None:
|
|
1118
|
+
raise RuntimeError("Codex connection config is unavailable")
|
|
1119
|
+
return config.task_cwd or config.control_root
|
|
1120
|
+
|
|
1112
1121
|
async def _send_bootstrap_turn_and_wait(self) -> None:
|
|
1113
1122
|
"""Send a minimal bootstrap turn and wait for completion.
|
|
1114
1123
|
|
|
@@ -1149,7 +1158,7 @@ class CodexConnection(HarnessConnection[ResolvedLaunchSpec]):
|
|
|
1149
1158
|
if (
|
|
1150
1159
|
find_attachable_rollout_session_id(
|
|
1151
1160
|
codex_home=codex_home,
|
|
1152
|
-
project_root=
|
|
1161
|
+
project_root=self._effective_project_root(),
|
|
1153
1162
|
session_id=thread_id,
|
|
1154
1163
|
)
|
|
1155
1164
|
== thread_id
|
|
@@ -1182,7 +1191,7 @@ class CodexConnection(HarnessConnection[ResolvedLaunchSpec]):
|
|
|
1182
1191
|
projected = project_managed_primary_bootstrap(
|
|
1183
1192
|
self.harness_id,
|
|
1184
1193
|
spec,
|
|
1185
|
-
project_root=
|
|
1194
|
+
project_root=self._effective_project_root(),
|
|
1186
1195
|
)
|
|
1187
1196
|
if not isinstance(projected, tuple):
|
|
1188
1197
|
raise TypeError("Codex managed-primary bootstrap must be (method, payload)")
|
|
@@ -196,11 +196,13 @@ to `logical_task_cwd` but may differ — Claude harness forces it to `authority_
|
|
|
196
196
|
when `has_distinct_task_cwd` is true, because Claude's `--add-dir` grants access
|
|
197
197
|
without needing the process to start in the task directory.
|
|
198
198
|
|
|
199
|
-
**Task CWD instruction injection.**
|
|
200
|
-
|
|
201
|
-
the task cwd before
|
|
202
|
-
|
|
203
|
-
|
|
199
|
+
**Task CWD instruction injection.** For non-primary child spawns with a distinct
|
|
200
|
+
`logical_task_cwd`, launch composition always adds a prompt instruction telling
|
|
201
|
+
the agent to `cd` into the task cwd before filesystem operations. This is a
|
|
202
|
+
conservative child-spawn safety contract: harnesses may bind tools differently
|
|
203
|
+
than Meridian's requested process cwd. Primary sessions stay quiet unless a
|
|
204
|
+
future primary flow explicitly needs task-cwd steering. Controlled by
|
|
205
|
+
`LaunchDirectoryContext.should_inject_task_cwd_instruction(surface)`.
|
|
204
206
|
|
|
205
207
|
Resolution priority in `resolve_task_cwd()`:
|
|
206
208
|
1. `--no-worktree` → authority root
|
|
@@ -263,11 +265,13 @@ Two steps inside `bind_launch_context()`:
|
|
|
263
265
|
`--add-dir` args; OpenCode gets `OPENCODE_CONFIG_CONTENT` env override (deep-merged).
|
|
264
266
|
|
|
265
267
|
Roots include workspace roots, git context clone roots, context projection roots
|
|
266
|
-
(work, kb, extras),
|
|
267
|
-
Extra args remain user-owned passthrough; they
|
|
268
|
+
(work, kb, extras), task cwd when task cwd is external, runtime root, and system
|
|
269
|
+
temp dir — deduplicated in order. Extra args remain user-owned passthrough; they
|
|
270
|
+
are not a workspace projection channel.
|
|
268
271
|
|
|
269
272
|
**Task CWD projection gap.** When `task_cwd` is outside both `control_root` and
|
|
270
|
-
all projected workspace roots,
|
|
273
|
+
all projected workspace roots, launch composition projects the exact task cwd
|
|
274
|
+
for active projection harnesses. If workspace projection is not active, a
|
|
271
275
|
`task_cwd_not_projected` warning is emitted. The launch continues but the agent
|
|
272
276
|
doesn't automatically get access to the task directory — harness-specific
|
|
273
277
|
configuration would be needed.
|
|
@@ -1549,6 +1549,9 @@ def bind_launch_context(
|
|
|
1549
1549
|
)
|
|
1550
1550
|
|
|
1551
1551
|
is_primary_launch = runtime.composition_surface == LaunchCompositionSurface.PRIMARY
|
|
1552
|
+
inject_task_cwd_instruction = directory_context.should_inject_task_cwd_instruction(
|
|
1553
|
+
runtime.composition_surface
|
|
1554
|
+
)
|
|
1552
1555
|
materialized = materialize_launch_artifacts(
|
|
1553
1556
|
harness=harness,
|
|
1554
1557
|
prompt=resolved_request.prompt,
|
|
@@ -1560,7 +1563,7 @@ def bind_launch_context(
|
|
|
1560
1563
|
extra_args=projected_extra_args,
|
|
1561
1564
|
control_root=resolved_control_root.as_posix(),
|
|
1562
1565
|
task_cwd=(task_cwd.as_posix() if task_cwd is not None else None),
|
|
1563
|
-
inject_task_cwd_instruction=
|
|
1566
|
+
inject_task_cwd_instruction=inject_task_cwd_instruction,
|
|
1564
1567
|
mcp_tools=resolved_request.mcp_tools,
|
|
1565
1568
|
projected_roots=projected_roots,
|
|
1566
1569
|
interactive=is_primary_launch,
|
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from dataclasses import dataclass, replace
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
8
|
+
from meridian.lib.launch.request import LaunchCompositionSurface
|
|
8
9
|
from meridian.lib.state import work_store
|
|
9
10
|
|
|
10
11
|
|
|
@@ -56,9 +57,16 @@ class LaunchDirectoryContext:
|
|
|
56
57
|
def has_distinct_task_cwd(self) -> bool:
|
|
57
58
|
return self.logical_task_cwd != self.authority_root
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
def should_inject_task_cwd_instruction(self, surface: LaunchCompositionSurface) -> bool:
|
|
61
|
+
"""Whether launch composition should tell the agent to cd into task cwd.
|
|
62
|
+
|
|
63
|
+
Child spawn tool cwd can vary by harness even when Meridian requests the
|
|
64
|
+
task cwd. Be conservative for all non-primary child launches with a
|
|
65
|
+
distinct task cwd; keep primary sessions quiet unless a future primary
|
|
66
|
+
flow needs explicit task-cwd steering.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
return self.has_distinct_task_cwd and surface != LaunchCompositionSurface.PRIMARY
|
|
62
70
|
|
|
63
71
|
|
|
64
72
|
def _active_worktree_path_for_item(
|
|
@@ -85,6 +85,11 @@ concerns and returns structured results for callers to persist elsewhere.
|
|
|
85
85
|
by `work_worktree.py` and spawn logic. The split is: lifecycle owns raw git operations,
|
|
86
86
|
ensure owns state management and idempotency.
|
|
87
87
|
|
|
88
|
+
Managed worktree creation writes a `mars.local.toml` guard with
|
|
89
|
+
`[settings] targets = []` when the worktree is newly created. This prevents
|
|
90
|
+
repo-local `meridian mars sync` from materializing harness targets inside each
|
|
91
|
+
worktree. Existing `mars.local.toml` files are user-owned and preserved.
|
|
92
|
+
|
|
88
93
|
**Destructive operations guard against three conditions:**
|
|
89
94
|
|
|
90
95
|
1. **Manual worktrees** (`managed=False`): paths set via `work set-worktree` are never
|
|
@@ -11,6 +11,7 @@ from meridian.lib.core.context import RuntimeContext
|
|
|
11
11
|
from meridian.lib.ops.runtime import runtime_context
|
|
12
12
|
from meridian.lib.ops.worktree_lifecycle import (
|
|
13
13
|
default_worktree_branch,
|
|
14
|
+
ensure_worktree_mars_local_guard,
|
|
14
15
|
provision_for_start,
|
|
15
16
|
recover_pending,
|
|
16
17
|
)
|
|
@@ -367,6 +368,8 @@ def ensure_work_item_worktree(
|
|
|
367
368
|
f"'{resolved_path}' is non-canonical; expected '{canonical_path}'. "
|
|
368
369
|
"Clear or migrate the assignment before ensuring."
|
|
369
370
|
)
|
|
371
|
+
if not dry_run:
|
|
372
|
+
ensure_worktree_mars_local_guard(resolved_path)
|
|
370
373
|
was_pending = item.worktree_pending
|
|
371
374
|
if not dry_run and (
|
|
372
375
|
was_pending or item.worktree_branch != canonical_metadata.branch
|
|
@@ -479,6 +482,8 @@ def ensure_work_item_worktree(
|
|
|
479
482
|
and item.worktree_managed
|
|
480
483
|
and Path(item.worktree_path).is_dir()
|
|
481
484
|
):
|
|
485
|
+
if not dry_run:
|
|
486
|
+
ensure_worktree_mars_local_guard(Path(item.worktree_path).expanduser().resolve())
|
|
482
487
|
if (
|
|
483
488
|
item.worktree_repo_path != canonical_metadata.repo_path
|
|
484
489
|
or item.worktree.name != canonical_metadata.name
|
|
@@ -623,6 +628,8 @@ def ensure_temporary_worktree(
|
|
|
623
628
|
"or clear/recreate the temp worktree."
|
|
624
629
|
)
|
|
625
630
|
if recorded_path.is_dir():
|
|
631
|
+
if not dry_run:
|
|
632
|
+
ensure_worktree_mars_local_guard(recorded_path)
|
|
626
633
|
if record.status == "pending" and not dry_run:
|
|
627
634
|
temp_worktree_store.put_temporary_worktree(
|
|
628
635
|
runtime_root,
|
|
@@ -27,6 +27,7 @@ from meridian.lib.ops.worktree_ops import (
|
|
|
27
27
|
resolve_main_repo_root,
|
|
28
28
|
worktree_exists,
|
|
29
29
|
)
|
|
30
|
+
from meridian.lib.state.atomic import atomic_write_text
|
|
30
31
|
from meridian.lib.state.work_store import WorkItem, WorktreeMetadata
|
|
31
32
|
|
|
32
33
|
logger = structlog.get_logger(__name__)
|
|
@@ -121,6 +122,15 @@ def _target_metadata(
|
|
|
121
122
|
)
|
|
122
123
|
|
|
123
124
|
|
|
125
|
+
def ensure_worktree_mars_local_guard(worktree_path: Path) -> None:
|
|
126
|
+
"""Prevent managed worktrees from syncing repo-local harness targets."""
|
|
127
|
+
|
|
128
|
+
guard_path = worktree_path / "mars.local.toml"
|
|
129
|
+
if guard_path.exists():
|
|
130
|
+
return
|
|
131
|
+
atomic_write_text(guard_path, "[settings]\ntargets = []\n")
|
|
132
|
+
|
|
133
|
+
|
|
124
134
|
def provision_for_start(
|
|
125
135
|
project_root: Path,
|
|
126
136
|
work_slug: str,
|
|
@@ -153,6 +163,7 @@ def provision_for_start(
|
|
|
153
163
|
Path(target_path),
|
|
154
164
|
target.branch or default_worktree_branch(work_slug),
|
|
155
165
|
)
|
|
166
|
+
ensure_worktree_mars_local_guard(result.path)
|
|
156
167
|
return WorktreeProvisionResult(
|
|
157
168
|
status="provisioned",
|
|
158
169
|
metadata=WorktreeMetadata(
|
|
@@ -179,6 +190,7 @@ def restore_for_reopen(project_root: Path, item: WorkItem) -> WorktreeRestoreRes
|
|
|
179
190
|
return WorktreeRestoreResult(status="manual_missing", metadata=item.worktree)
|
|
180
191
|
|
|
181
192
|
if worktree_path.is_dir():
|
|
193
|
+
ensure_worktree_mars_local_guard(worktree_path)
|
|
182
194
|
return WorktreeRestoreResult(status="available", metadata=item.worktree)
|
|
183
195
|
|
|
184
196
|
if not item.worktree_branch:
|
|
@@ -199,6 +211,8 @@ def restore_for_reopen(project_root: Path, item: WorkItem) -> WorktreeRestoreRes
|
|
|
199
211
|
)
|
|
200
212
|
return WorktreeRestoreResult(status="failed", metadata=item.worktree, error=str(exc))
|
|
201
213
|
|
|
214
|
+
ensure_worktree_mars_local_guard(result.path)
|
|
215
|
+
|
|
202
216
|
return WorktreeRestoreResult(
|
|
203
217
|
status="restored",
|
|
204
218
|
metadata=WorktreeMetadata(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/dev_frontend/.context/CONTEXT.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{meridian_cli-0.2.3 → meridian_cli-0.2.4}/src/meridian/lib/chat/normalization/.context/CONTEXT.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|