agent-pbx 2.3.0__tar.gz → 2.4.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.
- {agent_pbx-2.3.0/src/agent_pbx.egg-info → agent_pbx-2.4.0}/PKG-INFO +21 -6
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/README.md +20 -5
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/__init__.py +1 -1
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/agent.py +7 -1
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/api.py +470 -2
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/cli.py +51 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/config.py +9 -0
- agent_pbx-2.4.0/src/agent_pbx/contracts.py +334 -0
- agent_pbx-2.4.0/src/agent_pbx/durable_helpers.py +941 -0
- agent_pbx-2.4.0/src/agent_pbx/dynamic_resources.py +913 -0
- agent_pbx-2.4.0/src/agent_pbx/evidence_export.py +909 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/git_broker.py +209 -2
- agent_pbx-2.4.0/src/agent_pbx/git_review.py +540 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/mcp_daemon.py +127 -1
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/mcp_tools.py +24 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/operator.py +413 -16
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/operator_actions.py +1 -1
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/operator_authority.py +85 -2
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/operator_broker.py +360 -1
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/operator_delegation.py +193 -0
- agent_pbx-2.4.0/src/agent_pbx/operator_kb_sync.py +797 -0
- agent_pbx-2.4.0/src/agent_pbx/protected_provider.py +335 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/schemas.py +153 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/store.py +1407 -109
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/tui.py +780 -63
- agent_pbx-2.4.0/src/agent_pbx/workerbee_development_resources.py +543 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0/src/agent_pbx.egg-info}/PKG-INFO +21 -6
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx.egg-info/SOURCES.txt +15 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_agent_instructions.py +2 -0
- agent_pbx-2.4.0/tests/test_contracts.py +140 -0
- agent_pbx-2.4.0/tests/test_durable_helpers.py +359 -0
- agent_pbx-2.4.0/tests/test_dynamic_resources.py +598 -0
- agent_pbx-2.4.0/tests/test_engineering_control_plane_integration.py +319 -0
- agent_pbx-2.4.0/tests/test_evidence_export.py +248 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_git_broker.py +46 -0
- agent_pbx-2.4.0/tests/test_git_review.py +191 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_mcp_daemon.py +143 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_migration.py +29 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_operator.py +64 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_operator_authority.py +157 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_operator_broker.py +460 -2
- agent_pbx-2.4.0/tests/test_operator_kb_sync.py +395 -0
- agent_pbx-2.4.0/tests/test_protected_provider.py +369 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_store.py +62 -2
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_terminal_editor.py +6 -2
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_tui.py +691 -9
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_controlled_run.py +51 -2
- agent_pbx-2.4.0/tests/test_workerbee_development_resources.py +445 -0
- agent_pbx-2.3.0/src/agent_pbx/contracts.py +0 -120
- agent_pbx-2.3.0/tests/test_contracts.py +0 -54
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/LICENSE +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/pyproject.toml +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/setup.cfg +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/__main__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/agent_adoption.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/auth.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/client.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/__init__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/adapter.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/capabilities.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/event_bridge.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/models.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/profiles.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/protocol.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/sessions.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/skills.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex/state.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex_cli.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex_config.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex_launch.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex_sessions.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/codex_theme.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/compat.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/debug_smoke.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/__init__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/capture.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/contract.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/fake_codex.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/fake_github.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/fake_joplin.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/fake_workerbee.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/fixtures.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/session.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/demo/web.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/dev_harness.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/doctor.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/envfile.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/events.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/files.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/git_worktree.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/host_process_evidence.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/issues.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/joplin.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/lifecycle.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/managed_runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/migration.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/pairing.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/paths.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/polling.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/project_spawn.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/pull_requests.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/remote.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/runtime_tmux.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/security.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/setup_assistant.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/sim_agent.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/sim_client.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/skill_packs/agent-pbx-base/SKILL.md +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/skill_packs/agent-role/SKILL.md +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/skill_packs/operator-role/SKILL.md +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/skill_packs/review-role/SKILL.md +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/skill_packs/roses-architect/SKILL.md +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/__init__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/conformance.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/keys.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/pty.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/screen.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal/widget.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/terminal_editor.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/tmux.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/tmux_binary.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/transcript.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/tui_cli.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/uat.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/__init__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/actions.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/async_jobs.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/focus.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/navigation.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/palette_history.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/panels/__init__.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/panels/editor.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/panels/joplin.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/panels/operators.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/ui/theme.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/wiki_publish.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_access.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_controlled_run.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_controlled_run_executor.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_direct_bind.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_gateway.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_harness.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_materializer.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_mcp.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_modes.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_snapshot_policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_switcher.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx/workerbee_workspace.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx.egg-info/dependency_links.txt +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx.egg-info/entry_points.txt +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx.egg-info/requires.txt +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/src/agent_pbx.egg-info/top_level.txt +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_agent_adoption.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_auth_pairing.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_adapter.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_cli.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_config.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_event_bridge.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_launch.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_profiles.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_sessions.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_codex_theme.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_compat.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_debug_smoke.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_demo_capture.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_demo_codex.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_dev_harness.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_docs.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_doctor.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_events.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_git_worktree.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_health.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_host_process_evidence.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_issues.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_joplin.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_lifecycle.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_managed_runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_mcp_tools.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_navigation.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_operator_delegation.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_palette_history.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_polling.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_project_spawn.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_public_demo_fixtures.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_public_demo_policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_public_demo_session.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_public_demo_web.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_pull_requests.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_readme.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_release_packaging.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_release_validation.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_remote.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_runtime_tmux.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_runtime_ux.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_setup_assistant.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_terminal.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_tmux.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_tmux_binary.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_tui_cli.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_uat.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_ui_controllers.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_wiki_publish.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_access.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_gateway.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_harness.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_materializer.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_mcp.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_modes.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_runtime.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_snapshot_policy.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_switcher.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workerbee_workspace.py +0 -0
- {agent_pbx-2.3.0 → agent_pbx-2.4.0}/tests/test_workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-pbx
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: Runtime-grounded control plane for durable Codex Agent and Operator sessions.
|
|
5
5
|
Author: Agent PBX contributors
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -109,7 +109,8 @@ origin policy, and versioned product-site contract.
|
|
|
109
109
|
|
|
110
110
|
See [the architecture overview](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/architecture.md),
|
|
111
111
|
[the project wiki](https://github.com/m4xx3d0ut/agent-pbx/wiki),
|
|
112
|
-
[the v2.
|
|
112
|
+
[the stable v2.4.0 release notes](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/releases/v2.4.0.md),
|
|
113
|
+
[the v2.4 acceptance record](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/acceptance/v2.4-uat.md), and
|
|
113
114
|
[the accepted architecture decisions](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/adr/README.md) for the complete
|
|
114
115
|
control-plane and compatibility boundaries.
|
|
115
116
|
|
|
@@ -630,9 +631,14 @@ only true for a Codex-like target.
|
|
|
630
631
|
|
|
631
632
|
A terminal handoff update creates one idempotent completion receipt for the
|
|
632
633
|
exact source root Operator or source fork. The Operators pane keeps semantic
|
|
633
|
-
`State` and `Flow` separate from tmux `Live
|
|
634
|
-
|
|
635
|
-
|
|
634
|
+
`State` and `Flow` separate from tmux `Live`: `State` is the projected PBX
|
|
635
|
+
workflow, `Flow` is its highest-priority durable route or action, `Camp` is the
|
|
636
|
+
active nonterminal campaign count, and `Live` is tmux/runtime liveness. Raw
|
|
637
|
+
Codex activity does not drive `State`, `Flow`, or `Camp`. Selecting an Operator
|
|
638
|
+
shows the projection reason, source, and durable subject identity in Latest
|
|
639
|
+
detail. Pending results appear as `⇠ REVIEW` with an `RCPT` marker. The top
|
|
640
|
+
banner reports `RECEIPTS N`, and F8 opens the completion center after pending
|
|
641
|
+
approvals and before guarded actions.
|
|
636
642
|
Reviewing and acknowledging a receipt stops retry/attention state without
|
|
637
643
|
changing the completed, failed, blocked, or canceled handoff. Nohup recipients
|
|
638
644
|
receive an exact queued command. Report-mode terminal injection requires an
|
|
@@ -678,7 +684,16 @@ export AGENT_PBX_OPERATOR_BROKER_MAX_IN_FLIGHT="1"
|
|
|
678
684
|
`root_operator` is intentionally a local administrator choice; it is not the
|
|
679
685
|
committed default. Requests survive TUI replacement, use a bounded executor
|
|
680
686
|
lease, recover commit evidence from durable action receipts, and fail closed on
|
|
681
|
-
scope, workspace, session, pane, Git parent, or path drift.
|
|
687
|
+
scope, workspace, session, pane, Git parent, or path drift. In root-supervised
|
|
688
|
+
mode, F8 first persists a deterministic request and an
|
|
689
|
+
`awaiting_broker_approval` needs-input report. A succeeded executor result is
|
|
690
|
+
not campaign completion: the root must validate the exact terminal action
|
|
691
|
+
transaction with `pbx_operator_validate_broker_checkpoint`, then acknowledge
|
|
692
|
+
the resulting handoff completion receipt. Assignment and campaign completion
|
|
693
|
+
fail closed while any request, transaction, actionable handoff, or completion
|
|
694
|
+
receipt is outstanding. If recovery is needed after terminal history exists,
|
|
695
|
+
`pbx_operator_create_campaign_successor` creates one idempotent successor
|
|
696
|
+
without reopening or rewriting the predecessor.
|
|
682
697
|
|
|
683
698
|
The committed default remains manual approval. On a trusted local workstation,
|
|
684
699
|
the approval center's `Trust & approve` action can grant a one-hour,
|
|
@@ -71,7 +71,8 @@ origin policy, and versioned product-site contract.
|
|
|
71
71
|
|
|
72
72
|
See [the architecture overview](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/architecture.md),
|
|
73
73
|
[the project wiki](https://github.com/m4xx3d0ut/agent-pbx/wiki),
|
|
74
|
-
[the v2.
|
|
74
|
+
[the stable v2.4.0 release notes](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/releases/v2.4.0.md),
|
|
75
|
+
[the v2.4 acceptance record](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/acceptance/v2.4-uat.md), and
|
|
75
76
|
[the accepted architecture decisions](https://github.com/m4xx3d0ut/agent-pbx/blob/dev/docs/adr/README.md) for the complete
|
|
76
77
|
control-plane and compatibility boundaries.
|
|
77
78
|
|
|
@@ -592,9 +593,14 @@ only true for a Codex-like target.
|
|
|
592
593
|
|
|
593
594
|
A terminal handoff update creates one idempotent completion receipt for the
|
|
594
595
|
exact source root Operator or source fork. The Operators pane keeps semantic
|
|
595
|
-
`State` and `Flow` separate from tmux `Live
|
|
596
|
-
|
|
597
|
-
|
|
596
|
+
`State` and `Flow` separate from tmux `Live`: `State` is the projected PBX
|
|
597
|
+
workflow, `Flow` is its highest-priority durable route or action, `Camp` is the
|
|
598
|
+
active nonterminal campaign count, and `Live` is tmux/runtime liveness. Raw
|
|
599
|
+
Codex activity does not drive `State`, `Flow`, or `Camp`. Selecting an Operator
|
|
600
|
+
shows the projection reason, source, and durable subject identity in Latest
|
|
601
|
+
detail. Pending results appear as `⇠ REVIEW` with an `RCPT` marker. The top
|
|
602
|
+
banner reports `RECEIPTS N`, and F8 opens the completion center after pending
|
|
603
|
+
approvals and before guarded actions.
|
|
598
604
|
Reviewing and acknowledging a receipt stops retry/attention state without
|
|
599
605
|
changing the completed, failed, blocked, or canceled handoff. Nohup recipients
|
|
600
606
|
receive an exact queued command. Report-mode terminal injection requires an
|
|
@@ -640,7 +646,16 @@ export AGENT_PBX_OPERATOR_BROKER_MAX_IN_FLIGHT="1"
|
|
|
640
646
|
`root_operator` is intentionally a local administrator choice; it is not the
|
|
641
647
|
committed default. Requests survive TUI replacement, use a bounded executor
|
|
642
648
|
lease, recover commit evidence from durable action receipts, and fail closed on
|
|
643
|
-
scope, workspace, session, pane, Git parent, or path drift.
|
|
649
|
+
scope, workspace, session, pane, Git parent, or path drift. In root-supervised
|
|
650
|
+
mode, F8 first persists a deterministic request and an
|
|
651
|
+
`awaiting_broker_approval` needs-input report. A succeeded executor result is
|
|
652
|
+
not campaign completion: the root must validate the exact terminal action
|
|
653
|
+
transaction with `pbx_operator_validate_broker_checkpoint`, then acknowledge
|
|
654
|
+
the resulting handoff completion receipt. Assignment and campaign completion
|
|
655
|
+
fail closed while any request, transaction, actionable handoff, or completion
|
|
656
|
+
receipt is outstanding. If recovery is needed after terminal history exists,
|
|
657
|
+
`pbx_operator_create_campaign_successor` creates one idempotent successor
|
|
658
|
+
without reopening or rewriting the predecessor.
|
|
644
659
|
|
|
645
660
|
The committed default remains manual approval. On a trusted local workstation,
|
|
646
661
|
the approval center's `Trust & approve` action can grant a one-hour,
|
|
@@ -182,7 +182,13 @@ handoff. The request carries exact paths, expected parent, commit subject,
|
|
|
182
182
|
campaign, workspace-set, and authority digests. A local Agent PBX TUI executes
|
|
183
183
|
the durable stop, exact commit, and same-session resume. Read the durable result
|
|
184
184
|
with `pbx_operator_get_broker_checkpoint`, inspect its receipt summary, and
|
|
185
|
-
|
|
185
|
+
validate the exact terminal action transaction with
|
|
186
|
+
`pbx_operator_validate_broker_checkpoint` before assignment or campaign
|
|
187
|
+
completion. The durable request and its `awaiting_broker_approval` needs-input
|
|
188
|
+
report are restart-idempotent. Outstanding handoffs, transactions, requests,
|
|
189
|
+
or unacknowledged completion receipts block completion. Use
|
|
190
|
+
`pbx_operator_create_campaign_successor` for new recovery work after a campaign
|
|
191
|
+
became terminal; terminal history is never reopened. Edit forks and review forks must not
|
|
186
192
|
request, cancel, or impersonate this root workflow.
|
|
187
193
|
|
|
188
194
|
Operator forks have roles. The default/edit fork may coordinate caller-directed
|