Add dead-simple orchestrator command with inherited run config#299
Open
mmprotest wants to merge 3 commits into
Open
Add dead-simple orchestrator command with inherited run config#299mmprotest wants to merge 3 commits into
mmprotest wants to merge 3 commits into
Conversation
…trator-and-worker-logic Tighten orchestrator worker bounds, rollback, verification, and Windows guidance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
villani-code runsubprocesses against the same live codebase while reusing the existing runner and avoiding a heavyweight framework.runconfiguration received by the parentorchestratecommand so runtime/provider/debug/approval flags (current and future) are preserved and forwarded automatically.Description
villani-code orchestrate "..."CLI command that accepts the fullrunoption surface plus orchestrator-only flags--max-workers,--max-worker-retries,--supervisor-timeout-seconds, and--worker-timeout-seconds, and prints a final JSON summary.runoption wiring into typed option aliases and a single_build_inherited_run_args(...)helper used byorchestrateso allrunflags are inherited and forwarded unchanged to supervisor/worker/retry subprocess constructions.runwith hidden machine-oriented flags--role,--result-json-path, and--parent-mission-idand add strict JSON artifact emission for child roles via_write_result_artifact.villani_code/orchestrator.py(orchestration flow, subprocess construction, retries, mission artifacts),villani_code/orchestrator_models.py(typed contracts),villani_code/orchestrator_roles.py(supervisor/worker prompt builders), andvillani_code/orchestrator_verify.py(snapshot helpers and deterministic verification with rollback).Testing
tests/test_orchestrator.pywith focused cases for flag inheritance, forwarding to supervisor/workers/retries, supervisor retry on invalid output, worker retry and snapshot restore, non-execution ofsuccess_criteria, no final verification when no worker succeeds, parent-mission authority, and supervisor multi-subtask bounds.pytest -q tests/test_orchestrator.py tests/test_cli_debug_flags.py tests/test_cli_headless_optional_tui.py, and all tests passed (19 passed, 27 warnings).Codex Task