simplicio-loop 3.36.0__tar.gz → 3.37.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.
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/MANIFEST.in +1 -0
- {simplicio_loop-3.36.0/simplicio_loop.egg-info → simplicio_loop-3.37.0}/PKG-INFO +1 -1
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/README.md +96 -26
- simplicio_loop-3.37.0/contracts/stage-agents/v1/action-intent.schema.json +37 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/agent-instance.schema.json +89 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/agent-role.schema.json +41 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/review-finding.schema.json +41 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/review-receipt.schema.json +60 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/run-stage-graph.schema.json +36 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/stage-definition.schema.json +162 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/stage-input.schema.json +9 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/stage-output.schema.json +9 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/stage-receipt.schema.json +102 -0
- simplicio_loop-3.37.0/contracts/stage-agents/v1/stages.json +700 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/pyproject.toml +69 -69
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/__init__.py +18 -18
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/loop_stop.py +5 -1
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/action-intent.schema.json +37 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/agent-instance.schema.json +89 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/agent-role.schema.json +41 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/review-finding.schema.json +41 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/review-receipt.schema.json +60 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/run-stage-graph.schema.json +36 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/stage-definition.schema.json +162 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/stage-input.schema.json +9 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/stage-output.schema.json +9 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/stage-receipt.schema.json +102 -0
- simplicio_loop-3.37.0/simplicio_loop/_contracts/stage-agents/v1/stages.json +700 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/agent_contract.py +99 -4
- simplicio_loop-3.37.0/simplicio_loop/agent_identity.py +256 -0
- simplicio_loop-3.37.0/simplicio_loop/completion_auditor.py +820 -0
- simplicio_loop-3.37.0/simplicio_loop/delivery_agent.py +916 -0
- simplicio_loop-3.37.0/simplicio_loop/feedback_recovery_agent.py +709 -0
- simplicio_loop-3.37.0/simplicio_loop/implementation_agent.py +743 -0
- simplicio_loop-3.37.0/simplicio_loop/intake_planner.py +467 -0
- simplicio_loop-3.37.0/simplicio_loop/multi_tracker_reporting.py +543 -0
- simplicio_loop-3.37.0/simplicio_loop/orca_lifecycle.py +87 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/quality_matrix.py +180 -0
- simplicio_loop-3.37.0/simplicio_loop/review_panel.py +586 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/runner.py +31 -0
- simplicio_loop-3.37.0/simplicio_loop/stage_agent_coordinator.py +918 -0
- simplicio_loop-3.37.0/simplicio_loop/stage_agents.py +975 -0
- simplicio_loop-3.37.0/simplicio_loop/stage_report.py +325 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0/simplicio_loop.egg-info}/PKG-INFO +1 -1
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop.egg-info/SOURCES.txt +54 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_agent_contract_unit.py +28 -0
- simplicio_loop-3.37.0/tests/test_agent_identity.py +246 -0
- simplicio_loop-3.37.0/tests/test_bound_operators_runtime_required_unit.py +46 -0
- simplicio_loop-3.37.0/tests/test_completion_auditor_431_unit.py +603 -0
- simplicio_loop-3.37.0/tests/test_conformance_suite.py +55 -0
- simplicio_loop-3.37.0/tests/test_contract_parity.py +60 -0
- simplicio_loop-3.37.0/tests/test_delivery_agent_429.py +851 -0
- simplicio_loop-3.37.0/tests/test_feedback_recovery_agent_430_unit.py +414 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_status_sync_unit.py +33 -2
- simplicio_loop-3.37.0/tests/test_implementation_agent_426_unit.py +615 -0
- simplicio_loop-3.37.0/tests/test_intake_planner_425_unit.py +408 -0
- simplicio_loop-3.37.0/tests/test_multi_tracker_reporting.py +202 -0
- simplicio_loop-3.37.0/tests/test_orca_lifecycle_unit.py +44 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_unit.py +39 -0
- simplicio_loop-3.37.0/tests/test_review_panel.py +449 -0
- simplicio_loop-3.37.0/tests/test_safety_gate_agent.py +205 -0
- simplicio_loop-3.37.0/tests/test_stage_agent_conformance.py +260 -0
- simplicio_loop-3.37.0/tests/test_stage_agent_contract.py +407 -0
- simplicio_loop-3.37.0/tests/test_stage_agent_coordinator.py +474 -0
- simplicio_loop-3.37.0/tests/test_stage_agent_fail_closed.py +72 -0
- simplicio_loop-3.37.0/tests/test_stage_agent_reducer.py +249 -0
- simplicio_loop-3.37.0/tests/test_stage_report_cli_integration.py +68 -0
- simplicio_loop-3.37.0/tests/test_stage_report_unit.py +244 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/LICENSE +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/PYPI.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/setup.cfg +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/README.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/action_gate.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/hooks.claude.json +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/hooks.json +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/loop_capture.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/orient_clamp.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/orient_rewrite.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/pre-commit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/simplicio_dashboard.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/hooks/simplicio_watch.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/scripts/cross_agent_wiki.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/scripts/hierarchical_planner.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-autoresearch/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-compress/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-learn/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/agentsview-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/azure-devops-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/bound-operators.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/claims-gate.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/control-policy.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/cross-agent-wiki.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/cross-repo-integration.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/extension-points.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/hierarchical-planner.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/lmcache-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/orchestration.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/planning-gate.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/progress-feedback.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/quality-safety-delivery.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/run-journal-stall-detector.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/spindle-handoff.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/standing-loop-247.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/token-capture.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/token-economy.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/triage-verify-detail.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/understand-anything-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/video-evidence.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-loop/references/web-evidence.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-orient/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-review/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/SKILL.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/agentsview-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/azure-devops-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/extension-points.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/lmcache-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/orchestration.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/quality-safety-delivery.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/standing-loop-247.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-capture.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-economy.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/understand-anything-adapter.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/video-evidence.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/skills/simplicio-tasks/references/web-evidence.md +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/_bundle/tests/_selfrun.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/attempt_journal.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/budget.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/cli.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/control_policy.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/delivery.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/drain.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/driver_contract.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/evidence.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/execution_board.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/external_verifiers.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/flow_semantics.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/freshness.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/github_lifecycle.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/intake_contract.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/merge_executor.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/model_registry.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/model_router.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/ops_ledger.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/oracle.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/phase_events.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/plan_contract.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/planning_gate.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/pr_patrol.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/progress.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/receipt_verifier.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/recovery.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/remote_queue.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/remote_queue_server_cli.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/remote_worker_cli.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/remote_worker_measurement.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/remote_worker_supervisor_cli.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/runtime_adapter.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/runtime_drivers.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/runtime_execution_receipt.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/secure_transport.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/source_adapter.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/source_snapshot.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/source_state.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/task_contract.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/traceability_matrix.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/verified_delivery.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/work_item_claims.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop/worker_daemon.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop.egg-info/dependency_links.txt +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop.egg-info/entry_points.txt +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop.egg-info/requires.txt +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/simplicio_loop.egg-info/top_level.txt +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_284_lifecycle_dag_idempotence_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_action_gate_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_agent_identity_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_agentsview_adapter_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_attempt_journal_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_autoresearch_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_az_boards_adapter_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_batch_crash_recovery_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_budget_error_paths_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_budget_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_check_e2e_demo_contract_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_check_e2e_installed_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_check_loop_contract_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_claims_audit_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_claims_manifest_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_clean_env_contract_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_cli_dispatch_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_cli_install_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_cli_oracle_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_completion_oracle_matrix_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_completion_oracle_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_control_policy_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_copilot_global_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_cross_agent_wiki_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_dashboard_hook_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_concurrency_fault_injection_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_lifecycle_sandbox_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_progress_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_reconciliation_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_source_identity_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_delivery_validation_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_dispatch_batch_multi_pr_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_dispatch_merge_wiring_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_distributed_183_dod_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_distributed_183_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_distributed_183_external_probe_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_distributed_epic_evidence_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_distributed_trust_policy_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_doctor_smoke_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_drain_cli_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_drain_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_driver_contract_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_e2e_demo_audit_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_evidence_chain_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_evidence_receipt_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_execution_board_e2e_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_external_verifiers_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_fan_out_flow_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_fan_out_scheduler_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_fan_out_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_flow_audit_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_flow_semantics_edge_paths_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_flow_semantics_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_freshness_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_gen_install_mutations_doc_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_lifecycle_concurrency_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_lifecycle_live_e2e.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_lifecycle_readside_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_lifecycle_runner_wiring_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_github_lifecycle_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_golden_mutation_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_hbp_topics_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_hierarchical_planner_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_hooks_coverage_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_impact_audit_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_independent_watcher_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_ci_pinning_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_consent_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_lib_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_plan_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_post_smoke_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_rollback_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_smoke_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_transaction_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_install_upgrade_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_intake_impact_matrix_replan_284_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_intake_progress.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_intake_progress_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_learn_pipeline_removed_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_ledger_cli_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_live_issue_183_identity_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_locked_append_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_loop_driver_run_state_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_loop_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_loop_progress_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_maintenance_deferred_docs_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_merge_executor_live_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_merge_executor_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_merge_queue_live_probe_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_mirror_parity_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_model_registry_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_model_routed_dispatch_wiring_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_model_router_fallback_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_model_router_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_operator_batch_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_operator_worktree_batch_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_ops_ledger_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_oracle_gates_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_oracle_perf_benchmark_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_oracle_source_lifecycle_gate_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_orca_preset_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_phase_events_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_plan_contract_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planes_golden_eval_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planes_installed_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planning_gate_284_enhancements_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planning_gate_execute_operator_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planning_gate_github_publish_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planning_gate_live_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_planning_gate_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_pr_evidence_comment_publish_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_pr_evidence_lifecycle_delegation_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_pr_patrol_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_precommit_bundle_sync_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_preflight_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_comment_live_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_comment_ratelimit_cli_e2e_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_failopen_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_snapshots_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_progress_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_provenance_generate_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_gate_scripts_emit_json_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_benchmark_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_reverify_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_quality_matrix_watcher.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_receipt_verifier_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_recovery_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_release_manifest_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_release_rehearsal_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_release_verify_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_queue_cancellation_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_queue_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_queue_live_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_queue_pull_claim_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_queue_short_lived_auth_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_worker_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_worker_http_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_worker_measurement_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_remote_worker_supervisor_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_repo_conventions_architecture_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_repo_governance_294_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_repository_budget_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_repository_governance_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runner_cli_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runner_progress_events_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runner_state_machine_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runtime_adapter_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runtime_drivers_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runtime_execution_receipt_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_runtime_matrix_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_sbom_generate_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_schema_verify_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_schema_verify_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_secure_transport_fault_injection_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_secure_transport_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_security_audit_log_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_short_lived_credentials_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_simplicio_mcp_runner_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_source_adapter_protocol_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_source_snapshot_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_source_state_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_system_276_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_system_check_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_system_clean_install_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_task_backlog_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_task_contract_cli_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_task_contract_routing_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_task_contract_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_task_to_delivery_golden_corpus_regression.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_test_categories_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_token_budget_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_toon_codec_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_transcript_progress_e2e_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_transcript_progress_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_turn_progress_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_verified_delivery_dispatch_wiring_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_verified_delivery_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_verify_adapters_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_version_sync_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_vscode_global_install.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_watcher_binding_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_watcher_challenge_generation_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_watcher_quality_gate_reverify_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_work_item_claims_chaos_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_work_item_claims_run_guarded_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_work_item_claims_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_worker_cli_contract_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_worker_daemon_unit.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_worker_selftests_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_worker_smoke_system.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_workitem_attempts_integration.py +0 -0
- {simplicio_loop-3.36.0 → simplicio_loop-3.37.0}/tests/test_worktree_queue_integration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-loop
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.37.0
|
|
4
4
|
Summary: The Universal Looping AI Orchestrator — a runtime-agnostic super-plugin (7 skills) that drains any queue of work end-to-end on any LLM/runtime.
|
|
5
5
|
Author-email: Wesley Simplicio <wesleybob4@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 🔁 simplicio-loop — The Universal Looping AI Orchestrator
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="assets/simplicio-loop-hero-2026.
|
|
4
|
+
<img src="assets/simplicio-loop-hero-stage-agents-2026.webp" alt="simplicio-loop portable stage agents, evidence gates, durable memory, and connected work-item reporting" width="920" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<a href="https://github.com/wesleysimplicio/simplicio-loop/stargazers"><img src="https://img.shields.io/github/stars/wesleysimplicio/simplicio-loop?style=social" alt="Stars"></a>
|
|
10
10
|
<a href="#-the-7-skills--5-accelerators"><img src="https://img.shields.io/badge/skills-7-7C3AED" alt="7 skills"></a>
|
|
11
11
|
<a href="#-source-adapters"><img src="https://img.shields.io/badge/source%20adapters-5-00E08A" alt="5 source adapters"></a>
|
|
12
|
-
<a href="#-
|
|
12
|
+
<a href="#-15-runtimes-one-protocol"><img src="https://img.shields.io/badge/runtimes-15%20(3%20garantidos%2B12%20best--effort)-2563EB" alt="15 runtimes (3 guaranteed + 12 best-effort)"></a>
|
|
13
13
|
<a href="#-the-49-extension-points"><img src="https://img.shields.io/badge/extension%20points-49-00E08A" alt="49 extension points"></a>
|
|
14
14
|
<a href="#-token-economy"><img src="https://img.shields.io/badge/savings-unverified-888888" alt="Savings — unverified"></a>
|
|
15
15
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<a href="#-tldr">TL;DR</a> ·
|
|
21
21
|
<a href="#-the-7-skills--5-accelerators">7 Skills</a> ·
|
|
22
22
|
<a href="#-source-adapters">Source Adapters</a> ·
|
|
23
|
-
<a href="#-
|
|
23
|
+
<a href="#-15-runtimes-one-protocol">15 Runtimes</a> ·
|
|
24
24
|
<a href="#-the-loop">The Loop</a> ·
|
|
25
25
|
<a href="#-token-economy">Token Economy</a> ·
|
|
26
26
|
<a href="#-token-economy">Capture Engine</a> ·
|
|
@@ -86,6 +86,68 @@ That architecture lets one goal become a governed delivery system: from a single
|
|
|
86
86
|
</p>
|
|
87
87
|
<!-- visual-story:end -->
|
|
88
88
|
|
|
89
|
+
<!-- stage-agents-roadmap:start -->
|
|
90
|
+
## 🤖 Roadmap — a concrete agent behind every stage
|
|
91
|
+
|
|
92
|
+
> **Implementation status:** this is the tracked target architecture in [#422](https://github.com/wesleysimplicio/simplicio-loop/issues/422)–[#436](https://github.com/wesleysimplicio/simplicio-loop/issues/436), not a claim that every stage agent and tracker adapter already ships. The canonical GitHub lifecycle comment exists today; the full mandatory stage-reporting gate is tracked in [#433](https://github.com/wesleysimplicio/simplicio-loop/issues/433).
|
|
93
|
+
|
|
94
|
+
The portable driver will assign one accountable agent to intake/planning, implementation, safety,
|
|
95
|
+
delivery, feedback/recovery, and final completion audit. Review fans out to four independent agents
|
|
96
|
+
— security/correctness, code quality, runtime reproduction, and blast radius — before it can
|
|
97
|
+
reconverge. Every transition emits an event and receipt; the completion auditor accepts evidence,
|
|
98
|
+
never self-reported confidence.
|
|
99
|
+
|
|
100
|
+
<p align="center">
|
|
101
|
+
<img src="assets/simplicio-loop-stage-agents-reporting-2026.webp" alt="simplicio-loop stage agents with four-way review, evidence ledger, recovery, completion audit, and work-item comments" width="920" />
|
|
102
|
+
</p>
|
|
103
|
+
|
|
104
|
+
### Work-item comment policy
|
|
105
|
+
|
|
106
|
+
| Work tracker | Reporting policy | Completion meaning |
|
|
107
|
+
|---|---|---|
|
|
108
|
+
| **GitHub Issues / PRs** | **Required** for GitHub-bound runs | `COMPLETE` waits for a remotely observed comment receipt |
|
|
109
|
+
| **Azure DevOps** | Only when its connector is detected, authenticated, authorized, and target-resolved | Connected providers report; `NOT_CONNECTED` is an explicit, non-blocking skip |
|
|
110
|
+
| **Jira** | Only when connected | Same canonical timeline, provider-specific confirmation |
|
|
111
|
+
| **Asana** | Only when connected | Same canonical timeline, provider-specific confirmation |
|
|
112
|
+
| **Trello** | Only when connected | Same canonical timeline, provider-specific confirmation |
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
flowchart LR
|
|
116
|
+
SOURCE["Issue · task · queue"] --> COORD["Portable coordinator"]
|
|
117
|
+
COORD --> PLAN["Intake + Planner agent"]
|
|
118
|
+
PLAN --> BUILD["Implementation agent"]
|
|
119
|
+
BUILD --> SAFE["Safety agent"]
|
|
120
|
+
SAFE --> R1["Review agent · security"]
|
|
121
|
+
SAFE --> R2["Review agent · quality"]
|
|
122
|
+
SAFE --> R3["Review agent · runtime/E2E"]
|
|
123
|
+
SAFE --> R4["Review agent · blast radius"]
|
|
124
|
+
R1 --> DELIVER["Delivery agent"]
|
|
125
|
+
R2 --> DELIVER
|
|
126
|
+
R3 --> DELIVER
|
|
127
|
+
R4 --> DELIVER
|
|
128
|
+
DELIVER --> RECOVER["Feedback + Recovery agent"]
|
|
129
|
+
RECOVER --> BUILD
|
|
130
|
+
DELIVER --> AUDIT["Completion auditor"]
|
|
131
|
+
AUDIT --> VERDICT{"COMPLETE · PARTIAL · BLOCKED · REGRESSED"}
|
|
132
|
+
PLAN -. "events + receipts" .-> LEDGER["Append-only stage ledger"]
|
|
133
|
+
BUILD -.-> LEDGER
|
|
134
|
+
SAFE -.-> LEDGER
|
|
135
|
+
DELIVER -.-> LEDGER
|
|
136
|
+
AUDIT -.-> LEDGER
|
|
137
|
+
LEDGER --> GH["GitHub comments · REQUIRED"]
|
|
138
|
+
LEDGER -. "only if connected" .-> AZ["Azure DevOps comments"]
|
|
139
|
+
LEDGER -. "only if connected" .-> JIRA["Jira comments"]
|
|
140
|
+
LEDGER -. "only if connected" .-> ASANA["Asana comments"]
|
|
141
|
+
LEDGER -. "only if connected" .-> TRELLO["Trello comments"]
|
|
142
|
+
GH --> AUDIT
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
The provider-neutral contract, capability probes, idempotent markers, durable outboxes, recovery
|
|
146
|
+
rules, sandbox E2E matrix, and acceptance criteria are specified in
|
|
147
|
+
[#436](https://github.com/wesleysimplicio/simplicio-loop/issues/436). An optional provider is never
|
|
148
|
+
treated as connected merely because a CLI exists, and no remote acknowledgment is ever invented.
|
|
149
|
+
<!-- stage-agents-roadmap:end -->
|
|
150
|
+
|
|
89
151
|
## 🆕 What's new in v3.35.0
|
|
90
152
|
|
|
91
153
|
- **Real multi-device execution** — atomic claim/discovery over a live remote queue, worker heartbeat + cancellation, receipt verification on *both* the client and the server, and an installable worker/supervisor/queue-server console-script surface, plus a `doctor.py` `LOCAL_ONLY` / `REMOTE_READY` / `REMOTE_MEASURED` tri-state so "remote" is never claimed without a passing cross-process proof.
|
|
@@ -126,14 +188,14 @@ and keeps watching **24/7** for new work — all behind safety gates and evidenc
|
|
|
126
188
|
```
|
|
127
189
|
|
|
128
190
|
Three things make it different: it is a **super-plugin of focused skills**, it runs the **same
|
|
129
|
-
protocol on
|
|
191
|
+
protocol on 15 runtimes**, and it does all of this with **aggressive, honest token economy**.
|
|
130
192
|
|
|
131
193
|
The skill installs **standalone** too: you do **not** need `simplicio-runtime` or any mandatory
|
|
132
194
|
runtime-native component just to use `simplicio-loop`. Native binds, operators, capture services,
|
|
133
195
|
and the wider Simplicio runtime stack are optional accelerators on top of the core skill bundle.
|
|
134
196
|
|
|
135
197
|
<p align="center">
|
|
136
|
-
<img src="assets/simplicio-loop-infographic.png" alt="simplicio-loop detailed infographic: standalone install,
|
|
198
|
+
<img src="assets/simplicio-loop-infographic.png" alt="simplicio-loop detailed infographic: standalone install, required native binds, 7 skills, 5 accelerators, 15 runtimes, 5 source adapters, and proof gates" width="920" />
|
|
137
199
|
</p>
|
|
138
200
|
|
|
139
201
|
Within the Simplicio product line, this repo is also the **current reference task flow** for
|
|
@@ -230,9 +292,12 @@ The orchestrator discovers work from any source via pluggable adapters. Each exp
|
|
|
230
292
|
|
|
231
293
|
| Source | Adapter | Purpose |
|
|
232
294
|
|---|---|---|
|
|
233
|
-
| GitHub Issues/PRs | `gh` CLI (native) | Primary work-item source |
|
|
234
|
-
|
|
|
235
|
-
|
|
|
295
|
+
| GitHub Issues/PRs | `gh` CLI (native) | Primary work-item source; canonical lifecycle comments ship today |
|
|
296
|
+
| Azure DevOps | `az boards` / host connector | Azure Boards discovery; stage comments only after a real connected-capability probe |
|
|
297
|
+
| Jira | host connector | Jira discovery; stage comments only when connected |
|
|
298
|
+
| Asana | host connector | Asana discovery; stage comments only when connected |
|
|
299
|
+
| Trello | host connector | Trello discovery; stage comments only when connected |
|
|
300
|
+
| ClickUp / Linear / Notion | host connector | Board/project discovery; no stage-comment claim without a certified adapter |
|
|
236
301
|
| **agentsview sessions** | `scripts/agentsview_adapter.py` | Stalled session recovery + cost observability |
|
|
237
302
|
| Local files / CI queue | filesystem / CI API | Internal work tracking |
|
|
238
303
|
|
|
@@ -240,33 +305,38 @@ See each adapter's reference doc under `.claude/skills/simplicio-loop/references
|
|
|
240
305
|
|
|
241
306
|
---
|
|
242
307
|
|
|
243
|
-
## 🌐
|
|
308
|
+
## 🌐 15 runtimes, one protocol — 3 guaranteed + 12 best-effort
|
|
244
309
|
|
|
245
310
|
One universal skill core + one set of hooks drives every runtime. An adapter is thin: it tells a
|
|
246
311
|
runtime *where to load the skills*, *how to arm the loop*, and *how to bind native speed*. **The
|
|
247
|
-
skill names no runtime; the runtime detects the skill.**
|
|
312
|
+
skill names no runtime; the runtime detects the skill.** The native `simplicio-runtime` MCP bind
|
|
313
|
+
is **REQUIRED** on every runtime (loop BLOCKS if it's missing/unreachable) — see
|
|
314
|
+
[`docs/MCP_SETUP.md`](docs/MCP_SETUP.md) for the per-host config table.
|
|
248
315
|
|
|
249
316
|
### Tier 1 — Guaranteed (gated on every commit)
|
|
250
317
|
|
|
251
|
-
| Runtime | Skill load | Loop drive | Native bind |
|
|
318
|
+
| Runtime | Skill load | Loop drive | Native bind (MCP) |
|
|
252
319
|
|---|---|---|---|
|
|
253
|
-
| **Claude Code** | `.claude/skills/` + plugin | `Stop` hook |
|
|
254
|
-
| **Codex** | `AGENTS.md` | self-paced |
|
|
255
|
-
| **Cursor** | `.cursor-plugin/` | `stop`+`afterAgentResponse` |
|
|
320
|
+
| **Claude Code** | `.claude/skills/` + plugin | `Stop` hook | REQUIRED — `~/.claude.json` |
|
|
321
|
+
| **Codex** | `AGENTS.md` | self-paced | REQUIRED — `~/.codex/config.toml` |
|
|
322
|
+
| **Cursor** | `.cursor-plugin/` | `stop`+`afterAgentResponse` | REQUIRED — `.cursor/mcp.json` |
|
|
256
323
|
|
|
257
324
|
### Tier 2 — Best-effort (contributions welcome, no gate)
|
|
258
325
|
|
|
259
|
-
| Runtime | Skill load | Loop drive | Native bind |
|
|
326
|
+
| Runtime | Skill load | Loop drive | Native bind (MCP) |
|
|
260
327
|
|---|---|---|---|
|
|
261
|
-
| **VS Code (Copilot)** | `copilot-instructions.md` | tasks |
|
|
262
|
-
| **Antigravity** | rules / `AGENTS.md` | self-paced |
|
|
263
|
-
| **Kiro** | `.kiro/steering/` | specs |
|
|
264
|
-
| **OpenCode** | `AGENTS.md` | self-paced |
|
|
265
|
-
| **Gemini** | `GEMINI.md` | self-paced |
|
|
266
|
-
| **
|
|
267
|
-
| **
|
|
268
|
-
| **
|
|
269
|
-
| **
|
|
328
|
+
| **VS Code (Copilot)** | `copilot-instructions.md` | tasks | REQUIRED — `.vscode/mcp.json` |
|
|
329
|
+
| **Antigravity** | rules / `AGENTS.md` | self-paced | REQUIRED — best-effort path |
|
|
330
|
+
| **Kiro** | `.kiro/steering/` | specs | REQUIRED — `.kiro/settings/mcp.json` |
|
|
331
|
+
| **OpenCode** | `AGENTS.md` | self-paced | REQUIRED — `opencode.json` |
|
|
332
|
+
| **Gemini** (CLI/Code Assist) | `GEMINI.md` | self-paced | REQUIRED — `.gemini/settings.json` (CLI) |
|
|
333
|
+
| **Kimi** | inlined conventions | self-paced | REQUIRED — best-effort, no verified client |
|
|
334
|
+
| **Qwen** (Code/CLI) | `AGENTS.md`-equivalent | self-paced | REQUIRED — `.qwen/settings.json` (best-effort) |
|
|
335
|
+
| **DeepSeek** | inlined conventions | self-paced | REQUIRED — no first-party client, best-effort |
|
|
336
|
+
| **Aider** | `CONVENTIONS.md` | self-paced | REQUIRED — no MCP client (LLM fallback for exec) |
|
|
337
|
+
| **Simplicio Agent** *(formerly Hermes)* | native recall | native loop | REQUIRED — **native** |
|
|
338
|
+
| **OpenClaw** | plugin SDK | native scheduler | REQUIRED — **native** |
|
|
339
|
+
| **Orca** | via inner agent + skills registry | inner hook / scheduled automations | REQUIRED — registry/inner-agent config |
|
|
270
340
|
|
|
271
341
|
The promise: **same protocol, same gates, same safety on all 12 — Tier 1 verified mechanically,
|
|
272
342
|
Tier 2 best-effort.** `orient_clamp.py` (token economy) works on every runtime with zero wiring. See
|
|
@@ -680,7 +750,7 @@ opt-in capabilities you reach for when the task calls for them.
|
|
|
680
750
|
MIT
|
|
681
751
|
|
|
682
752
|
<!-- simplicio-loop:github-comment-coordination:v1 -->
|
|
683
|
-
## 🌐
|
|
753
|
+
## 🌐 Work-item comment coordination across runtimes
|
|
684
754
|
|
|
685
755
|
`simplicio-loop` can run at the same time in Claude Code, Codex, Cursor, Gemini, and Hermes. When a run is bound to a GitHub issue, it publishes idempotent lifecycle updates to that issue's canonical comment: claim, plan, progress, evidence, PR, and close. Agents on different machines can coordinate through the same GitHub thread without a shared local filesystem.
|
|
686
756
|
|
|
@@ -692,7 +762,7 @@ pwsh scripts/install.ps1 gemini -Global
|
|
|
692
762
|
pwsh scripts/install.ps1 hermes -Global # legacy alias for simplicio_agent
|
|
693
763
|
```
|
|
694
764
|
|
|
695
|
-
Local queues, leases, worktrees, heartbeats, and evidence remain active on every machine; GitHub comments are the shared coordination projection.
|
|
765
|
+
Local queues, leases, worktrees, heartbeats, and evidence remain active on every machine; GitHub comments are the shipped shared coordination projection. Today, an unavailable or unauthenticated GitHub records a sync failure without inventing a remote acknowledgment. The stage-agent roadmap tightens this for GitHub-bound runs: [#433](https://github.com/wesleysimplicio/simplicio-loop/issues/433) makes the comment confirmation mandatory before `COMPLETE`. [#436](https://github.com/wesleysimplicio/simplicio-loop/issues/436) adds the same projection to Azure DevOps, Jira, Asana, and Trello only when each connector is proven connected; disconnected optional trackers are explicitly skipped.
|
|
696
766
|
|
|
697
767
|
The repository workflow `.github/workflows/simplicio-status-sync.yml` turns the canonical lifecycle
|
|
698
768
|
state into a managed `simplicio:status:<state>` label and, when configured, moves the issue in a
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "simplicio.action-intent/v1",
|
|
4
|
+
"title": "Stage Agent Action Intent",
|
|
5
|
+
"description": "Typed intent emitted before any mutation-boundary action. Classifies the action surface so the safety gate can apply the right policy. Fail-closed: unknown action classes are rejected by the reducer.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["schema", "intent_id", "action_class", "command", "actor", "scope"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"schema": { "const": "simplicio.action-intent/v1" },
|
|
11
|
+
"intent_id": { "type": "string", "minLength": 1 },
|
|
12
|
+
"action_class": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"write_edit",
|
|
16
|
+
"compound_shell",
|
|
17
|
+
"dependency_install",
|
|
18
|
+
"commit",
|
|
19
|
+
"push",
|
|
20
|
+
"pull_request",
|
|
21
|
+
"issue_board_op",
|
|
22
|
+
"migration_data",
|
|
23
|
+
"deploy_release",
|
|
24
|
+
"cancel_cleanup",
|
|
25
|
+
"secret_network_access",
|
|
26
|
+
"artifact_fetch_execute"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"command": { "type": "string", "minLength": 1 },
|
|
30
|
+
"actor": { "type": "string", "minLength": 1 },
|
|
31
|
+
"scope": { "type": "string", "minLength": 1 },
|
|
32
|
+
"idempotency_key": { "type": "string" },
|
|
33
|
+
"policy_hash": { "type": "string" },
|
|
34
|
+
"segments": { "type": "array", "items": { "type": "string" } },
|
|
35
|
+
"created_at": { "type": "string", "format": "date-time" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://simplicio.dev/contracts/stage-agents/v1/agent-instance.schema.json",
|
|
4
|
+
"title": "simplicio.agent-instance/v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"agent_instance_id",
|
|
9
|
+
"role_id",
|
|
10
|
+
"role_version",
|
|
11
|
+
"stage_id",
|
|
12
|
+
"stage_version",
|
|
13
|
+
"run_id",
|
|
14
|
+
"task_id",
|
|
15
|
+
"work_item_id",
|
|
16
|
+
"attempt_id",
|
|
17
|
+
"attempt_ordinal",
|
|
18
|
+
"fence",
|
|
19
|
+
"plan_revision",
|
|
20
|
+
"runtime",
|
|
21
|
+
"provider",
|
|
22
|
+
"model",
|
|
23
|
+
"driver",
|
|
24
|
+
"parent_agent_id",
|
|
25
|
+
"coordinator_agent_id",
|
|
26
|
+
"parent_instance_id",
|
|
27
|
+
"idempotency_key",
|
|
28
|
+
"isolation_level",
|
|
29
|
+
"negotiated_capabilities",
|
|
30
|
+
"context_hash",
|
|
31
|
+
"manifest_hash",
|
|
32
|
+
"created_at",
|
|
33
|
+
"ready_at",
|
|
34
|
+
"terminal_status",
|
|
35
|
+
"reason_code"
|
|
36
|
+
],
|
|
37
|
+
"properties": {
|
|
38
|
+
"schema": { "const": "simplicio.agent-instance/v1" },
|
|
39
|
+
"agent_instance_id": { "type": "string", "minLength": 1 },
|
|
40
|
+
"role_id": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" },
|
|
41
|
+
"role_version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
42
|
+
"stage_id": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" },
|
|
43
|
+
"stage_version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
44
|
+
"run_id": { "type": "string", "minLength": 1 },
|
|
45
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
46
|
+
"work_item_id": { "type": "string", "minLength": 1 },
|
|
47
|
+
"attempt_id": { "type": "string", "minLength": 1 },
|
|
48
|
+
"attempt_ordinal": { "type": "integer", "minimum": 1 },
|
|
49
|
+
"fence": { "type": "string", "minLength": 1 },
|
|
50
|
+
"plan_revision": { "type": "integer", "minimum": 0 },
|
|
51
|
+
"runtime": { "type": "string", "minLength": 1 },
|
|
52
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
53
|
+
"model": { "type": "string", "minLength": 1 },
|
|
54
|
+
"driver": { "type": "string", "minLength": 1 },
|
|
55
|
+
"parent_agent_id": { "type": "string", "minLength": 1 },
|
|
56
|
+
"coordinator_agent_id": { "type": "string", "minLength": 1 },
|
|
57
|
+
"parent_instance_id": { "type": "string", "minLength": 1 },
|
|
58
|
+
"idempotency_key": { "type": "string", "minLength": 1 },
|
|
59
|
+
"isolation_level": { "enum": ["process", "session", "worker", "command", "human"] },
|
|
60
|
+
"negotiated_capabilities": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "type": "string", "minLength": 1 },
|
|
63
|
+
"uniqueItems": true
|
|
64
|
+
},
|
|
65
|
+
"context_hash": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
66
|
+
"manifest_hash": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
67
|
+
"created_at": { "type": "string", "format": "date-time" },
|
|
68
|
+
"ready_at": { "type": "string", "format": "date-time" },
|
|
69
|
+
"started_at": { "type": "string", "format": "date-time" },
|
|
70
|
+
"ended_at": { "type": "string", "format": "date-time" },
|
|
71
|
+
"terminal_status": { "enum": ["ready", "running", "completed", "failed", "blocked", "cancelled", "timed_out"] },
|
|
72
|
+
"reason_code": { "type": "string", "minLength": 1 }
|
|
73
|
+
},
|
|
74
|
+
"allOf": [
|
|
75
|
+
{
|
|
76
|
+
"if": { "properties": { "terminal_status": { "const": "ready" } } },
|
|
77
|
+
"then": { "not": { "anyOf": [{ "required": ["started_at"] }, { "required": ["ended_at"] }] } }
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"if": { "properties": { "terminal_status": { "const": "running" } } },
|
|
81
|
+
"then": { "required": ["started_at"], "not": { "required": ["ended_at"] } }
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"if": { "properties": { "terminal_status": { "enum": ["completed", "failed", "blocked", "cancelled", "timed_out"] } } },
|
|
85
|
+
"then": { "required": ["started_at", "ended_at"] }
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://simplicio.dev/contracts/stage-agents/v1/agent-role.schema.json",
|
|
4
|
+
"title": "simplicio.agent-role/v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"role_id",
|
|
9
|
+
"version",
|
|
10
|
+
"title",
|
|
11
|
+
"description",
|
|
12
|
+
"required_capabilities",
|
|
13
|
+
"forbidden_to_self_sign",
|
|
14
|
+
"independent_of_roles"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"schema": { "const": "simplicio.agent-role/v1" },
|
|
18
|
+
"role_id": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$", "minLength": 1 },
|
|
19
|
+
"version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
20
|
+
"title": { "type": "string", "minLength": 1 },
|
|
21
|
+
"description": { "type": "string", "minLength": 1 },
|
|
22
|
+
"required_capabilities": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"items": { "type": "string", "minLength": 1 },
|
|
25
|
+
"uniqueItems": true
|
|
26
|
+
},
|
|
27
|
+
"forbidden_to_self_sign": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": { "type": "string", "minLength": 1 },
|
|
30
|
+
"description": "Receipt types this role may NEVER sign for itself (e.g. reviewer cannot sign its own review).",
|
|
31
|
+
"uniqueItems": true
|
|
32
|
+
},
|
|
33
|
+
"independent_of_roles": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*$" },
|
|
36
|
+
"description": "Roles that must be a DIFFERENT instance/context from this one (no fake independence).",
|
|
37
|
+
"uniqueItems": true
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://simplicio.dev/contracts/stage-agents/v1/review-finding.schema.json",
|
|
4
|
+
"title": "simplicio.review-finding/v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"role_id",
|
|
9
|
+
"file",
|
|
10
|
+
"line",
|
|
11
|
+
"claim",
|
|
12
|
+
"normalized_claim",
|
|
13
|
+
"class",
|
|
14
|
+
"confidence",
|
|
15
|
+
"evidence_refs"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"schema": { "const": "simplicio.review-finding/v1" },
|
|
19
|
+
"role_id": {
|
|
20
|
+
"enum": [
|
|
21
|
+
"security_correctness_reviewer",
|
|
22
|
+
"maintainability_reviewer",
|
|
23
|
+
"runtime_reproduction_verifier",
|
|
24
|
+
"blast_radius_reviewer"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"file": { "type": "string", "minLength": 1 },
|
|
28
|
+
"line": { "type": "integer", "minimum": 0 },
|
|
29
|
+
"claim": { "type": "string", "minLength": 1 },
|
|
30
|
+
"normalized_claim": { "type": "string", "minLength": 1 },
|
|
31
|
+
"class": {
|
|
32
|
+
"enum": ["security", "correctness", "maintainability", "runtime", "blast_radius"]
|
|
33
|
+
},
|
|
34
|
+
"confidence": { "enum": ["low", "medium", "high"] },
|
|
35
|
+
"evidence_refs": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": { "type": "string", "minLength": 1 }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://simplicio.dev/contracts/stage-agents/v1/review-receipt.schema.json",
|
|
4
|
+
"title": "simplicio.review-receipt/v1",
|
|
5
|
+
"description": "Per-reviewer receipt from the four-reviewer independent review panel (issue #427). Extends simplicio.stage-receipt/v1 with a hash-pinned rubric and a panel_signature that invalidates the receipt whenever the diff/head/plan_revision changes.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"schema",
|
|
9
|
+
"receipt_id",
|
|
10
|
+
"agent_instance_id",
|
|
11
|
+
"role_id",
|
|
12
|
+
"run_id",
|
|
13
|
+
"task_id",
|
|
14
|
+
"attempt_id",
|
|
15
|
+
"fence",
|
|
16
|
+
"plan_revision",
|
|
17
|
+
"context_hash",
|
|
18
|
+
"rubric_hash",
|
|
19
|
+
"panel_signature",
|
|
20
|
+
"verdict",
|
|
21
|
+
"findings",
|
|
22
|
+
"evidence_refs",
|
|
23
|
+
"accepted",
|
|
24
|
+
"created_at"
|
|
25
|
+
],
|
|
26
|
+
"properties": {
|
|
27
|
+
"schema": { "const": "simplicio.review-receipt/v1" },
|
|
28
|
+
"receipt_id": { "type": "string", "minLength": 1 },
|
|
29
|
+
"agent_instance_id": { "type": "string", "minLength": 1 },
|
|
30
|
+
"role_id": {
|
|
31
|
+
"enum": [
|
|
32
|
+
"security_correctness_reviewer",
|
|
33
|
+
"maintainability_reviewer",
|
|
34
|
+
"runtime_reproduction_verifier",
|
|
35
|
+
"blast_radius_reviewer"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"run_id": { "type": "string", "minLength": 1 },
|
|
39
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
40
|
+
"attempt_id": { "type": "string", "minLength": 1 },
|
|
41
|
+
"fence": { "type": "string", "minLength": 1 },
|
|
42
|
+
"plan_revision": { "type": "integer", "minimum": 0 },
|
|
43
|
+
"context_hash": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
44
|
+
"rubric_hash": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
45
|
+
"panel_signature": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
46
|
+
"verdict": { "enum": ["pass", "fail", "blocked", "skip"] },
|
|
47
|
+
"findings": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"items": { "$ref": "https://simplicio.dev/contracts/stage-agents/v1/review-finding.schema.json" }
|
|
50
|
+
},
|
|
51
|
+
"evidence_refs": {
|
|
52
|
+
"type": "array",
|
|
53
|
+
"items": { "type": "string", "minLength": 1 }
|
|
54
|
+
},
|
|
55
|
+
"accepted": { "type": "boolean" },
|
|
56
|
+
"created_at": { "type": "string", "format": "date-time" },
|
|
57
|
+
"rejection_reason": { "type": "string", "minLength": 1 }
|
|
58
|
+
},
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://simplicio.dev/contracts/stage-agents/v1/run-stage-graph.schema.json",
|
|
4
|
+
"title": "simplicio.run-stage-graph/v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schema",
|
|
8
|
+
"graph_id",
|
|
9
|
+
"version",
|
|
10
|
+
"manifest_hash",
|
|
11
|
+
"schema_pins",
|
|
12
|
+
"stages",
|
|
13
|
+
"roles"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema": { "const": "simplicio.run-stage-graph/v1" },
|
|
17
|
+
"graph_id": { "type": "string", "minLength": 1 },
|
|
18
|
+
"version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
19
|
+
"manifest_hash": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
|
|
20
|
+
"schema_pins": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"additionalProperties": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
|
|
23
|
+
},
|
|
24
|
+
"stages": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"items": { "$ref": "stage-definition.schema.json" },
|
|
27
|
+
"minItems": 1
|
|
28
|
+
},
|
|
29
|
+
"roles": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": { "$ref": "agent-role.schema.json" },
|
|
32
|
+
"minItems": 1
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"additionalProperties": false
|
|
36
|
+
}
|