delegate-agent-cli 0.32.0__tar.gz → 0.33.0__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.
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/CHANGELOG.md +21 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/PKG-INFO +10 -7
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/README.md +9 -6
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/config.example.json +7 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/agent-setup.md +4 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/cli-reference.md +52 -16
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/configuration.md +47 -14
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/development.md +2 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/security-model.md +11 -10
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/troubleshooting.md +3 -3
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/pyproject.toml +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/__init__.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/argv_builders.py +68 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/argv_utils.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/auto_resume.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/bundled_models.py +6 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/cli_parser.py +5 -5
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/command_help.py +65 -7
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/config.py +50 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/constants.py +6 -3
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/describe_payload.py +86 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/followup_command.py +12 -3
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/harness_discovery.py +25 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/harness_events.py +72 -2
- delegate_agent_cli-0.33.0/src/delegate_agent/lane_slice.py +327 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/mail_core.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/model_discovery.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/reasoning.py +36 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/request_build.py +211 -28
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/resume_command.py +3 -3
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/runner.py +171 -150
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/sandbox_bwrap.py +5 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/stall_watchdog.py +44 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/structured_output.py +8 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/runtime.py +6 -6
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/script.py +4 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/PKG-INFO +10 -7
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/SOURCES.txt +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_command_help.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_degraded_runs.py +3 -3
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_delegate_help_cli.py +22 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_discovery_contracts.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_engine_argv.py +37 -2
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_followup_refusals.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_harness_discovery.py +11 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_a_transport.py +3 -1
- delegate_agent_cli-0.33.0/tests/test_lane_slice.py +477 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_model_selection_wave1a.py +4 -0
- delegate_agent_cli-0.33.0/tests/test_muse_engine.py +248 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_omp_provider_pin.py +75 -31
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_parser.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_records.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_reasoning_capabilities.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_inheritance.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_parser.py +1 -1
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_slash_passthrough.py +1 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_commands.py +1 -1
- delegate_agent_cli-0.32.0/src/delegate_agent/lane_slice.py +0 -156
- delegate_agent_cli-0.32.0/tests/test_lane_slice.py +0 -139
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/CONTRIBUTING.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/LICENSE +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/MANIFEST.in +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/SECURITY.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/bin/delegate-profile-shim +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/bin/delegate.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/assets/delegate-agent-header.png +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/delegate-workflows.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/live-runtime.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/publishing-checklist.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/docs/worktrees.md +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.claude.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.codex.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.cursor.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.droid.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.grok.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.judge.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/examples/task.kimi.json +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/setup.cfg +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/account_binding.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/archived_logs.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/auth_health.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/capability_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/child_failures.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/cli.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/command_errors.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/config_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/degraded.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/errors.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/failover_state.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/git_utils.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/harness_enabled.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/inspection_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/isolation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/json_types.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/lane_health.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/log_output.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/mail.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/mail_push.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/notify.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/outcome.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/outside_cwd_changes.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/pending_tool.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/personas.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/private_io.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/profile_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/profile_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/profiles.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/prompt_instructions.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/prompt_transport.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/provider_errors.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/record_io.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/redaction.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/registry_roster.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/rendering.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/request_models.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/retention.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_context.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_metadata.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_output_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_registry.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_scratch.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/run_status.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/safe_workspace.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/seatbelt.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/setup_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/snapshot_view.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/stream_capture.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/terminal_states.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/usage_record.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/wait_cancel_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflow_attempts.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflow_identity.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflow_pinning.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/__init__.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/registry.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/schema.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/stage_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workflows/status_reasons.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/workspace_spec.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_execution.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_gc.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_mgmt.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_procs.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_records.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_remove.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_salvage.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/worktree_summary.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/write_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/write_guard_launch.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent/wsl.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/dependency_links.txt +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/entry_points.txt +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/requires.txt +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/src/delegate_agent_cli.egg-info/top_level.txt +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_acceptance_toolchain.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_account_binding.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_appendix_failure_strings.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_auth_health.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_auto_resume.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_bundled_models_lane_r.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_c5_validation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_call_capture_contract.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_call_text_fixtures.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_cancel_terminal_override.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_capability_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_child_failures.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_child_root_env.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_cli_ergonomics.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_cli_simplification.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_cli_surface_fixes.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_codex_pure_sandbox.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_codex_scratch.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_codex_thread_resilience.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_config_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_cross_registry_lookup.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_degraded.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_delegate_audit_shim.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_delegate_isolation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_delegate_parser.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_delegate_validation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_describe_models_binary.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_describe_workflow_dsl.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_devin_bounded_output.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_devin_read_only_behavior.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_docs_parser_conformance.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_end_to_end_tracking.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_engine_universe.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_execution_argv_and_prompt.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_execution_dry_run.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_execution_worktree_failure_cleanup.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_execution_worktree_preflight.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_execution_worktree_run.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_failover_state.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_followup_after_retry_e2e.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_followup_capture.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_followup_parser.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_harness_events.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_harness_json_limits.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_inspection_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_isolation_plans.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_kimi_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_b_lifecycle.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_health.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_known_bad.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_m_mail_defaults.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_r_public_surface.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_lane_s_structured_retry.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_launch_error_hints.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_launch_input_parity.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_launch_mapping.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_launch_model_resolution.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_bounds.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_contract.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_delivery.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_eligibility.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_framing.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_gating.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_identity.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_io.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_parser.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_prune.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_adapters.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_batch.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_cursor.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_gating.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_inheritance.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_push_seams.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_reply.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_resolution.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_rules.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_tempdir.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_mail_unread_steering.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_model_discovery.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_model_selection_wave1b.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_nested_workflow_threads.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_no_page_ask.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_notify.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_omp_output_capture.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_omp_read_only_behavior.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_omp_tool_update_compaction.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_outcome_contract.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_output_cap_off.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_outside_cwd_changes.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_packaging.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_partial_output_recovery.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_capability.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_claude.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_contract.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_framer.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_opencode.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_resolution.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_size_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_validation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_persona_workflow.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_private_directory_publish.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_private_io_bounded.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_private_io_dir_race.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_proc_harness.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_process_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_profiles.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_provider_error_docs.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_provider_error_records.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_provider_errors.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_provider_outcomes.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_pure_call.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_python_version_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_real_binary_contracts.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_registry_contention.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_registry_lock_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_registry_roster.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resumable_default.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_attachment.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_capture.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_projections.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_refusals.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_size_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_stale.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_resume_trust.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_retention.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_run_listing_cost.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_run_record_imports.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_run_registry.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_runner_capture.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_runs_deadline.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_safe_workspace_isolation.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_sandbox_bwrap.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_scratch_reclaim.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_setup_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_simplification_integration.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_single_run_record.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_snapshot_redaction.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_snapshot_rendering.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_snapshot_run_output.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_snapshot_view.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_stall_watchdog.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_stall_watchdog_cursor.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_stall_watchdog_runner.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_status_truth.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_stream_usage_ingest.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_structured_output.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_terminal_states.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_test_environment.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_test_runner.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_tracked_output_bounds.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_tracked_timeout.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_utility_modules.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_wait_cancel_commands.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_wave4_launch_features.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_attempts.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_check_keying.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_failure_policy.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_gate_binding.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_journal_reader.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_jsonl_cli.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_key_stability.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_keyed_steps.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_pinning.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_profile_identity.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_provider_stage.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_repin.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_retry_outcomes.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_schema.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_session_fallback.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_simplification.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_status_reasons.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_watchdog.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workflow_watchdog_unit.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_workspace_spec.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_effective_dirt.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_list_show.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_prune_gc.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_reap_orphan.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_record_bundle.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_remove.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_retirement.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_safety_policy.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_salvage.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_worktree_symlink_placeholders.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_write_guard.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_write_guard_e2e.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_write_guard_live.py +0 -0
- {delegate_agent_cli-0.32.0 → delegate_agent_cli-0.33.0}/tests/test_wsl_guardrails.py +0 -0
|
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.33.0] - 2026-10-12
|
|
11
|
+
|
|
12
|
+
This release adds Muse (Meta's Muse family) as the eleventh harness, at parity with the best-supported engines: safe/work/call modes, structured output, native session followup, and the full effort enum.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **Muse is a Delegate harness.** `delegate muse safe|work|call` wraps
|
|
16
|
+
Meta's Muse (`muse exec --json`) with Muse family models: prompt-file
|
|
17
|
+
delivery, a flag-enforced safe lockdown (`--disable-write --disable-shell
|
|
18
|
+
--disable-web-tools`, sandbox on, workspace untrusted), work mode with the
|
|
19
|
+
sandbox kept on, native `--output-schema` enforcement, session followup and
|
|
20
|
+
auto-resume, and the full static effort enum through `ultra`. The `muse`
|
|
21
|
+
binary accepts unknown model IDs silently, so Delegate records no
|
|
22
|
+
served-model claim for Muse runs.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- The test runner (`scripts/test.py`) no longer aborts on hosts where
|
|
26
|
+
lowering its own priority with `os.nice` is not permitted (sandboxed
|
|
27
|
+
agent harnesses); it warns and continues under the worker caps.
|
|
28
|
+
|
|
10
29
|
## [0.32.0] - 2026-10-01
|
|
11
30
|
|
|
12
31
|
This release adds controls for launching and managing agents and resuming
|
|
@@ -2570,7 +2589,8 @@ Usage-audit fix wave: 82 sessions and 1,241 delegate invocations from one week o
|
|
|
2570
2589
|
|
|
2571
2590
|
- Releases before 0.1.3 predate this changelog.
|
|
2572
2591
|
|
|
2573
|
-
[Unreleased]: https://github.com/treygoff24/delegate-agent/compare/v0.
|
|
2592
|
+
[Unreleased]: https://github.com/treygoff24/delegate-agent/compare/v0.33.0...HEAD
|
|
2593
|
+
[0.33.0]: https://github.com/treygoff24/delegate-agent/compare/v0.32.0...v0.33.0
|
|
2574
2594
|
[0.32.0]: https://github.com/treygoff24/delegate-agent/compare/v0.31.0...v0.32.0
|
|
2575
2595
|
[0.31.0]: https://github.com/treygoff24/delegate-agent/compare/v0.29.1...v0.31.0
|
|
2576
2596
|
[0.30.0]: https://github.com/treygoff24/delegate-agent/compare/v0.29.1...v0.30.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: delegate-agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.33.0
|
|
4
4
|
Summary: A tiny CLI for delegating bounded agent tasks across coding-agent runtimes.
|
|
5
5
|
Author: Trey Goff
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,7 +41,7 @@ Dynamic: license-file
|
|
|
41
41
|
|
|
42
42
|
# Delegate Agent
|
|
43
43
|
|
|
44
|
-
Delegate Agent is a small CLI for handing a bounded task to another coding-agent runtime. It normalizes common calls to Cursor Agent, Factory Droid, OpenAI Codex, Claude Code, Grok Build, Devin, OpenCode, Pi, Oh My Pi,
|
|
44
|
+
Delegate Agent is a small CLI for handing a bounded task to another coding-agent runtime. It normalizes common calls to Cursor Agent, Factory Droid, OpenAI Codex, Claude Code, Grok Build, Devin, OpenCode, Pi, Oh My Pi, Kimi Code, and Muse so humans or other agents can launch review, investigation, and implementation jobs without remembering each tool's flags.
|
|
45
45
|
|
|
46
46
|
Use it when you want a predictable wrapper around prompts like:
|
|
47
47
|
|
|
@@ -52,7 +52,7 @@ Use it when you want a predictable wrapper around prompts like:
|
|
|
52
52
|
Delegate does **not** commit, push, merge, deploy, publish, or run a background service. It builds the child command, adds safety framing, launches the selected runtime, and records local run metadata for later inspection.
|
|
53
53
|
|
|
54
54
|
Prompt handling is provider-specific: Codex, Claude, OpenCode, Pi, Cursor Agent, and Oh My Pi
|
|
55
|
-
prompts are delivered to the child runtime over stdin; Droid, Grok, and
|
|
55
|
+
prompts are delivered to the child runtime over stdin; Droid, Grok, Devin, and Muse prompts
|
|
56
56
|
are delivered through private temporary prompt files; Kimi Code is the only Harness
|
|
57
57
|
that still requires prompt argv, and the only one whose prompt Delegate redacts in
|
|
58
58
|
dry-run output and run manifests. Redaction hides the prompt from Delegate's own
|
|
@@ -129,6 +129,7 @@ command -v opencode # OpenCode CLI, used by delegate opencode ...
|
|
|
129
129
|
command -v pi # Pi coding agent, used by delegate pi ...
|
|
130
130
|
command -v omp # Oh My Pi, used by delegate omp ...
|
|
131
131
|
command -v kimi # Kimi Code CLI, used by delegate kimi ...
|
|
132
|
+
command -v muse # Muse (Meta), used by delegate muse ...
|
|
132
133
|
```
|
|
133
134
|
|
|
134
135
|
Supported modes:
|
|
@@ -145,6 +146,7 @@ Supported modes:
|
|
|
145
146
|
| Pi | `pi` | Yes | Yes | Yes |
|
|
146
147
|
| Oh My Pi | `omp` | Yes | Yes | Yes |
|
|
147
148
|
| Kimi Code | `kimi` | Yes | Yes | Yes |
|
|
149
|
+
| Muse | `muse` | Yes | Yes | Yes |
|
|
148
150
|
|
|
149
151
|
Devin `safe` is rejected because Delegate cannot enforce a read-only filesystem
|
|
150
152
|
survey through Devin's generic execution tool. See the
|
|
@@ -218,6 +220,7 @@ delegate --json dry-run claude safe "Review this repository. Do not edit files."
|
|
|
218
220
|
delegate --json dry-run opencode safe "Review this repository. Do not edit files."
|
|
219
221
|
delegate --json dry-run pi safe "Review this repository. Do not edit files."
|
|
220
222
|
delegate --json dry-run omp safe "Review this repository. Do not edit files."
|
|
223
|
+
delegate --json dry-run muse safe "Review this repository. Do not edit files."
|
|
221
224
|
```
|
|
222
225
|
|
|
223
226
|
Run a read-only review in an isolated throwaway workspace:
|
|
@@ -280,12 +283,12 @@ $EDITOR /tmp/delegate-task.json
|
|
|
280
283
|
delegate --json run --input-json /tmp/delegate-task.json
|
|
281
284
|
```
|
|
282
285
|
|
|
283
|
-
For Codex or
|
|
286
|
+
For Codex, Claude, or Muse fan-outs that must return machine-parseable records, add
|
|
284
287
|
`--output-schema` (or JSON `outputSchema`); Delegate suppresses completion-report
|
|
285
288
|
injection so the schema owns the final message. Codex schemas are
|
|
286
289
|
strict-preflighted recursively: every property must be required, and a missing
|
|
287
290
|
`additionalProperties: false` is supplied in a warned temporary copy without
|
|
288
|
-
changing the source file.
|
|
291
|
+
changing the source file. Muse schemas are enforced natively and the root object must set `additionalProperties: false`.
|
|
289
292
|
|
|
290
293
|
For a one-hop prompt that should not see the current repo or create a tracked
|
|
291
294
|
run, use stateless `call` mode:
|
|
@@ -327,7 +330,7 @@ It changes only the requested model thinking depth/cost/latency; it does not
|
|
|
327
330
|
change safe/work/call mode, sandboxing, approvals, or edit capability.
|
|
328
331
|
Codex/Droid validate exact model metadata, Cursor selects an explicit configured
|
|
329
332
|
or corroborated discovered effort route, Claude and Grok map to native
|
|
330
|
-
`--effort`, OpenCode validates discovered exact variants when present and
|
|
333
|
+
`--effort`, Muse maps to `--reasoning-effort` (`none`…`ultra`), OpenCode validates discovered exact variants when present and
|
|
331
334
|
otherwise warns on pass-through, and Pi/Oh My Pi map to `--thinking` with
|
|
332
335
|
evidence-aware validation. Devin and Kimi do not expose a Delegate
|
|
333
336
|
reasoning-effort flag. Explicit Codex effort can target the harness default model
|
|
@@ -490,7 +493,7 @@ non-ignored files from a dirty source checkout before launch, report the counts
|
|
|
490
493
|
in a `dirty_source_auto_included` warning, and tear down the worktree if syncing
|
|
491
494
|
fails. `--include-dirty` remains an explicit, harmless no-op on a clean source.
|
|
492
495
|
|
|
493
|
-
Safe isolation and `--include-dirty` recreate an untracked symlink only when it is relative, resolves inside the source workspace, and its target is not gitignored; any symlink that fails those checks — an absolute target, an escape out of the tree, or a target that is itself a gitignored secret — is replaced with an inert placeholder file, failing closed on any ambiguity. Delegate reports a warning listing the symlink paths it blocked. In Git repositories with no commits yet, Cursor/Codex/Claude/Droid/Grok/OpenCode/Pi/Oh My Pi/Kimi safe isolation falls back to a directory copy because Git cannot create a detached worktree from an unborn `HEAD`.
|
|
496
|
+
Safe isolation and `--include-dirty` recreate an untracked symlink only when it is relative, resolves inside the source workspace, and its target is not gitignored; any symlink that fails those checks — an absolute target, an escape out of the tree, or a target that is itself a gitignored secret — is replaced with an inert placeholder file, failing closed on any ambiguity. Delegate reports a warning listing the symlink paths it blocked. In Git repositories with no commits yet, Cursor/Codex/Claude/Droid/Grok/OpenCode/Pi/Oh My Pi/Kimi/Muse safe isolation falls back to a directory copy because Git cannot create a detached worktree from an unborn `HEAD`.
|
|
494
497
|
|
|
495
498
|
Snapshots and `run-output` redact common credential shapes by default, including authorization headers, bearer/basic tokens, JWT-like strings, and common `token=` / `api_key=` / `password=` values. Use `--no-redact` only when exact output is necessary and safe to display.
|
|
496
499
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Delegate Agent
|
|
6
6
|
|
|
7
|
-
Delegate Agent is a small CLI for handing a bounded task to another coding-agent runtime. It normalizes common calls to Cursor Agent, Factory Droid, OpenAI Codex, Claude Code, Grok Build, Devin, OpenCode, Pi, Oh My Pi,
|
|
7
|
+
Delegate Agent is a small CLI for handing a bounded task to another coding-agent runtime. It normalizes common calls to Cursor Agent, Factory Droid, OpenAI Codex, Claude Code, Grok Build, Devin, OpenCode, Pi, Oh My Pi, Kimi Code, and Muse so humans or other agents can launch review, investigation, and implementation jobs without remembering each tool's flags.
|
|
8
8
|
|
|
9
9
|
Use it when you want a predictable wrapper around prompts like:
|
|
10
10
|
|
|
@@ -15,7 +15,7 @@ Use it when you want a predictable wrapper around prompts like:
|
|
|
15
15
|
Delegate does **not** commit, push, merge, deploy, publish, or run a background service. It builds the child command, adds safety framing, launches the selected runtime, and records local run metadata for later inspection.
|
|
16
16
|
|
|
17
17
|
Prompt handling is provider-specific: Codex, Claude, OpenCode, Pi, Cursor Agent, and Oh My Pi
|
|
18
|
-
prompts are delivered to the child runtime over stdin; Droid, Grok, and
|
|
18
|
+
prompts are delivered to the child runtime over stdin; Droid, Grok, Devin, and Muse prompts
|
|
19
19
|
are delivered through private temporary prompt files; Kimi Code is the only Harness
|
|
20
20
|
that still requires prompt argv, and the only one whose prompt Delegate redacts in
|
|
21
21
|
dry-run output and run manifests. Redaction hides the prompt from Delegate's own
|
|
@@ -92,6 +92,7 @@ command -v opencode # OpenCode CLI, used by delegate opencode ...
|
|
|
92
92
|
command -v pi # Pi coding agent, used by delegate pi ...
|
|
93
93
|
command -v omp # Oh My Pi, used by delegate omp ...
|
|
94
94
|
command -v kimi # Kimi Code CLI, used by delegate kimi ...
|
|
95
|
+
command -v muse # Muse (Meta), used by delegate muse ...
|
|
95
96
|
```
|
|
96
97
|
|
|
97
98
|
Supported modes:
|
|
@@ -108,6 +109,7 @@ Supported modes:
|
|
|
108
109
|
| Pi | `pi` | Yes | Yes | Yes |
|
|
109
110
|
| Oh My Pi | `omp` | Yes | Yes | Yes |
|
|
110
111
|
| Kimi Code | `kimi` | Yes | Yes | Yes |
|
|
112
|
+
| Muse | `muse` | Yes | Yes | Yes |
|
|
111
113
|
|
|
112
114
|
Devin `safe` is rejected because Delegate cannot enforce a read-only filesystem
|
|
113
115
|
survey through Devin's generic execution tool. See the
|
|
@@ -181,6 +183,7 @@ delegate --json dry-run claude safe "Review this repository. Do not edit files."
|
|
|
181
183
|
delegate --json dry-run opencode safe "Review this repository. Do not edit files."
|
|
182
184
|
delegate --json dry-run pi safe "Review this repository. Do not edit files."
|
|
183
185
|
delegate --json dry-run omp safe "Review this repository. Do not edit files."
|
|
186
|
+
delegate --json dry-run muse safe "Review this repository. Do not edit files."
|
|
184
187
|
```
|
|
185
188
|
|
|
186
189
|
Run a read-only review in an isolated throwaway workspace:
|
|
@@ -243,12 +246,12 @@ $EDITOR /tmp/delegate-task.json
|
|
|
243
246
|
delegate --json run --input-json /tmp/delegate-task.json
|
|
244
247
|
```
|
|
245
248
|
|
|
246
|
-
For Codex or
|
|
249
|
+
For Codex, Claude, or Muse fan-outs that must return machine-parseable records, add
|
|
247
250
|
`--output-schema` (or JSON `outputSchema`); Delegate suppresses completion-report
|
|
248
251
|
injection so the schema owns the final message. Codex schemas are
|
|
249
252
|
strict-preflighted recursively: every property must be required, and a missing
|
|
250
253
|
`additionalProperties: false` is supplied in a warned temporary copy without
|
|
251
|
-
changing the source file.
|
|
254
|
+
changing the source file. Muse schemas are enforced natively and the root object must set `additionalProperties: false`.
|
|
252
255
|
|
|
253
256
|
For a one-hop prompt that should not see the current repo or create a tracked
|
|
254
257
|
run, use stateless `call` mode:
|
|
@@ -290,7 +293,7 @@ It changes only the requested model thinking depth/cost/latency; it does not
|
|
|
290
293
|
change safe/work/call mode, sandboxing, approvals, or edit capability.
|
|
291
294
|
Codex/Droid validate exact model metadata, Cursor selects an explicit configured
|
|
292
295
|
or corroborated discovered effort route, Claude and Grok map to native
|
|
293
|
-
`--effort`, OpenCode validates discovered exact variants when present and
|
|
296
|
+
`--effort`, Muse maps to `--reasoning-effort` (`none`…`ultra`), OpenCode validates discovered exact variants when present and
|
|
294
297
|
otherwise warns on pass-through, and Pi/Oh My Pi map to `--thinking` with
|
|
295
298
|
evidence-aware validation. Devin and Kimi do not expose a Delegate
|
|
296
299
|
reasoning-effort flag. Explicit Codex effort can target the harness default model
|
|
@@ -453,7 +456,7 @@ non-ignored files from a dirty source checkout before launch, report the counts
|
|
|
453
456
|
in a `dirty_source_auto_included` warning, and tear down the worktree if syncing
|
|
454
457
|
fails. `--include-dirty` remains an explicit, harmless no-op on a clean source.
|
|
455
458
|
|
|
456
|
-
Safe isolation and `--include-dirty` recreate an untracked symlink only when it is relative, resolves inside the source workspace, and its target is not gitignored; any symlink that fails those checks — an absolute target, an escape out of the tree, or a target that is itself a gitignored secret — is replaced with an inert placeholder file, failing closed on any ambiguity. Delegate reports a warning listing the symlink paths it blocked. In Git repositories with no commits yet, Cursor/Codex/Claude/Droid/Grok/OpenCode/Pi/Oh My Pi/Kimi safe isolation falls back to a directory copy because Git cannot create a detached worktree from an unborn `HEAD`.
|
|
459
|
+
Safe isolation and `--include-dirty` recreate an untracked symlink only when it is relative, resolves inside the source workspace, and its target is not gitignored; any symlink that fails those checks — an absolute target, an escape out of the tree, or a target that is itself a gitignored secret — is replaced with an inert placeholder file, failing closed on any ambiguity. Delegate reports a warning listing the symlink paths it blocked. In Git repositories with no commits yet, Cursor/Codex/Claude/Droid/Grok/OpenCode/Pi/Oh My Pi/Kimi/Muse safe isolation falls back to a directory copy because Git cannot create a detached worktree from an unborn `HEAD`.
|
|
457
460
|
|
|
458
461
|
Snapshots and `run-output` redact common credential shapes by default, including authorization headers, bearer/basic tokens, JWT-like strings, and common `token=` / `api_key=` / `password=` values. Use `--no-redact` only when exact output is necessary and safe to display.
|
|
459
462
|
|
|
@@ -121,6 +121,13 @@
|
|
|
121
121
|
"defaultModel": "kimi-code/k3",
|
|
122
122
|
"defaultReasoningEffort": null
|
|
123
123
|
},
|
|
124
|
+
"muse": {
|
|
125
|
+
"binary": "muse",
|
|
126
|
+
"defaultModel": null,
|
|
127
|
+
"defaultReasoningEffort": null,
|
|
128
|
+
"resumable": true,
|
|
129
|
+
"models": {}
|
|
130
|
+
},
|
|
124
131
|
"isolation": {
|
|
125
132
|
"safe": "auto",
|
|
126
133
|
"work": "none"
|
|
@@ -41,6 +41,7 @@ This guide covers both human setup and non-interactive setup for agents or CI jo
|
|
|
41
41
|
command -v pi || echo "Pi coding agent missing"
|
|
42
42
|
command -v omp || echo "Oh My Pi missing"
|
|
43
43
|
command -v kimi || echo "Kimi Code CLI missing"
|
|
44
|
+
command -v muse || echo "Muse missing"
|
|
44
45
|
```
|
|
45
46
|
|
|
46
47
|
Delegate does not manage runtime login. Run each runtime's own login/status command before real launches. A missing child binary causes Delegate to fail with exit code `3` for real runs.
|
|
@@ -140,7 +141,7 @@ and the [security model](security-model.md#zero-copy-safe-isolation-linux-isolat
|
|
|
140
141
|
delegate --json dry-run kimi safe "Review only. Do not edit files."
|
|
141
142
|
```
|
|
142
143
|
|
|
143
|
-
The Codex, Claude, Grok, Devin work, OpenCode, Pi, Oh My Pi, Cursor, and
|
|
144
|
+
The Codex, Claude, Grok, Devin work, OpenCode, Pi, Oh My Pi, Cursor, Kimi, and Muse dry-runs succeed with the unedited example config when no reasoning effort is requested. Devin safe mode is intentionally rejected because filesystem surveys may require generic `exec`, which cannot be allowed without weakening the read-only boundary. Explicit Codex reasoning-effort dry-runs can target the harness default model when no default model is configured. Claude and Grok reasoning effort map to native `--effort` flags; Muse maps to `--reasoning-effort`; OpenCode maps to `--variant`; Pi and Oh My Pi map to `--thinking`. The Droid dry-run validates the alias, so it returns `unconfigured_model` until you replace the `reviewer` placeholder in `config.json` with a real model ID.
|
|
144
145
|
|
|
145
146
|
### OpenCode
|
|
146
147
|
|
|
@@ -223,6 +224,7 @@ For an orchestrating agent, script, or CI job:
|
|
|
223
224
|
command -v pi >/dev/null || exit 3
|
|
224
225
|
command -v omp >/dev/null || exit 3
|
|
225
226
|
command -v kimi >/dev/null || exit 3
|
|
227
|
+
command -v muse >/dev/null || exit 3
|
|
226
228
|
```
|
|
227
229
|
|
|
228
230
|
6. Keep prompts bounded and machine-readable where possible. For long tasks, use `--prompt-file` or `delegate --json run --input-json FILE`.
|
|
@@ -248,7 +250,7 @@ For an orchestrating agent, script, or CI job:
|
|
|
248
250
|
## CI expectations
|
|
249
251
|
|
|
250
252
|
The required test suite does not need real Cursor, Droid, Codex, Claude, Grok,
|
|
251
|
-
Devin, OpenCode, Pi, Oh My Pi, or
|
|
253
|
+
Devin, OpenCode, Pi, Oh My Pi, Kimi, or Muse binaries. Tests use dry-run paths and fake binaries
|
|
252
254
|
where needed:
|
|
253
255
|
|
|
254
256
|
```bash
|
|
@@ -227,13 +227,17 @@ delegate omp call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [
|
|
|
227
227
|
delegate kimi safe [--model <alias-or-model>] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH | prompt...]
|
|
228
228
|
delegate kimi work [--model <alias-or-model>] [--progress] [--timeout SECONDS] [--forbid-commit] [--prompt-file PATH | prompt...]
|
|
229
229
|
delegate kimi call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--prompt-file PATH | prompt...]
|
|
230
|
+
|
|
231
|
+
delegate muse safe [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--output-schema FILE] [--prompt-file PATH | prompt...]
|
|
232
|
+
delegate muse work [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--output-schema FILE] [--prompt-file PATH | prompt...]
|
|
233
|
+
delegate muse call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--output-schema FILE] [--prompt-file PATH | prompt...]
|
|
230
234
|
```
|
|
231
235
|
|
|
232
236
|
Prompt sources are direct arguments, `--prompt-file`, or Delegate stdin; give exactly one (combining them fails with `ambiguous_prompt_source`). A relative `--prompt-file` resolves against the shell cwd first; if that file does not exist but one exists under `--cwd DIR`, that one is used and a warning says so. When neither exists the `prompt_file_not_found` error names both absolute paths tried. Raw C0 control characters other than newline, carriage return, and tab are stripped before launch; a prompt that becomes empty fails fast. After
|
|
233
237
|
Delegate resolves the prompt, Codex, Claude, OpenCode, Pi, Cursor Agent, and Oh My Pi prompts are passed to
|
|
234
238
|
the child runtime over stdin; Cursor Agent 2026.09.02-c22c1a3 and Oh My Pi 18.1.13 both consume a piped
|
|
235
|
-
prompt in the verified non-interactive invocation. Droid and
|
|
236
|
-
prompt file and passed with Droid's documented `--file` option or
|
|
239
|
+
prompt in the verified non-interactive invocation. Droid, Grok, Devin, and Muse prompts are written to a private temporary
|
|
240
|
+
prompt file and passed with Droid's documented `--file` option or the `--prompt-file` option Grok, Devin, and Muse accept. Kimi Code prompt
|
|
237
241
|
mode still takes `--prompt`, so Kimi alone uses argv transport; Delegate redacts Kimi prompt argv in dry-run
|
|
238
242
|
output and run manifests, which keeps the prompt out of Delegate's own records but not out of the child's
|
|
239
243
|
`/proc/<pid>/cmdline`.
|
|
@@ -270,7 +274,7 @@ by hyphens and the index is the entry's position in Factory's settings. The
|
|
|
270
274
|
older id-based selectors no longer resolve, so re-read `delegate models droid`
|
|
271
275
|
and update any `droid.models` alias that pinned one. Discover aliases
|
|
272
276
|
and advisory catalogs with `delegate models`, `delegate models <engine>`, and
|
|
273
|
-
`delegate models <engine> --live`. Every harness except Claude exposes a live
|
|
277
|
+
`delegate models <engine> --live`. Every harness except Claude and Muse exposes a live
|
|
274
278
|
model probe; see [Discovery](#discovery) for the evidence each probe records.
|
|
275
279
|
Each engine row carries `binaryMissing`, true when the configured binary does
|
|
276
280
|
not resolve from the Delegate process; the text view prints `(missing)` after
|
|
@@ -292,7 +296,7 @@ same-family effort selector and records a warning. Without that exact family,
|
|
|
292
296
|
an explicit effort fails closed; a configured default instead degrades with a
|
|
293
297
|
warning and preserves the pinned selector. Droid emits
|
|
294
298
|
`--reasoning-effort LEVEL`; Codex emits a `model_reasoning_effort` config
|
|
295
|
-
override; Claude and Grok emit native `--effort`; OpenCode emits `--variant`
|
|
299
|
+
override; Claude and Grok emit native `--effort`; Muse emits native `--reasoning-effort`; OpenCode emits `--variant`
|
|
296
300
|
and validates it when exact discovered variants exist; Pi and Oh My Pi emit
|
|
297
301
|
`--thinking`. Devin and Kimi expose no Delegate effort transport.
|
|
298
302
|
|
|
@@ -683,6 +687,31 @@ delegate kimi call "Summarize this context in three bullets."
|
|
|
683
687
|
delegate --isolation worktree kimi work "Implement the feature in a persistent worktree."
|
|
684
688
|
```
|
|
685
689
|
|
|
690
|
+
### `delegate muse`
|
|
691
|
+
|
|
692
|
+
Wraps Muse's headless mode (Meta's Muse family models).
|
|
693
|
+
|
|
694
|
+
```bash
|
|
695
|
+
delegate [--json] [--isolation auto|none|worktree] muse {safe,work} [--model <alias-or-model>] [--reasoning-effort LEVEL] [--progress] [--timeout SECONDS] [--forbid-commit] [--output-schema FILE] [--prompt-file PATH | prompt...]
|
|
696
|
+
delegate [--json] muse call [--read-only] [--timeout SECONDS] [--model <alias-or-model>] [--reasoning-effort LEVEL] [--output-schema FILE] [--prompt-file PATH | prompt...]
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
- Delegate launches `muse exec --json --workspace <dir>` and delivers the prompt with `--prompt-file`, so the prompt never appears in argv.
|
|
700
|
+
- Safe mode and `call --read-only` add `--disable-write --disable-shell --disable-web-tools`, keep Muse's sandbox on, and leave the workspace untrusted (repo-local Muse skills do not load; verified against Muse 1.4.6). Safe reviewers use Muse's native read/search tools and have no shell, so they cannot run git or tests. User-level Muse configuration still loads; a user-configured MCP server's behavior under the safe flags is not yet probed.
|
|
701
|
+
- Work mode adds `--trust-workspace` and keeps the sandbox on unless `policy.harness.muse.work.bypassApprovalsAndSandbox` is explicitly enabled. Delegate never emits `--yolo`.
|
|
702
|
+
- `--reasoning-effort` maps directly to `--reasoning-effort`: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, `ultra`.
|
|
703
|
+
- `--output-schema` uses Muse's native enforcement; the schema's root object must set `additionalProperties: false` or the launch is refused before the child starts.
|
|
704
|
+
- The `muse` binary accepts unknown model IDs without error, so Delegate makes no served-model claim for Muse runs and a pinned run ends unverified. `delegate models muse` reports the bundled advisory list; there is no live enumeration.
|
|
705
|
+
- Work runs keep their Muse session log by default, so `delegate followup` re-enters the session; `--no-resumable` or `muse.resumable: false` opts out. Run JSON reports usage as unavailable: the Muse exec stream carries no token-usage events.
|
|
706
|
+
|
|
707
|
+
Examples:
|
|
708
|
+
|
|
709
|
+
```bash
|
|
710
|
+
delegate muse safe "Review this repo for regressions; report file/line/severity."
|
|
711
|
+
delegate muse work --model muse-spark-1.3 "Implement the scoped task; report changed files and tests."
|
|
712
|
+
delegate muse call --read-only --output-schema verdict.json --prompt-file rubric.md
|
|
713
|
+
```
|
|
714
|
+
|
|
686
715
|
### `delegate workflow`
|
|
687
716
|
|
|
688
717
|
Workflows run a Python DSL supervisor that can fan out normal Delegate child
|
|
@@ -995,7 +1024,7 @@ When a profile is active, dry-run and completion payloads add `authProfile`
|
|
|
995
1024
|
a fallback is configured. Dry-run also adds `profileEnv` (the injected env map,
|
|
996
1025
|
with values redacted). Profile metadata is omitted when no profile is active.
|
|
997
1026
|
|
|
998
|
-
For Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, and
|
|
1027
|
+
For Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, Kimi, and Muse safe mode, an explicit `--isolation none`
|
|
999
1028
|
is normalized to `auto` with a warning because those safe contracts depend on
|
|
1000
1029
|
the temporary workspace/config boundary. Codex safe can use `none` because Codex
|
|
1001
1030
|
still runs with its read-only sandbox.
|
|
@@ -1173,22 +1202,28 @@ Supported input keys:
|
|
|
1173
1202
|
}
|
|
1174
1203
|
```
|
|
1175
1204
|
|
|
1176
|
-
- `engine`: `cursor`, `droid`, `codex`, `claude`, `grok`, `devin`, `opencode`, `pi`, `omp`, or `
|
|
1205
|
+
- `engine`: `cursor`, `droid`, `codex`, `claude`, `grok`, `devin`, `opencode`, `pi`, `omp`, `kimi`, or `muse`.
|
|
1177
1206
|
- `mode`: `safe`, `work`, or `call`.
|
|
1178
1207
|
- The `devin` engine rejects `safe` with `unsupported_mode` during preflight. Devin filesystem surveys may require generic `exec`, which Delegate cannot allow without weakening the read-only boundary; use another safe Harness for filesystem review.
|
|
1179
1208
|
- `model`: optional alias-or-id for every engine, resolved exactly like `--model`. A matching `<engine>.models` alias is expanded; other values pass through as raw model IDs.
|
|
1180
1209
|
- `cwd`: optional workspace path. Git directories resolve to the repo root. Omit it for `mode: "call"`, which always uses an empty temporary cwd.
|
|
1181
|
-
- `isolation`: optional `auto`, `none`, or `worktree`. `null` is invalid. `mode: "call"` rejects isolation. For Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, and
|
|
1210
|
+
- `isolation`: optional `auto`, `none`, or `worktree`. `null` is invalid. `mode: "call"` rejects isolation. For Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, Kimi, and Muse safe mode, `none` is normalized to `auto` with a warning.
|
|
1182
1211
|
- `reasoningEffort`: optional non-empty effort string. It overrides provider `defaultReasoningEffort` for that JSON run.
|
|
1183
1212
|
- `fast`: optional Codex-only boolean or `null`. `true` requests Fast, `false` explicitly requests Standard, and `null`/omission inherits Codex configuration.
|
|
1184
1213
|
- `progress`: optional boolean. `true` enables parent progress heartbeats on stderr; `false` disables them even when `progress.enabled` is true in config. When omitted, config `progress.enabled` applies (default `false`). `mode: "call"` rejects progress.
|
|
1185
1214
|
- `forbidCommit`: optional boolean. `true` requires `mode: "work"`, makes commits fail inside the child through run-owned git hooks, and fails the run if the child creates commits (any isolation, including `none`; with isolation omitted it implies `worktree`). `mode: "call"` rejects commit policy.
|
|
1186
1215
|
- `includeDirty`: optional boolean. `true` requires `mode: "work"` with persistent worktree isolation and syncs tracked edits plus untracked non-ignored files into the new worktree before launch.
|
|
1187
1216
|
- `timeout`: optional positive integer seconds, with the same semantics as `--timeout`. Non-integer, boolean, or non-positive values fail with `invalid_timeout`; combining it with pass-through is rejected.
|
|
1188
|
-
- `outputSchema`: optional path to a JSON Schema for the final message. Supported for Codex and
|
|
1217
|
+
- `outputSchema`: optional path to a JSON Schema for the final message. Supported for Codex, Claude, and Muse in every mode (same semantics as `--output-schema`). Other engines fail with `unsupported_output_schema`.
|
|
1189
1218
|
- `base`, `env`, `setup`: optional workspace spec for `mode: "work"` with `isolation: "worktree"`, the same as `--base`, `--env`, and `--setup`. `env` is an object of names to strings. See [Workspace spec](worktrees.md#workspace-spec-base-env-setup).
|
|
1219
|
+
- `mcpServers`: optional list of extra MCP servers mounted for this run only: `[{"name": "report", "command": "/path/to/server", "args": ["--stdio"], "env": {"KEY": "value"}}]`. `name` is letters, digits, `_` or `-` and unique; `args` and `env` are optional. Codex receives them as global `-c mcp_servers.<name>.command/args/env_vars` overrides right after the executable; these show in dry-run and manifest argv. `env` values never go into process arguments: they are set in the run's environment and listed by name in the server's `env_vars` allowlist. Env names must be valid variable names, and a name given in two servers must have the same value. Other engines have no per-invocation MCP config: the run proceeds without them and its result carries a `mcpServers not mounted` warning.
|
|
1190
1220
|
- `prompt`: required task prompt.
|
|
1191
1221
|
|
|
1222
|
+
Every engine process runs non-interactively: Delegate sets `GIT_EDITOR`,
|
|
1223
|
+
`GIT_SEQUENCE_EDITOR`, `EDITOR` and `VISUAL` to `true`, `GIT_TERMINAL_PROMPT=0`,
|
|
1224
|
+
and `PAGER`/`GIT_PAGER` to `cat`, over profile and ambient values, so a
|
|
1225
|
+
`git commit` without `-m` or a pager cannot hang a run whose stdin is closed.
|
|
1226
|
+
|
|
1192
1227
|
`profile` is not accepted in run input JSON. Configure the Codex CLI config
|
|
1193
1228
|
overlay in `codex.profile` instead. That is separate from the top-level
|
|
1194
1229
|
`profiles` block, which Delegate resolves once per request and injects as
|
|
@@ -1221,13 +1256,13 @@ argv shapes, and expanded command options. Use `help <command>` when only one
|
|
|
1221
1256
|
command's contract is needed.
|
|
1222
1257
|
|
|
1223
1258
|
`models` reports configured settings and cached discovery for Cursor, Droid,
|
|
1224
|
-
Codex, Kimi, Claude, Grok, Devin, OpenCode, Pi,
|
|
1259
|
+
Codex, Kimi, Claude, Grok, Devin, OpenCode, Pi, Oh My Pi, and Muse. A per-engine
|
|
1225
1260
|
catalog merges sources in this order: explicit config, current live or
|
|
1226
1261
|
profile-scoped discovery, the legacy workspace reasoning cache, then bundled
|
|
1227
1262
|
advisory IDs. `models <engine> --live` runs one fresh probe in the selected
|
|
1228
1263
|
profile environment, but does not update Delegate config or cache. Use setup or
|
|
1229
1264
|
`capabilities refresh` when ordinary launches should consume the new record.
|
|
1230
|
-
Claude
|
|
1265
|
+
Claude and Muse are the only harnesses without a non-interactive live model catalog.
|
|
1231
1266
|
|
|
1232
1267
|
A harness with `<engine>.enabled: false` in config (for example
|
|
1233
1268
|
`"cursor": {"enabled": false}`) is omitted from `models`, `describe`,
|
|
@@ -1261,6 +1296,7 @@ Automatic setup and refresh use these evidence sources:
|
|
|
1261
1296
|
| Devin | Family slugs, aliases, and concrete variants visible to the active account | The prompt-free JSON catalog carries display names; Delegate has no Devin effort transport. |
|
|
1262
1297
|
| OpenCode | Harness catalog | Listed variants are `exact` for that model; models without exact variant evidence retain the documented unvalidated pass-through path. |
|
|
1263
1298
|
| Pi | Harness catalog | Thinking support is model-specific, but available labels come from a harness-wide enum and are reported as partial model evidence. |
|
|
1299
|
+
| Muse | Bundled advisory list; no live enumeration | Static `--reasoning-effort` enum (`none`…`ultra`) from the binary's documented values. |
|
|
1264
1300
|
| Oh My Pi | Harness catalog | A model's explicit `thinking` array is exact; missing arrays use harness-partial compatibility rather than fabricated model evidence. |
|
|
1265
1301
|
|
|
1266
1302
|
`modelScope`/`catalogScope` describes where a list came from, not whether a real
|
|
@@ -1494,7 +1530,7 @@ creating a Run or writing a prompt record.
|
|
|
1494
1530
|
| --- | --- | --- | --- | --- |
|
|
1495
1531
|
| Engine | `engine`, falling back to `harness` | `--engine` | A missing or unknown source engine refuses resume. | The selected engine becomes the target; engine-scoped fields below may drop. |
|
|
1496
1532
|
| Mode | `mode` | None; v1 does not override mode. | A missing or invalid mode refuses resume. | Retained unchanged. |
|
|
1497
|
-
| Native session | `resumable` | `--no-resumable` | A source recorded as exactly `true` keeps it. Any other source takes the launch default: Codex and
|
|
1533
|
+
| Native session | `resumable` | `--no-resumable` | A source recorded as exactly `true` keeps it. Any other source takes the launch default: Codex, Claude, and Muse work Runs save their session unless `--no-resumable` or `codex.resumable` / `claude.resumable` / `muse.resumable: false` opts out. | Kept only for Codex, Claude, or Muse work Runs; otherwise dropped with a note advising continuation with `delegate resume`. |
|
|
1498
1534
|
| Model selection | `modelAlias`, then `modelRequested`, `modelResolved`, then `model` | `--model` | No usable key uses the target engine configuration default and emits a note. | Source model selection drops; pass `--model` to pin a target model. |
|
|
1499
1535
|
| Reasoning effort | `requestedReasoningEffort`, then `resolvedReasoningEffort`, together with `reasoningEffortSource` | `--reasoning-effort` | Missing effort uses the target default and emits a note. A source value from configuration is re-resolved through target capability/configuration; only `cli` and `input-json` source intent is inherited directly. | Source effort drops with a note; an explicit override remains valid. |
|
|
1500
1536
|
| Fast tier | `requestedFast` | `--fast` or `--no-fast` | Omitted leaves fast unspecified. | Inherited only for a same-engine Codex resume. Other targets drop it; non-Codex targets emit a drop note when a source value is present. |
|
|
@@ -1502,7 +1538,7 @@ creating a Run or writing a prompt record.
|
|
|
1502
1538
|
| Timeout | `timeoutSeconds` | `--timeout` | Omitted uses the target timeout default and emits a note. A present value must be a positive integer (an integral JSON float is accepted). | Retained. |
|
|
1503
1539
|
| Stall threshold | `stallMinutes`, written only when the source launch passed `--stall-minutes` | None | Omitted means the source ran on the configured default, so the resumed Run re-resolves `stallMinutes` config, `DELEGATE_STALL_MINUTES`, and the engine default with no note. A present value must be a finite number >= 0 (0 disables); anything else refuses resume. `delegate followup` inherits it the same way and ignores an invalid value. | Retained; an inherited value is an explicit operator threshold, honored on every engine. |
|
|
1504
1540
|
| Tracked stream limit | `trackedStreamMaxBytes` (`null` when uncapped, the default) | None | Launch provenance only: the resumed Run re-resolves the limit from the target engine configuration and does not inherit the recorded value. | Not inherited. |
|
|
1505
|
-
| Output schema | Inline `outputSchema` text | `--output-schema PATH` or `--no-output-schema` | Omitted means no schema. Stored text is re-materialized privately only during normal launch. | Codex and
|
|
1541
|
+
| Output schema | Inline `outputSchema` text | `--output-schema PATH` or `--no-output-schema` | Omitted means no schema. Stored text is re-materialized privately only during normal launch. | Codex, Claude, and Muse inherit inline schema text. Other engines soft-drop it with a note before output-schema validation. |
|
|
1506
1542
|
| OpenCode agent | `agent` | None | Omitted means no agent selection. | Inherited only for a same-engine OpenCode resume; otherwise dropped with a note. |
|
|
1507
1543
|
| Workspace cwd / execution cwd | `cwd`; persistent records also derive `executionCwd`, branch, and source Git root | None (`--cwd` selects the registry workspace and must match recorded `cwd`) | Missing `cwd` falls back to the selected registry workspace; missing persistent-worktree metadata causes attachment validation to refuse. | Retained as workspace context; an attach uses the validated existing worktree rather than copying `executionCwd` into a new worktree. |
|
|
1508
1544
|
| Isolation / lifecycle | `isolationMode`; persistent detection also reads `isolationLifecycle`, `preservedWorkspace`, `worktreeStatus`, and `worktreeAttachment` | None; `--isolation` is rejected for resume. | Missing ordinary `isolationMode` uses target isolation configuration and emits a note. | Retained. Persistent or attached sources become an `attached` execution lifecycle. |
|
|
@@ -1518,16 +1554,16 @@ creating a Run or writing a prompt record.
|
|
|
1518
1554
|
delegate followup [--timeout SEC] [--prompt-file PATH] [--mail-push|--no-mail-push] [--dry-run] <alias|runId> [prompt...]
|
|
1519
1555
|
```
|
|
1520
1556
|
|
|
1521
|
-
`delegate followup` continues a Codex or
|
|
1557
|
+
`delegate followup` continues a Codex, Claude, or Muse Run by resuming its saved native
|
|
1522
1558
|
session, so the child keeps its own conversation context. (`resume` instead
|
|
1523
1559
|
relaunches from the original prompt and a report digest, and works across
|
|
1524
1560
|
engines.)
|
|
1525
1561
|
|
|
1526
|
-
- **Launch default.** Codex and
|
|
1562
|
+
- **Launch default.** Codex, Claude, and Muse work Runs save their native session by
|
|
1527
1563
|
default, so `followup` works without `--resumable` at launch. Launch with
|
|
1528
1564
|
`--no-resumable` (JSON `resumable: false`), or set `codex.resumable` /
|
|
1529
|
-
`claude.resumable` to `false`, to skip it; `--resumable` on a launch beats the
|
|
1530
|
-
config key. Safe Runs, call Runs, and engines other than Codex and
|
|
1565
|
+
`claude.resumable` / `muse.resumable` to `false`, to skip it; `--resumable` on a launch beats the
|
|
1566
|
+
config key. Safe Runs, call Runs, and engines other than Codex, Claude, and Muse never
|
|
1531
1567
|
save a session. See [Configuration](configuration.md#native-session-files-and-the-resumable-default)
|
|
1532
1568
|
for the storage consequence.
|
|
1533
1569
|
- **No session recorded.** A source with no recorded session (launched with
|
|
@@ -252,6 +252,12 @@ is absent.
|
|
|
252
252
|
"defaultModel": "kimi-code/k3",
|
|
253
253
|
"defaultReasoningEffort": null
|
|
254
254
|
},
|
|
255
|
+
"muse": {
|
|
256
|
+
"binary": "muse",
|
|
257
|
+
"defaultModel": null,
|
|
258
|
+
"defaultReasoningEffort": null,
|
|
259
|
+
"models": {}
|
|
260
|
+
},
|
|
255
261
|
"workflows": {
|
|
256
262
|
"engineCaps": {},
|
|
257
263
|
"itemThreads": 64,
|
|
@@ -556,13 +562,14 @@ different. Delegate warns when:
|
|
|
556
562
|
|
|
557
563
|
#### Native session files and the resumable default
|
|
558
564
|
|
|
559
|
-
Codex and
|
|
565
|
+
Codex, Claude, and Muse **work** Runs are resumable by default. A resumable Run leaves
|
|
560
566
|
the harness's own session on disk (Codex's rollout under `CODEX_HOME/sessions`,
|
|
561
|
-
Claude Code's transcript under its `projects` directory
|
|
567
|
+
Claude Code's transcript under its `projects` directory, Muse's session log under
|
|
568
|
+
`~/.local/share/muse/sessions`) and records the session
|
|
562
569
|
id in the Run's manifest, which is what `delegate followup` resumes. What that
|
|
563
570
|
means in practice:
|
|
564
571
|
|
|
565
|
-
- **Storage.** Native session files now persist for every Codex and
|
|
572
|
+
- **Storage.** Native session files now persist for every Codex, Claude, and Muse work
|
|
566
573
|
Run, not only Runs launched with `--resumable`. They hold the prompt, the
|
|
567
574
|
child's output, and its tool results in the harness's own store, outside
|
|
568
575
|
`.delegate/` and outside Delegate's redaction and `runs prune`. Delegate does
|
|
@@ -574,7 +581,7 @@ means in practice:
|
|
|
574
581
|
- **Precedence.** The default beats `codex.ephemeral: true` and
|
|
575
582
|
`claude.noSessionPersistence: true`. Those keys only apply to Runs that are not
|
|
576
583
|
resumable. Opt out per launch with `--no-resumable` (JSON `resumable: false`),
|
|
577
|
-
or per engine with `codex.resumable: false` / `claude.resumable: false`. A launch
|
|
584
|
+
or per engine with `codex.resumable: false` / `claude.resumable: false` / `muse.resumable: false`. A launch
|
|
578
585
|
that says `--resumable` beats the engine key.
|
|
579
586
|
- **Unchanged.** Safe and call Runs, `--pass-through` Runs, and every other
|
|
580
587
|
engine stay ephemeral, and `--no-resumable` is a quiet no-op there.
|
|
@@ -733,7 +740,7 @@ provider, including configured custom or local providers.
|
|
|
733
740
|
{ "droid": { "enabled": false } }
|
|
734
741
|
```
|
|
735
742
|
|
|
736
|
-
- Every engine block (`cursor`, `droid`, `codex`, `kimi`, `claude`, `grok`, `devin`, `opencode`, `pi`, `omp`) accepts an optional boolean `enabled`, default `true`. A non-boolean value fails config load with `invalid_<engine>_config`.
|
|
743
|
+
- Every engine block (`cursor`, `droid`, `codex`, `kimi`, `claude`, `grok`, `devin`, `opencode`, `pi`, `omp`, `muse`) accepts an optional boolean `enabled`, default `true`. A non-boolean value fails config load with `invalid_<engine>_config`.
|
|
737
744
|
- `enabled: false` removes the harness from `delegate models`, `describe`, and `capabilities` listings (JSON and text), skips it in `capabilities refresh`, and makes every launch of it (and `delegate models <name>`) fail fast with `harness_disabled` naming `<engine>.enabled`. Static help text and the `describe` overview still mention the harness. Use it to retire a harness whose binary is still on `PATH`.
|
|
738
745
|
|
|
739
746
|
### `omp`
|
|
@@ -761,26 +768,28 @@ provider, including configured custom or local providers.
|
|
|
761
768
|
- Every mode uses `--no-session`. Safe mode and `call --read-only` allow only `read`, disable extensions, skills, rules, and LSP discovery, and add `--approval-mode always-ask` as the load-bearing write/exec denial in headless mode.
|
|
762
769
|
- Delegate does not consume `modelRoles` and never emits `--smol`, `--slow`, `--plan`, `--prewalk*`, or `--plan-yolo*`.
|
|
763
770
|
- `delegate models omp --live` probes `omp models --json --no-extensions` without reading or printing provider credentials.
|
|
771
|
+
- Delegate launches every OMP run with a private `--config` overlay that sets
|
|
772
|
+
`tools.outputMaxColumns` to `8000`. The overlay beats your `config.yml`;
|
|
773
|
+
dry-run and full describe argv show it as `--config <omp config overlay>`.
|
|
764
774
|
- A `provider/model-id` you type yourself (`--model`, input-JSON `model`, or a
|
|
765
775
|
literal `agent(model=...)` in a workflow) is pinned by default: the run behaves
|
|
766
776
|
as `--continuity-mode pinned`. A delegate alias (a key of `omp.models`) and
|
|
767
777
|
`defaultModel` stay `fungible` even though their targets name a provider, so
|
|
768
778
|
aliases keep multi-subscription failover; the run still records and warns
|
|
769
779
|
about which provider answered, and `--continuity-mode pinned` on an alias pins
|
|
770
|
-
it.
|
|
780
|
+
it. For pinned runs, the overlay also sets
|
|
771
781
|
`retry.modelFallback` and `retry.usageAwareFallback` to `false`, so OMP's own
|
|
772
782
|
retry chains (`retry.fallbackChains`) cannot move the run to another model or
|
|
773
|
-
provider. Retrying the same model is unaffected.
|
|
774
|
-
`config.yml`; the dry-run argv shows it as `--config <omp config overlay>`.
|
|
783
|
+
provider. Retrying the same model is unaffected.
|
|
775
784
|
If a different provider or model is served anyway, the run fails
|
|
776
785
|
(`model_continuity_paused`) with a message naming what OMP tried to serve,
|
|
777
786
|
for example `requested opencode-go/glm-5.3, but omp tried to serve
|
|
778
787
|
fireworks/glm-5p3`.
|
|
779
788
|
- Naming `--continuity-mode fungible` or `panel` is the opt-in to failover: the
|
|
780
|
-
overlay
|
|
781
|
-
the request is recorded as a `model_substitution`
|
|
782
|
-
served provider. A run with no model, or with a bare
|
|
783
|
-
unless you name a mode.
|
|
789
|
+
overlay omits the pinned-only retry settings, so OMP may fail over. A served
|
|
790
|
+
model that differs from the request is recorded as a `model_substitution`
|
|
791
|
+
warning that names the served provider. A run with no model, or with a bare
|
|
792
|
+
model ID, is `fungible` unless you name a mode.
|
|
784
793
|
- Use the full `provider/model-id` selector, including the provider even when the
|
|
785
794
|
model ID itself contains `/`. OMP reports provider and model separately;
|
|
786
795
|
Delegate compares their exact combined identity. A slash-free bare model ID
|
|
@@ -797,6 +806,30 @@ provider, including configured custom or local providers.
|
|
|
797
806
|
selectors. With no catalog the run proceeds with a warning; run
|
|
798
807
|
`delegate capabilities refresh` so bare names can be checked.
|
|
799
808
|
|
|
809
|
+
### `muse`
|
|
810
|
+
|
|
811
|
+
```json
|
|
812
|
+
{
|
|
813
|
+
"muse": {
|
|
814
|
+
"binary": "muse",
|
|
815
|
+
"defaultModel": null,
|
|
816
|
+
"defaultReasoningEffort": null,
|
|
817
|
+
"resumable": true,
|
|
818
|
+
"models": {
|
|
819
|
+
"reviewer": "replace-with-muse-model-id"
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
- `binary`: path to the Muse executable.
|
|
826
|
+
- `defaultModel`: optional Muse model ID (for example a `muse-spark` or `muse-wonder` ID from `delegate models muse`). `null` preserves Muse's configured default. The binary accepts unknown IDs without error, so Delegate cannot verify which model served a run.
|
|
827
|
+
- `defaultReasoningEffort`: optional `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, or `ultra` default, emitted as `--reasoning-effort`.
|
|
828
|
+
- `resumable`: work Runs keep their Muse session log so `delegate followup` works; `false` (or per-run `--no-resumable`) launches with `--no-session-log`.
|
|
829
|
+
- `trackedStreamMaxBytes`: retained-stream byte cap for tracked runs. Off by default (`null`): nothing is truncated, hidden from the parser, or killed for being verbose, and `stdout.log` keeps the whole stream. Set a positive integer to opt in; a Run that then exceeds it is stopped as `output_limit_exceeded` with its partial output kept in the completion report. Only an opted-in cap applies the OMP 256 MiB transport and 16 MiB per-record ceilings, which are not configurable.
|
|
830
|
+
- `models`: optional alias map from local names to Muse model IDs.
|
|
831
|
+
- Safe mode and `call --read-only` pass `--disable-write --disable-shell --disable-web-tools` with Muse's sandbox on and the workspace untrusted. Work mode trusts the workspace; `--disable-sandbox` is emitted only under the explicit harness policy bypass.
|
|
832
|
+
|
|
800
833
|
### `reasoning`
|
|
801
834
|
|
|
802
835
|
```json
|
|
@@ -875,7 +908,7 @@ Supported boolean policy keys: `networkAccess`, `webSearch`, `bypassApprovalsAnd
|
|
|
875
908
|
```
|
|
876
909
|
|
|
877
910
|
Allowed values are `auto`, `none`, and `worktree`. For Cursor, Claude, Grok,
|
|
878
|
-
OpenCode, Pi, Oh My Pi, Droid, and
|
|
911
|
+
OpenCode, Pi, Oh My Pi, Droid, Kimi, and Muse safe mode, an effective value of `none` is normalized to `auto`
|
|
879
912
|
because those safe contracts depend on Delegate's temporary workspace/config
|
|
880
913
|
boundary. Explicit per-run CLI/JSON `none` requests also emit a warning; a
|
|
881
914
|
config default is normalized without a separate per-run warning. Codex safe can
|
|
@@ -883,7 +916,7 @@ use `none` because the Codex read-only sandbox remains active.
|
|
|
883
916
|
|
|
884
917
|
Embedded defaults:
|
|
885
918
|
|
|
886
|
-
- `safe`: `auto`. Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, Codex, and
|
|
919
|
+
- `safe`: `auto`. Cursor, Claude, Grok, OpenCode, Pi, Oh My Pi, Droid, Codex, Kimi, and Muse safe use temporary workspace isolation by default. Devin safe is unsupported.
|
|
887
920
|
- `work`: `none`. Work mode runs in the real workspace unless you opt into worktree isolation.
|
|
888
921
|
|
|
889
922
|
#### `isolation.safeBackend` and `isolation.bwrapBinds` (Linux)
|
|
@@ -51,7 +51,7 @@ HOME="$clean_home" DELEGATE_CONFIG="$PWD/config.example.json" python3 bin/delega
|
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Droid real runs require non-placeholder model IDs. Dry-runs for Cursor, Droid,
|
|
54
|
-
Codex, Claude, Grok, Devin, OpenCode, Pi, Oh My Pi, and
|
|
54
|
+
Codex, Claude, Grok, Devin, OpenCode, Pi, Oh My Pi, Kimi, and Muse do not require
|
|
55
55
|
child binaries. Engine event tests use captured fixtures under
|
|
56
56
|
`tests/fixtures/`.
|
|
57
57
|
|
|
@@ -101,4 +101,4 @@ installs a private HOME/temp environment, and strips ambient env.
|
|
|
101
101
|
`tests/` is never collected and never runs.
|
|
102
102
|
|
|
103
103
|
Required CI does not need real Cursor, Droid, Codex, Claude, Grok, Devin,
|
|
104
|
-
OpenCode, Pi, Oh My Pi, or
|
|
104
|
+
OpenCode, Pi, Oh My Pi, Kimi, or Muse binaries.
|