simplicio-loop 3.38.7__tar.gz → 3.38.8__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.38.7/simplicio_loop.egg-info → simplicio_loop-3.38.8}/PKG-INFO +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/pyproject.toml +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/__init__.py +2 -2
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/ecosystem_doctor.py +8 -8
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/github_drain_admission.py +51 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/installed_artifact.py +4 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/operator_bootstrap.py +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runner.py +14 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/slot_lease.py +21 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8/simplicio_loop.egg-info}/PKG-INFO +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_dispatch_unit.py +22 -2
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_preflight_status_json_unit.py +7 -3
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_code_hub_transport.py +4 -4
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_completion_auditor_431_unit.py +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_ecosystem_doctor_805.py +4 -4
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_evidence_receipt_unit.py +52 -8
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_admission_projection.py +12 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hooks_coverage_integration.py +4 -4
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_held_admission_queue.py +24 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_interactive_transport_system.py +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_queue_agent_client.py +2 -2
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_transport.py +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_cron_driver_unit.py +2 -2
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_json_boundaries.py +1 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_model_router_unit.py +6 -1
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_operator_bootstrap.py +4 -4
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_failopen_integration.py +3 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runner_runtime_effects.py +5 -2
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/LICENSE +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/MANIFEST.in +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/PYPI.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/README.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/README.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/fixtures/golden-context-snapshot.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/fixtures/invalid-hash.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/fixtures/invalid-internal-offset.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/registry.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/capability-request.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/change-set.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/context-delta.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/context-snapshot.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/effect-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/fast-generation.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/plan-dag.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/run-journal.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/stage-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/registry/v1/schemas/verification-plan.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/action-intent.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/agent-instance.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/agent-role.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/review-finding.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/review-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/run-stage-graph.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/stage-definition.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/stage-input.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/stage-output.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/stage-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/contracts/stage-agents/v1/stages.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/setup.cfg +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/README.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/action_gate.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/loop_capture.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/loop_stop.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/orient_clamp.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/orient_rewrite.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/pre-commit.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/simplicio_dashboard.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/__pycache__/simplicio_watch.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/action_gate.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/hooks.claude.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/hooks.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/loop_capture.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/loop_stop.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/orient_clamp.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/orient_rewrite.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/pre-commit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/simplicio_dashboard.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/hooks/simplicio_watch.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/_locked_append.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/agent_identity.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/coordinator.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/cross_agent_wiki.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/delivery_contract.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/diff_escalation.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/flow_audit.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/handoff.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/hierarchical_planner.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/impact_audit.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/loop_journal.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/loop_progress.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/operator_check.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/operator_preflight.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/pr_dod_review.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/route_mode.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/task_anchor.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/task_backlog.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/test_infra_probe.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/toon_codec.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/video_evidence.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/watcher_verify.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/web_verify.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/__pycache__/worktree_cleanup.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/_locked_append.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/agent_identity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/coordinator.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/cross_agent_wiki.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/delivery_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/diff_escalation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/flow_audit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/handoff.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/hierarchical_planner.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/impact_audit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/loop_journal.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/loop_progress.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/operator_check.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/operator_preflight.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/pr_dod_review.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/route_mode.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/task_anchor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/task_backlog.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/test_infra_probe.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/toon_codec.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/video_evidence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/watcher_verify.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/web_verify.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/scripts/worktree_cleanup.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-autoresearch/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-compress/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-learn/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/agentsview-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/azure-devops-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/background-verification.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/bound-operators.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/claims-gate.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/control-policy.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/cross-agent-wiki.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/cross-repo-integration.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/delivery-contract.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/extension-points.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/hierarchical-planner.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/lmcache-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/multi-agent-coordination.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/orchestration.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/planning-gate.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/progress-feedback.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/quality-safety-delivery.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/run-journal-stall-detector.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/spindle-handoff.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/standing-loop-247.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/test-infra-probe.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/token-capture.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/token-economy.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/triage-verify-detail.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/understand-anything-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/video-evidence.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-loop/references/web-evidence.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-orient/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-review/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/SKILL.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/agentsview-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/azure-devops-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/extension-points.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/lmcache-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/orchestration.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/quality-safety-delivery.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/standing-loop-247.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-capture.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-economy.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/understand-anything-adapter.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/video-evidence.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/skills/simplicio-tasks/references/web-evidence.md +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/tests/__pycache__/_selfrun.cpython-314.pyc +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_bundle/tests/_selfrun.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/capability-lease-v1.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/executor-negotiation-receipt-v1.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/hub-agent/v1/execution-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/hub-agent/v1/handle.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/hub-agent/v1/job.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/plan-dag-receipt-v1.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/prism/v1/conformance-cases.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/prism/v1/hbp-golden.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/prism/v1/prism-execution.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/prism/v1/slot-supervisor.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/prism/v1/task-ownership.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/quality-matrix/v2/schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/fixtures/golden-context-snapshot.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/fixtures/invalid-hash.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/fixtures/invalid-internal-offset.v1.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/registry.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/capability-request.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/change-set.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/context-delta.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/context-snapshot.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/effect-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/fast-generation.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/plan-dag.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/run-journal.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/stage-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/registry/v1/schemas/verification-plan.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/run-event-v1.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/action-intent.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/agent-instance.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/agent-role.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/review-finding.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/review-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/run-stage-graph.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/stage-definition.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/stage-input.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/stage-output.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/stage-receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/stage-agents/v1/stages.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/telemetry-event-v1.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/test-environment/v1/receipt.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/_contracts/test-environment/v1/request.schema.json +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/adaptive_context.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/agent_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/agent_fabric.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/agent_identity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/agent_slots.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/async_bounded_queue.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/async_io_supervisor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/attempt_journal.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/authority_boundary.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/budget.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/canonical_plan.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/capability_negotiation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/checkpoint_lifecycle.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/cli_impl.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/completion_auditor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/consumer_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/context_graph_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/context_packet_consumer.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/contract_registry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/control_policy.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/core_network_guard.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/coverage_custodian_host.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/coverage_custodians.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/delivery_agent.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/delivery_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/device_fabric.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/drain.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/driver_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/epic_readiness.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/event_loop.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/evidence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/evidence_binding.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/execution_board.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/execution_route.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/extension_handshake.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/extension_manifest.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/extension_registry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/external_verifiers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fabric_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_receipt_audit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_resident.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_v3_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/fast_v3_delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/feedback_recovery_agent.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/finding_report.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/finding_router.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/flow_semantics.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/freshness.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/github_drain_intake.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/github_drain_intake_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/github_lifecycle.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hbp_ledger.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hookwall_gate.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hookwall_persistence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hookwall_rollout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_agent_executor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_agent_store.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_daemon.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_drain_admission_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_governor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_queue_agent.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_queue_agent_client.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_queue_retry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_service.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/hub_worker_store.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/implementation_agent.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/inference_admission.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/inference_benchmark.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/inference_capacity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/inspection_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/installed_e2e_gates.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/installed_process_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/installed_runtime_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/intake_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/intake_planner.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/loop_runtime.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_git.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_invalidation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_leases.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_mapper.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_persistence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_protocol.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_repository_watchers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_single_flight.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_status.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/map_service_watchers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/merge_executor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/model_registry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/model_router.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/model_routing_policy.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/multi_tracker_reporting.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/ops_ledger.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/oracle.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/orca_lifecycle.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/phase_events.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/plan_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/plan_dag.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/planning_gate.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/platform_capabilities.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/pr_patrol.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_agents.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_budgets.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_contracts.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_recovery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_reducer.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prism_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/process_enforcement.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/process_enforcement_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/process_supervisor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/process_supervisor_rust.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/production_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/progress.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/progressive_validation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prototype_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prototype_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prototype_gate.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/prototype_judge.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/quality_matrix.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/quality_matrix_v2.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/quality_provider.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/receipt_verifier.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/recovery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/remote_queue.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/remote_queue_server_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/remote_worker_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/remote_worker_measurement.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/remote_worker_supervisor_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/review_panel.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/run_journal.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/run_outcome.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_adapter.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_binary.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_bridge.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_context.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_drivers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_effect_adapter.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/runtime_execution_receipt.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/secure_transport.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/semantic_convergence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/source_adapter.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/source_detect.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/source_snapshot.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/source_state.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/stage_agent_coordinator.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/stage_agents.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/stage_report.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/strict_mode.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/task_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/technical_debt.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/telemetry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/test_environment.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/token_control_plane.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/traceability_matrix.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/typed_recovery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/verified_delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/work_gap_ledger.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/work_item_claims.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop/worker_daemon.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop.egg-info/SOURCES.txt +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop.egg-info/dependency_links.txt +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop.egg-info/entry_points.txt +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop.egg-info/requires.txt +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/simplicio_loop.egg-info/top_level.txt +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_284_lifecycle_dag_idempotence_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_action_gate_issue526.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_action_gate_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_adaptive_context_810.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_contract_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_fabric_765.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_identity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_identity_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_replication.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agent_slots.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_agentsview_adapter_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_bounded_queue.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_bounded_queue_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_bounded_queue_restart.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_bounded_queue_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_core_composed_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_io_supervisor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_async_io_supervisor_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_attempt_journal_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_authority_boundary.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_authority_e2e_harness.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_autoresearch_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_az_boards_adapter_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_batch_crash_recovery_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_async_process_supervisor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_async_queue.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_event_loop.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_hub_governor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_hub_queue_retry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_hub_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_map_git_worktrees.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_map_service.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_map_single_flight.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_map_watchers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_benchmark_process_supervisor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_bound_operators_runtime_required_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_bridge_intake_to_backlog_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_budget_error_paths_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_budget_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_canonical_plan.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_capability_negotiation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_core_gate_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_e2e_demo_contract_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_e2e_installed_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_loop_contract_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_process_tree_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_check_reason_summary_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_checkpoint_integration_e2e_761.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_checkpoint_lifecycle_761.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_claims_audit_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_claims_manifest_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_clean_env_contract_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_fast_orient.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_install_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_oracle_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_preflight_runtime_optional_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_run_delivery_choices_559_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_completion_oracle_matrix_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_completion_oracle_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_component_release_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_conformance_benchmark_816.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_conformance_suite.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_consumer_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_context_graph_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_context_packet_consumer_383.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_contract_parity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_contract_registry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_control_policy_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_coordinator_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_copilot_global_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_coverage_custodian_host_784.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_coverage_custodians_784.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cross_agent_wiki_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cross_repo_conformance_prototype.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_dashboard_hook_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_deep_correctness_gate_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_agent_429.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_concurrency_fault_injection_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_contract_526_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_contract_cli_526_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_contract_stop_hook_526_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_lifecycle_sandbox_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_progress_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_reconciliation_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_source_identity_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_delivery_validation_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_device_fabric_794.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_diff_escalation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_dispatch_batch_multi_pr_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_dispatch_merge_wiring_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_distributed_183_dod_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_distributed_183_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_distributed_183_external_probe_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_distributed_epic_evidence_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_distributed_trust_policy_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_doctor_smoke_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_drain_cli_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_drain_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_driver_contract_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_e2e_demo_audit_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_epic_readiness.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_event_loop.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_evidence_binding.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_evidence_chain_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_evolution.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_execution_board_e2e_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_execution_route_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_extension_handshake_621.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_extension_manifest_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_extension_registry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_external_verifiers_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fabric_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fan_out_flow_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fan_out_scheduler_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fan_out_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_native_receipt_197.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_receipt_audit_196.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_resident_804.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_fast_v3_delivery_760.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_feedback_recovery_agent_430_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_finding_collector_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_finding_report.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_finding_router.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_findings_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_flow_audit_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_flow_semantics_edge_paths_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_flow_semantics_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_freshness_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_gen_install_mutations_doc_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_intake_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_intake_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_intake_map_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_intake_planning_acs.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_intake_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_lifecycle_concurrency_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_lifecycle_live_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_lifecycle_readside_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_lifecycle_runner_wiring_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_lifecycle_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_status_sync_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_golden_mutation_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hbp_ledger_813.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hbp_topics_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hierarchical_planner_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hookwall_gate_783.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hookwall_persistence_783.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hookwall_rollout_783.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_agent_executor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_agent_store.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_daemon.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_daemon_map_ipc.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_daemon_scheduler_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_daemon_service_ipc.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_drain_admission_ipc.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_epic496_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_governor.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_queue_retry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_queue_retry_fair_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_scheduler.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_scheduler_concurrency_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_scheduler_fairness.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_scheduler_multiprocess_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_scheduler_rollout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_service.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_supervisor_epic_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_worker_store.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_impact_audit_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_implementation_agent_426_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_independent_watcher_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_inference_admission.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_inference_benchmark.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_inference_capacity.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_inference_retry_policy.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_ci_pinning_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_consent_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_lib_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_plan_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_post_smoke_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_rollback_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_smoke_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_transaction_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_install_upgrade_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_installed_agent_fabric_765.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_installed_coverage_custodian_784.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_installed_process_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_installed_runtime_e2e.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_intake_impact_matrix_replan_284_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_intake_planner_425_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_intake_progress.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_intake_progress_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_785_completion_auditor_wiring.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_785_completion_authority.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_785_installed_artifact.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_785_work_gap_ledger.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_meta_audit_647_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_issue_meta_audit_647_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_learn_pipeline_removed_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_ledger_cli_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_live_issue_183_identity_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_locked_append_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_driver_run_state_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_progress_encoding_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_progress_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_runtime.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_loop_stop_delivery_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_maintenance_deferred_docs_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_cli.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_delivery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_git.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_git_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_git_mapper_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_invalidation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_leases.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_mapper_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_persistence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_protocol.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_repository_watchers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_session_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_single_flight.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_watchers.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_map_service_watchers_git_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_merge_executor_live_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_merge_executor_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_merge_queue_live_probe_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_mirror_parity_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_model_registry_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_model_routed_dispatch_wiring_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_model_router_fallback_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_model_routing_policy_678.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_multi_tracker_reporting.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_operator_batch_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_operator_check.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_operator_preflight.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_operator_worktree_batch_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_ops_ledger_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_oracle_gates_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_oracle_perf_benchmark_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_oracle_source_lifecycle_gate_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_orca_lifecycle_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_orca_preset_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_phase_events_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_plan_contract_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_plan_dag.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planes_golden_eval_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planes_installed_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_284_enhancements_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_execute_operator_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_github_publish_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_live_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_string_scenarios_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_planning_gate_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_platform_capabilities_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_pr_dod_review.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_pr_dod_review_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_pr_evidence_comment_publish_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_pr_evidence_lifecycle_delegation_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_pr_patrol_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_precommit_bundle_sync_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_preflight_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_budgets_850.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_contracts_845.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_e2e_852.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_integrity_851.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_reducer_recovery_848_849.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prism_scheduler_agents_846_847.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_process_enforcement.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_process_supervisor_hardening.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_process_supervisor_rust.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_process_supervisor_spec.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_production_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_comment_live_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_comment_ratelimit_cli_e2e_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_snapshots_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progress_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_progressive_validation_815.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prototype_cli_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prototype_fanout.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prototype_gate.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prototype_gate_adversarial.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_prototype_judge.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_provenance_generate_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_gate_scripts_emit_json_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_benchmark_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_reverify_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_v2_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_v2_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_matrix_watcher.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_quality_provider.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_receipt_verifier_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_recovery_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_release_check_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_release_manifest_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_release_rehearsal_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_release_train_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_release_verify_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_async.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_cancellation_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_live_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_pull_claim_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_queue_short_lived_auth_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_worker_cli_serve_async.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_worker_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_worker_http_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_worker_measurement_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_remote_worker_supervisor_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_repo_conventions_architecture_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_repo_governance_294_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_repository_budget_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_repository_governance_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_review_panel.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_route_mode.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_run_journal.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_run_outcome_619_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_run_outcome_619_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runner_cli_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runner_execution_route_694.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runner_progress_events_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runner_state_machine_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_adapter_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_binary.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_bridge_issue_692.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_bridge_process.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_bridge_workspace_sessions.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_context_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_drivers_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_effect_adapter.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_effect_adapter_transactions.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_execution_receipt_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_runtime_matrix_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_safety_gate_agent.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_sbom_generate_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_schema_verify_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_schema_verify_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_secure_transport_fault_injection_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_secure_transport_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_security_audit_log_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_semantic_convergence.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_short_lived_credentials_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_simplicio_mcp_runner_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_skill_scripts_present.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_slot_lease.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_source_adapter_protocol_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_source_detect.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_source_snapshot_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_source_state_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_agent_conformance.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_agent_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_agent_coordinator.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_agent_fail_closed.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_agent_reducer.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_report_cli_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_stage_report_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_strict_mode_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_submodules.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_supervisor_enforcement.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_system_276_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_system_check_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_system_clean_install_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_anchor_delivery_contract.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_anchor_infra_gate_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_anchor_prototype_gate_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_backlog_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_contract_cli_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_contract_routing_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_contract_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_task_to_delivery_golden_corpus_regression.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_technical_debt.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_telemetry.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_test_categories_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_test_environment.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_test_infra_probe_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_token_budget_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_token_control_plane.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_toon_codec_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_transcript_progress_e2e_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_transcript_progress_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_turn_progress_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_typed_recovery.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_verified_delivery_dispatch_wiring_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_verified_delivery_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_verify_adapters_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_version_sync_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_vscode_global_install.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_watcher_binding_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_watcher_challenge_generation_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_watcher_quality_gate_reverify_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_watcher_verify_drain.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_watcher_verify_wi_isolation.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_work_item_claims_chaos_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_work_item_claims_run_guarded_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_work_item_claims_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_worker_cli_contract_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_worker_daemon_unit.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_worker_selftests_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_worker_smoke_system.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_workflow_topology.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_workitem_attempts_integration.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_worktree_cleanup.py +0 -0
- {simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/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.38.
|
|
3
|
+
Version: 3.38.8
|
|
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
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "simplicio-loop"
|
|
7
|
-
version = "3.38.
|
|
7
|
+
version = "3.38.8"
|
|
8
8
|
description = "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."
|
|
9
9
|
readme = "PYPI.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -92,25 +92,25 @@ COMPONENTS: dict[str, dict[str, Any]] = {
|
|
|
92
92
|
# for full-stack execution while still being a valid standalone installation.
|
|
93
93
|
PROFILES: dict[str, dict[str, dict[str, Any]]] = {
|
|
94
94
|
"standalone": {
|
|
95
|
-
"simplicio-loop": {"min_version": "3.38.
|
|
95
|
+
"simplicio-loop": {"min_version": "3.38.7", "required": True,
|
|
96
96
|
"capabilities": ("plan", "orient", "run")},
|
|
97
|
-
"simplicio-mapper": {"min_version": "0.
|
|
97
|
+
"simplicio-mapper": {"min_version": "0.26.0", "required": True,
|
|
98
98
|
"capabilities": ("orient", "recall")},
|
|
99
|
-
"simplicio-dev-cli": {"min_version": "0.
|
|
99
|
+
"simplicio-dev-cli": {"min_version": "0.18.0", "required": True,
|
|
100
100
|
"capabilities": ("execute", "validate")},
|
|
101
|
-
"simplicio-fast": {"min_version": "2.0.
|
|
101
|
+
"simplicio-fast": {"min_version": "2.0.16", "required": False,
|
|
102
102
|
"capabilities": ("understand", "plan")},
|
|
103
103
|
"simplicio-runtime": {"min_version": "3.5.0", "required": False,
|
|
104
104
|
"capabilities": ("contracts",)},
|
|
105
105
|
},
|
|
106
106
|
"full-stack": {
|
|
107
|
-
"simplicio-loop": {"min_version": "3.38.
|
|
107
|
+
"simplicio-loop": {"min_version": "3.38.7", "required": True,
|
|
108
108
|
"capabilities": ("plan", "orient", "run")},
|
|
109
|
-
"simplicio-mapper": {"min_version": "0.
|
|
109
|
+
"simplicio-mapper": {"min_version": "0.26.0", "required": True,
|
|
110
110
|
"capabilities": ("orient", "recall")},
|
|
111
|
-
"simplicio-dev-cli": {"min_version": "0.
|
|
111
|
+
"simplicio-dev-cli": {"min_version": "0.18.0", "required": True,
|
|
112
112
|
"capabilities": ("execute", "validate")},
|
|
113
|
-
"simplicio-fast": {"min_version": "2.0.
|
|
113
|
+
"simplicio-fast": {"min_version": "2.0.16", "required": True,
|
|
114
114
|
"capabilities": ("understand", "plan", "apply")},
|
|
115
115
|
"simplicio-runtime": {"min_version": "3.5.0", "required": True,
|
|
116
116
|
"capabilities": ("execute", "contracts")},
|
|
@@ -14,6 +14,7 @@ from .github_drain_intake import (
|
|
|
14
14
|
INTENT_SCHEMA,
|
|
15
15
|
MAP_SCHEMA,
|
|
16
16
|
PLAN_SCHEMA,
|
|
17
|
+
PLANNING_RECEIPT_SCHEMA,
|
|
17
18
|
PLANNED_NOT_EXECUTED_EXIT,
|
|
18
19
|
PLANNER_REVISION,
|
|
19
20
|
_digest,
|
|
@@ -39,6 +40,7 @@ _JOB_KEYS = {
|
|
|
39
40
|
_ITEM_KEYS = {
|
|
40
41
|
"number", "title", "url", "labels", "source_revision", "observed_at",
|
|
41
42
|
"dependencies", "external_dependencies_closed", "risk", "state",
|
|
43
|
+
"acceptance_criteria", "planning_receipt",
|
|
42
44
|
}
|
|
43
45
|
_CANONICAL_MAP_REQUIRED = {"schema", "status", "mode", "repository", "cache_key"}
|
|
44
46
|
_CANONICAL_MAP_ALLOWED = _CANONICAL_MAP_REQUIRED | {
|
|
@@ -107,6 +109,54 @@ def _utc_timestamp(value: Any) -> bool:
|
|
|
107
109
|
return False
|
|
108
110
|
|
|
109
111
|
|
|
112
|
+
def _valid_planning_evidence(item: Mapping[str, Any], number: int) -> bool:
|
|
113
|
+
criteria = item.get("acceptance_criteria")
|
|
114
|
+
receipt = item.get("planning_receipt")
|
|
115
|
+
if (
|
|
116
|
+
not isinstance(criteria, list) or not 1 <= len(criteria) <= 100
|
|
117
|
+
or not isinstance(receipt, Mapping)
|
|
118
|
+
or set(receipt) != {
|
|
119
|
+
"schema", "planner_revision", "item_number", "source_revision",
|
|
120
|
+
"acceptance_criteria_hash", "plan_hash", "receipt_hash", "created_at",
|
|
121
|
+
}
|
|
122
|
+
):
|
|
123
|
+
return False
|
|
124
|
+
seen = set()
|
|
125
|
+
for criterion in criteria:
|
|
126
|
+
if (
|
|
127
|
+
not isinstance(criterion, Mapping)
|
|
128
|
+
or set(criterion) != {"id", "text", "origin", "state"}
|
|
129
|
+
or not _identifier(criterion.get("id"), maximum=128)
|
|
130
|
+
or criterion.get("id") in seen
|
|
131
|
+
or not _safe_text(criterion.get("text"), maximum=MAX_JOB_TEXT_LENGTH)
|
|
132
|
+
or criterion.get("origin") not in {"source", "derived"}
|
|
133
|
+
or criterion.get("state") != "pending"
|
|
134
|
+
):
|
|
135
|
+
return False
|
|
136
|
+
seen.add(criterion["id"])
|
|
137
|
+
source_revision = item.get("source_revision")
|
|
138
|
+
ac_hash = _digest({"acceptance_criteria": criteria})
|
|
139
|
+
return (
|
|
140
|
+
receipt.get("schema") == PLANNING_RECEIPT_SCHEMA
|
|
141
|
+
and receipt.get("planner_revision") == PLANNER_REVISION
|
|
142
|
+
and receipt.get("item_number") == number
|
|
143
|
+
and receipt.get("source_revision") == source_revision
|
|
144
|
+
and receipt.get("acceptance_criteria_hash") == ac_hash
|
|
145
|
+
and receipt.get("plan_hash") == _digest({
|
|
146
|
+
"number": number,
|
|
147
|
+
"source_revision": source_revision,
|
|
148
|
+
"acs": ac_hash,
|
|
149
|
+
})
|
|
150
|
+
and receipt.get("receipt_hash") == _digest({
|
|
151
|
+
"planner_revision": PLANNER_REVISION,
|
|
152
|
+
"number": number,
|
|
153
|
+
"source_revision": source_revision,
|
|
154
|
+
"acs": ac_hash,
|
|
155
|
+
})
|
|
156
|
+
and _utc_timestamp(receipt.get("created_at"))
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
|
|
110
160
|
def _github_issue_url(value: Any, repository: str, number: int) -> bool:
|
|
111
161
|
return (
|
|
112
162
|
isinstance(value, str) and len(value) <= 2048
|
|
@@ -220,6 +270,7 @@ def validate_projected_job(job: Mapping[str, Any]) -> None:
|
|
|
220
270
|
or any(dependency not in dependencies for dependency in external_closed)
|
|
221
271
|
or raw_item.get("risk") not in {"high", "medium", "low"}
|
|
222
272
|
or raw_item.get("state") not in {"planned", "remote_closed"}
|
|
273
|
+
or not _valid_planning_evidence(raw_item, number)
|
|
223
274
|
):
|
|
224
275
|
raise DrainAdmissionProjectionError(
|
|
225
276
|
"projected item values are invalid", reason_code="job_items_invalid"
|
|
@@ -37,7 +37,10 @@ def query_installed_artifact(
|
|
|
37
37
|
"'path':str(p.resolve()),'sha256':hashlib.sha256(p.read_bytes()).hexdigest()},"
|
|
38
38
|
"sort_keys=True))"
|
|
39
39
|
)
|
|
40
|
-
|
|
40
|
+
# Keep the probe in a separate interpreter while allowing the core
|
|
41
|
+
# no-network guard to propagate through sitecustomize. Isolation flags
|
|
42
|
+
# such as -I/-S intentionally suppress that guard and are rejected.
|
|
43
|
+
argv = list(command or (python_executable, "-c", probe))
|
|
41
44
|
process = subprocess.run(
|
|
42
45
|
argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False
|
|
43
46
|
)
|
|
@@ -20,7 +20,7 @@ from pathlib import Path
|
|
|
20
20
|
from typing import Any, Callable, Dict, Iterable, List, Mapping, Optional, Sequence
|
|
21
21
|
|
|
22
22
|
SCHEMA = "simplicio.operator-bootstrap/v1"
|
|
23
|
-
PACKAGE_SPECS = ("simplicio-cli>=0.
|
|
23
|
+
PACKAGE_SPECS = ("simplicio-cli>=0.18.0", "simplicio-mapper>=0.26.0")
|
|
24
24
|
REQUIRED_BINARIES = ("simplicio-mapper", "simplicio-dev-cli")
|
|
25
25
|
RECEIPT_NAME = "operator-bootstrap.json"
|
|
26
26
|
AUTO_BOOTSTRAP_ENV = "SIMPLICIO_LOOP_AUTO_BOOTSTRAP_OPERATORS"
|
|
@@ -4322,6 +4322,19 @@ def _fanout_execution_route(item: Mapping[str, Any], run_dir: Path) -> Dict[str,
|
|
|
4322
4322
|
return record
|
|
4323
4323
|
|
|
4324
4324
|
|
|
4325
|
+
def _operator_dispatch_run_dir(item: Mapping[str, Any]) -> Path:
|
|
4326
|
+
"""Resolve canonical run storage, with isolated storage for synthetic dispatches."""
|
|
4327
|
+
status = read_status(item["repo"], item["run_id"])
|
|
4328
|
+
if status.get("run_dir"):
|
|
4329
|
+
return Path(status["run_dir"])
|
|
4330
|
+
|
|
4331
|
+
repo_path = Path(item["repo"]).resolve()
|
|
4332
|
+
run_scope = hashlib.sha256(str(item["run_id"]).encode("utf-8")).hexdigest()[:16]
|
|
4333
|
+
run_dir = repo_path / ".simplicio" / "orchestrator" / "dispatch-routes" / run_scope
|
|
4334
|
+
run_dir.mkdir(parents=True, exist_ok=True)
|
|
4335
|
+
return run_dir
|
|
4336
|
+
|
|
4337
|
+
|
|
4325
4338
|
def _operator_dispatch_attempt(item: Mapping[str, Any]) -> Dict[str, Any]:
|
|
4326
4339
|
"""Call the production operator and reduce its status to a durable worker record."""
|
|
4327
4340
|
started = _now()
|
|
@@ -4344,7 +4357,7 @@ def _operator_dispatch_attempt(item: Mapping[str, Any]) -> Dict[str, Any]:
|
|
|
4344
4357
|
"agent": dict(item.get("agent_identity") or {}),
|
|
4345
4358
|
"context_pack": dict(item.get("context_pack") or {}),
|
|
4346
4359
|
}
|
|
4347
|
-
run_dir =
|
|
4360
|
+
run_dir = _operator_dispatch_run_dir(item)
|
|
4348
4361
|
execution_route = _fanout_execution_route(item, run_dir)
|
|
4349
4362
|
common["execution_route"] = execution_route
|
|
4350
4363
|
common["route_receipt_sha"] = execution_route["receipt_sha"]
|
|
@@ -77,7 +77,27 @@ class LeaseStore:
|
|
|
77
77
|
|
|
78
78
|
def _initialize(self) -> None:
|
|
79
79
|
with self._connect() as connection:
|
|
80
|
-
|
|
80
|
+
# SQLite does not consistently apply busy_timeout while changing
|
|
81
|
+
# journal_mode. Multiple first-start workers can therefore race
|
|
82
|
+
# before the database header records WAL. Read first and retry only
|
|
83
|
+
# the bounded header transition; once one worker wins, all others
|
|
84
|
+
# observe WAL without issuing another write.
|
|
85
|
+
deadline = time.monotonic() + 30.0
|
|
86
|
+
while True:
|
|
87
|
+
try:
|
|
88
|
+
current = connection.execute("PRAGMA journal_mode").fetchone()
|
|
89
|
+
if current is None or str(current[0]).lower() != "wal":
|
|
90
|
+
connection.execute("PRAGMA journal_mode=WAL")
|
|
91
|
+
break
|
|
92
|
+
except sqlite3.OperationalError as exc:
|
|
93
|
+
detail = str(exc).lower()
|
|
94
|
+
remaining = deadline - time.monotonic()
|
|
95
|
+
if (
|
|
96
|
+
("locked" not in detail and "busy" not in detail)
|
|
97
|
+
or remaining <= 0
|
|
98
|
+
):
|
|
99
|
+
raise
|
|
100
|
+
time.sleep(min(0.01, remaining))
|
|
81
101
|
connection.executescript(
|
|
82
102
|
"""
|
|
83
103
|
CREATE TABLE IF NOT EXISTS lease_counters (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-loop
|
|
3
|
-
Version: 3.38.
|
|
3
|
+
Version: 3.38.8
|
|
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
|
|
@@ -135,9 +135,29 @@ def test_main_run_dispatches_all_positional_and_flags(monkeypatch):
|
|
|
135
135
|
|
|
136
136
|
|
|
137
137
|
def test_run_wraps_conduct_run_and_prints_json(monkeypatch, capsys):
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
captured = {}
|
|
139
|
+
|
|
140
|
+
def fake_conduct_run(repo, task_path, delivery, max_iterations, *,
|
|
141
|
+
quality_provider, quality_policy):
|
|
142
|
+
captured.update(
|
|
143
|
+
quality_provider=quality_provider,
|
|
144
|
+
quality_policy=quality_policy,
|
|
145
|
+
)
|
|
146
|
+
return {"ok": True, "outcome": {"exit_code": 0}}
|
|
147
|
+
|
|
148
|
+
monkeypatch.setattr(cli, "conduct_run", fake_conduct_run)
|
|
149
|
+
rc = cli.run(
|
|
150
|
+
"/r",
|
|
151
|
+
"t.md",
|
|
152
|
+
"verified",
|
|
153
|
+
3,
|
|
154
|
+
quality_provider="simplicio_loop_quality",
|
|
155
|
+
)
|
|
140
156
|
assert rc == 0
|
|
157
|
+
assert captured == {
|
|
158
|
+
"quality_provider": "simplicio_loop_quality",
|
|
159
|
+
"quality_policy": "strict-default",
|
|
160
|
+
}
|
|
141
161
|
assert json.loads(capsys.readouterr().out)["ok"] is True
|
|
142
162
|
|
|
143
163
|
|
{simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_cli_preflight_status_json_unit.py
RENAMED
|
@@ -114,22 +114,25 @@ class DirectCallCoverageTest(TestCase):
|
|
|
114
114
|
"simplicio-dev-cli": "simplicio-dev-cli 0.16.1",
|
|
115
115
|
"simplicio-py": "simplicio-py 0.16.1",
|
|
116
116
|
"simplicio": "simplicio-runtime 1.0.0",
|
|
117
|
+
"simplicio-fast": "simplicio-fast 2.0.16",
|
|
117
118
|
}
|
|
118
119
|
return subprocess.CompletedProcess(command, 0, stdout=names[command[0]] + "\n", stderr="")
|
|
119
120
|
|
|
120
121
|
def test_preflight_direct_call_text(self):
|
|
121
|
-
from simplicio_loop import cli
|
|
122
|
+
from simplicio_loop import cli, strict_mode
|
|
122
123
|
buf = io.StringIO()
|
|
123
124
|
with patch.object(cli.subprocess, "run", side_effect=self._present_operator_run), \
|
|
125
|
+
patch.object(strict_mode.shutil, "which", side_effect=lambda name: name), \
|
|
124
126
|
contextlib.redirect_stdout(buf):
|
|
125
127
|
rc = cli.preflight(str(REPO), as_json=False)
|
|
126
128
|
self.assertEqual(rc, 0)
|
|
127
129
|
self.assertIn("simplicio-loop preflight", buf.getvalue())
|
|
128
130
|
|
|
129
131
|
def test_preflight_direct_call_json(self):
|
|
130
|
-
from simplicio_loop import cli
|
|
132
|
+
from simplicio_loop import cli, strict_mode
|
|
131
133
|
buf = io.StringIO()
|
|
132
134
|
with patch.object(cli.subprocess, "run", side_effect=self._present_operator_run), \
|
|
135
|
+
patch.object(strict_mode.shutil, "which", side_effect=lambda name: name), \
|
|
133
136
|
contextlib.redirect_stdout(buf):
|
|
134
137
|
rc = cli.preflight(str(REPO), as_json=True)
|
|
135
138
|
self.assertEqual(rc, 0)
|
|
@@ -137,7 +140,7 @@ class DirectCallCoverageTest(TestCase):
|
|
|
137
140
|
self.assertEqual(doc["schema"], "simplicio.preflight/v1")
|
|
138
141
|
|
|
139
142
|
def test_preflight_direct_call_missing_core_operator_blocks(self):
|
|
140
|
-
from simplicio_loop import cli, finding_router
|
|
143
|
+
from simplicio_loop import cli, finding_router, strict_mode
|
|
141
144
|
|
|
142
145
|
def missing_mapper(command: list[str], **_kwargs: object) -> subprocess.CompletedProcess[str]:
|
|
143
146
|
if command[0] == "simplicio-mapper":
|
|
@@ -146,6 +149,7 @@ class DirectCallCoverageTest(TestCase):
|
|
|
146
149
|
|
|
147
150
|
buf = io.StringIO()
|
|
148
151
|
with patch.object(cli.subprocess, "run", side_effect=missing_mapper), \
|
|
152
|
+
patch.object(strict_mode.shutil, "which", side_effect=lambda name: name), \
|
|
149
153
|
patch.object(finding_router, "route_finding"), \
|
|
150
154
|
contextlib.redirect_stdout(buf):
|
|
151
155
|
rc = cli.preflight(str(REPO), as_json=True)
|
|
@@ -47,7 +47,7 @@ def _request_raw(stream, reader, request_id, method, payload):
|
|
|
47
47
|
return json.loads(line)
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
def test_code_client_contract_uses_one_hub_identity_and_replays_lifecycle():
|
|
50
|
+
def test_code_client_contract_uses_one_hub_identity_and_replays_lifecycle(require_af_unix):
|
|
51
51
|
with tempfile.TemporaryDirectory() as directory:
|
|
52
52
|
lock = str(Path(directory) / "hub.lock")
|
|
53
53
|
endpoint, transport = _endpoint(directory)
|
|
@@ -94,7 +94,7 @@ def test_code_client_contract_uses_one_hub_identity_and_replays_lifecycle():
|
|
|
94
94
|
daemon.stop()
|
|
95
95
|
|
|
96
96
|
|
|
97
|
-
def test_code_runtime_execute_is_forwarded_to_hub_owned_runtime_bridge():
|
|
97
|
+
def test_code_runtime_execute_is_forwarded_to_hub_owned_runtime_bridge(require_af_unix):
|
|
98
98
|
class RecordingRuntime:
|
|
99
99
|
def __init__(self):
|
|
100
100
|
self.calls = []
|
|
@@ -143,7 +143,7 @@ def test_code_runtime_execute_is_forwarded_to_hub_owned_runtime_bridge():
|
|
|
143
143
|
daemon.stop()
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
def test_code_runtime_call_is_forwarded_to_hub_owned_runtime_bridge():
|
|
146
|
+
def test_code_runtime_call_is_forwarded_to_hub_owned_runtime_bridge(require_af_unix):
|
|
147
147
|
class RecordingRuntime:
|
|
148
148
|
def __init__(self):
|
|
149
149
|
self.calls = []
|
|
@@ -330,7 +330,7 @@ def test_code_runtime_call_reaches_real_runtime_fs_stat():
|
|
|
330
330
|
daemon.stop()
|
|
331
331
|
|
|
332
332
|
|
|
333
|
-
def test_external_worker_contract_is_durable_idempotent_and_cancel_fail_closed():
|
|
333
|
+
def test_external_worker_contract_is_durable_idempotent_and_cancel_fail_closed(require_af_unix):
|
|
334
334
|
with tempfile.TemporaryDirectory() as directory:
|
|
335
335
|
lock = str(Path(directory) / "hub.lock")
|
|
336
336
|
endpoint, transport = _endpoint(directory)
|
|
@@ -586,7 +586,7 @@ def test_cli_blocks_when_anchor_file_missing(tmp_path, monkeypatch):
|
|
|
586
586
|
|
|
587
587
|
fake_repo = tmp_path / "repo"
|
|
588
588
|
(fake_repo / ".simplicio/orchestrator" / "loop").mkdir(parents=True)
|
|
589
|
-
(fake_repo / ".simplicio").mkdir(parents=True)
|
|
589
|
+
(fake_repo / ".simplicio").mkdir(parents=True, exist_ok=True)
|
|
590
590
|
(fake_repo / ".simplicio/orchestrator" / "loop" / "stage_instances.json").write_text("[]", encoding="utf-8")
|
|
591
591
|
(fake_repo / ".simplicio/orchestrator" / "loop" / "stage_receipts.json").write_text("[]", encoding="utf-8")
|
|
592
592
|
|
|
@@ -9,7 +9,7 @@ def _fake_dist(version="1.0.0", installed=True):
|
|
|
9
9
|
"path": "/tmp/site-packages", "entrypoints": ["fake-entry"]}
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
def _probe(monkeypatch, *, component="simplicio-mapper", version="0.
|
|
12
|
+
def _probe(monkeypatch, *, component="simplicio-mapper", version="0.26.0",
|
|
13
13
|
help_text="orient recall", executable="/usr/local/bin/simplicio-mapper",
|
|
14
14
|
installed=True):
|
|
15
15
|
monkeypatch.setattr(doctor, "_distribution", lambda _: _fake_dist(version, installed))
|
|
@@ -23,7 +23,7 @@ def _probe(monkeypatch, *, component="simplicio-mapper", version="0.19.0",
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def test_probe_reports_available_with_identity_version_capabilities_and_shas(monkeypatch):
|
|
26
|
-
row = _probe(monkeypatch, help_text="simplicio-mapper 0.
|
|
26
|
+
row = _probe(monkeypatch, help_text="simplicio-mapper 0.26.0 orient recall")
|
|
27
27
|
assert row["status"] == doctor.STATUS_AVAILABLE
|
|
28
28
|
assert row["git_sha"] is None
|
|
29
29
|
assert row["sha_source"] == "unavailable"
|
|
@@ -33,7 +33,7 @@ def test_probe_reports_available_with_identity_version_capabilities_and_shas(mon
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
def test_loop_sha_is_only_reported_for_the_loop_checkout(monkeypatch, tmp_path):
|
|
36
|
-
monkeypatch.setattr(doctor, "_distribution", lambda _: _fake_dist("3.38.
|
|
36
|
+
monkeypatch.setattr(doctor, "_distribution", lambda _: _fake_dist("3.38.7", True))
|
|
37
37
|
monkeypatch.setattr(doctor.shutil, "which", lambda _: None)
|
|
38
38
|
monkeypatch.setattr(doctor, "_git_sha", lambda _: "a" * 40)
|
|
39
39
|
monkeypatch.setattr(doctor, "_submodule_shas", lambda _: {})
|
|
@@ -62,7 +62,7 @@ def test_probe_distinguishes_missing_incompatible_disabled_and_degraded(monkeypa
|
|
|
62
62
|
assert disabled["status"] == doctor.STATUS_DISABLED
|
|
63
63
|
assert disabled["reason_code"] == "disabled"
|
|
64
64
|
|
|
65
|
-
monkeypatch.setattr(doctor, "_distribution", lambda _: _fake_dist("2.0.
|
|
65
|
+
monkeypatch.setattr(doctor, "_distribution", lambda _: _fake_dist("2.0.16", installed=True))
|
|
66
66
|
monkeypatch.setattr(doctor.shutil, "which", lambda _: None)
|
|
67
67
|
degraded = doctor._probe_component("simplicio-fast", doctor.COMPONENTS["simplicio-fast"],
|
|
68
68
|
tmp_path, doctor.PROFILES["standalone"]["simplicio-fast"])
|
|
@@ -49,6 +49,32 @@ def test_evidence_receipt_built_from_run_and_watcher_reads_it(tmp_path):
|
|
|
49
49
|
(src / "app.py").write_text("def main():\n return 'ok'\n", encoding="utf-8")
|
|
50
50
|
task = tmp_path / "task.md"
|
|
51
51
|
task.write_text(TASK, encoding="utf-8")
|
|
52
|
+
operator_bin = tmp_path / "bin"
|
|
53
|
+
operator_bin.mkdir()
|
|
54
|
+
mapper = operator_bin / "simplicio-mapper"
|
|
55
|
+
mapper.write_text(
|
|
56
|
+
"""#!/usr/bin/env python3
|
|
57
|
+
import json
|
|
58
|
+
import sys
|
|
59
|
+
|
|
60
|
+
if len(sys.argv) > 1 and sys.argv[1] == "inspect":
|
|
61
|
+
print(json.dumps({
|
|
62
|
+
"status": {"artifacts_present": True, "fresh": True},
|
|
63
|
+
"evidence": {"artifacts": {"snapshot": {"exists": True}}},
|
|
64
|
+
}))
|
|
65
|
+
elif len(sys.argv) > 1 and sys.argv[1] == "handoff":
|
|
66
|
+
print(json.dumps({
|
|
67
|
+
"context_pack": {
|
|
68
|
+
"pack_hash": "test-evidence-receipt",
|
|
69
|
+
"files": [{"path": "src/app.py"}],
|
|
70
|
+
}
|
|
71
|
+
}))
|
|
72
|
+
else:
|
|
73
|
+
print("{}")
|
|
74
|
+
""",
|
|
75
|
+
encoding="utf-8",
|
|
76
|
+
)
|
|
77
|
+
mapper.chmod(0o755)
|
|
52
78
|
fake_operator = json.dumps({
|
|
53
79
|
"execution_state": "dry_run",
|
|
54
80
|
"returncode": 0,
|
|
@@ -57,24 +83,31 @@ def test_evidence_receipt_built_from_run_and_watcher_reads_it(tmp_path):
|
|
|
57
83
|
"argv": ["simplicio-dev-cli", "task", "demo"]
|
|
58
84
|
})
|
|
59
85
|
fake_mapper_preflight = json.dumps({
|
|
60
|
-
"version_stdout": "simplicio-mapper 0.
|
|
86
|
+
"version_stdout": "simplicio-mapper 0.26.0",
|
|
61
87
|
"help_stdout": " inspect handoff ask sync drift ",
|
|
62
88
|
"version_returncode": 0,
|
|
63
89
|
"help_returncode": 0,
|
|
64
90
|
})
|
|
65
91
|
fake_devcli_preflight = json.dumps({
|
|
66
|
-
"
|
|
92
|
+
"version_stdout": "simplicio-dev-cli 0.18.0",
|
|
93
|
+
"help_stdout": " task --dry-run-task --json --bound-paths --target --task-spec --mode ",
|
|
94
|
+
"version_returncode": 0,
|
|
67
95
|
"help_returncode": 0,
|
|
68
96
|
})
|
|
69
97
|
started = _run(CLI + ["run", "--repo", str(repo), "--task", str(task),
|
|
70
|
-
"--delivery", "verified", "--max-iterations", "9"
|
|
98
|
+
"--delivery", "verified", "--max-iterations", "9",
|
|
99
|
+
"--quality-provider", "simplicio_loop_quality"], REPO,
|
|
71
100
|
env={
|
|
72
101
|
"SIMPLICIO_LOOP_FAKE_OPERATOR_JSON": fake_operator,
|
|
73
102
|
"SIMPLICIO_LOOP_FAKE_MAPPER_PREFLIGHT_JSON": fake_mapper_preflight,
|
|
74
103
|
"SIMPLICIO_LOOP_FAKE_DEVCLI_PREFLIGHT_JSON": fake_devcli_preflight,
|
|
104
|
+
# Do not inherit a host-installed operator: this test proves the
|
|
105
|
+
# explicit dry-run boundary and must remain PARTIAL everywhere.
|
|
106
|
+
"PATH": str(operator_bin) + os.pathsep + os.defpath,
|
|
75
107
|
})
|
|
76
|
-
assert started.returncode ==
|
|
108
|
+
assert started.returncode == 22, started.stdout + started.stderr
|
|
77
109
|
payload = json.loads(started.stdout)
|
|
110
|
+
assert payload["outcome"]["outcome"] == "PARTIAL"
|
|
78
111
|
run_dir = payload["run_dir"]
|
|
79
112
|
evidence_path = os.path.join(run_dir, "evidence-receipt.json")
|
|
80
113
|
assert os.path.exists(evidence_path)
|
|
@@ -95,7 +128,11 @@ def test_evidence_receipt_built_from_run_and_watcher_reads_it(tmp_path):
|
|
|
95
128
|
encoding="utf-8")
|
|
96
129
|
(loop_dir / "anchor.json").write_text(json.dumps({"criteria": [{"id": "AC1", "status": "done"}]}),
|
|
97
130
|
encoding="utf-8")
|
|
98
|
-
r = _run(
|
|
131
|
+
r = _run(
|
|
132
|
+
[sys.executable, WATCHER, "verify"],
|
|
133
|
+
str(repo),
|
|
134
|
+
env={"SIMPLICIO_RUN_DIR": run_dir, "SIMPLICIO_LOOP_REPO": str(repo)},
|
|
135
|
+
)
|
|
99
136
|
assert r.returncode == 0
|
|
100
137
|
state = json.loads((loop_dir / "watcher_state.json").read_text(encoding="utf-8"))
|
|
101
138
|
assert state["status"] == "UNVERIFIED"
|
|
@@ -169,7 +206,11 @@ def test_watcher_rejects_uncovered_manual_diff_from_evidence(tmp_path):
|
|
|
169
206
|
"scenario_verified": 1, "rule_total": 0, "rule_verified": 0},
|
|
170
207
|
"checks": [],
|
|
171
208
|
}), encoding="utf-8")
|
|
172
|
-
r = _run(
|
|
209
|
+
r = _run(
|
|
210
|
+
[sys.executable, WATCHER, "verify"],
|
|
211
|
+
str(repo),
|
|
212
|
+
env={"SIMPLICIO_RUN_DIR": str(run_dir), "SIMPLICIO_LOOP_REPO": str(repo)},
|
|
213
|
+
)
|
|
173
214
|
assert r.returncode == 0
|
|
174
215
|
state = json.loads((loop_dir / "watcher_state.json").read_text(encoding="utf-8"))
|
|
175
216
|
assert state["match"] is False
|
|
@@ -196,8 +237,11 @@ def test_watcher_rejects_verified_ac_without_proof_reference(tmp_path):
|
|
|
196
237
|
"summary": {"criteria_total": 1, "criteria_verified": 1, "scenario_total": 1,
|
|
197
238
|
"scenario_verified": 1, "rule_total": 0, "rule_verified": 0}, "checks": [],
|
|
198
239
|
}), encoding="utf-8")
|
|
199
|
-
r = _run(
|
|
200
|
-
|
|
240
|
+
r = _run(
|
|
241
|
+
[sys.executable, WATCHER, "verify"],
|
|
242
|
+
str(repo),
|
|
243
|
+
env={"SIMPLICIO_RUN_DIR": str(run_dir), "SIMPLICIO_LOOP_REPO": str(repo)},
|
|
244
|
+
)
|
|
201
245
|
assert r.returncode == 0
|
|
202
246
|
state = json.loads((loop_dir / "watcher_state.json").read_text(encoding="utf-8"))
|
|
203
247
|
assert state["match"] is False
|
{simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_github_drain_admission_projection.py
RENAMED
|
@@ -112,6 +112,18 @@ def test_closed_external_dependency_evidence_is_preserved_and_bound(tmp_path):
|
|
|
112
112
|
(lambda value: value["plan"]["waves"].reverse(), "checkpoint_plan_invalid"),
|
|
113
113
|
(lambda value: value["source_observation"].update(path="/private/source"), "job_source_invalid"),
|
|
114
114
|
(lambda value: value["items"]["1"].update(path="/private/worktree"), "job_items_invalid"),
|
|
115
|
+
(
|
|
116
|
+
lambda value: value["items"]["1"]["acceptance_criteria"][0].update(
|
|
117
|
+
text="tampered after planning"
|
|
118
|
+
),
|
|
119
|
+
"job_items_invalid",
|
|
120
|
+
),
|
|
121
|
+
(
|
|
122
|
+
lambda value: value["items"]["1"]["planning_receipt"].update(
|
|
123
|
+
receipt_hash="0" * 64
|
|
124
|
+
),
|
|
125
|
+
"job_items_invalid",
|
|
126
|
+
),
|
|
115
127
|
(
|
|
116
128
|
lambda value: value["items"]["1"].update(
|
|
117
129
|
dependencies=[99], external_dependencies_closed=[99],
|
|
@@ -110,7 +110,7 @@ def test_orient_rewrite_noop_outside_a_simplicio_loop_project(tmp_path):
|
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
def test_orient_rewrite_wraps_allowed_readonly_command_inside_project(tmp_path):
|
|
113
|
-
(tmp_path / ".simplicio/orchestrator").mkdir()
|
|
113
|
+
(tmp_path / ".simplicio/orchestrator").mkdir(parents=True)
|
|
114
114
|
out = _rewrite({"command": "git status"}, cwd=str(tmp_path))
|
|
115
115
|
updated = out["hookSpecificOutput"].get("updatedInput", {}).get("command", "")
|
|
116
116
|
assert "orient_clamp.py" in updated and "git status" in updated
|
|
@@ -123,21 +123,21 @@ def test_orient_rewrite_env_var_gate_without_orchestrator_dir(tmp_path):
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
def test_orient_rewrite_leaves_compound_command_unchanged(tmp_path):
|
|
126
|
-
(tmp_path / ".simplicio/orchestrator").mkdir()
|
|
126
|
+
(tmp_path / ".simplicio/orchestrator").mkdir(parents=True)
|
|
127
127
|
out = _rewrite({"command": "git status && rm -rf /tmp/x"}, cwd=str(tmp_path))
|
|
128
128
|
assert "updatedInput" not in out["hookSpecificOutput"], \
|
|
129
129
|
"a compound/unsafe-shaped command must never be rewritten"
|
|
130
130
|
|
|
131
131
|
|
|
132
132
|
def test_orient_rewrite_leaves_non_allowlisted_command_unchanged(tmp_path):
|
|
133
|
-
(tmp_path / ".simplicio/orchestrator").mkdir()
|
|
133
|
+
(tmp_path / ".simplicio/orchestrator").mkdir(parents=True)
|
|
134
134
|
out = _rewrite({"command": "npm install left-pad"}, cwd=str(tmp_path))
|
|
135
135
|
assert "updatedInput" not in out["hookSpecificOutput"], \
|
|
136
136
|
"a write command outside the read-only allowlist must never be rewritten"
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
def test_orient_rewrite_leaves_already_wrapped_command_unchanged(tmp_path):
|
|
140
|
-
(tmp_path / ".simplicio/orchestrator").mkdir()
|
|
140
|
+
(tmp_path / ".simplicio/orchestrator").mkdir(parents=True)
|
|
141
141
|
out = _rewrite({"command": 'python3 "hooks/orient_clamp.py" -- git status'}, cwd=str(tmp_path))
|
|
142
142
|
assert "updatedInput" not in out["hookSpecificOutput"]
|
|
143
143
|
|
|
@@ -6,7 +6,11 @@ import threading
|
|
|
6
6
|
import pytest
|
|
7
7
|
|
|
8
8
|
from simplicio_loop.github_drain_admission import build_admission_request
|
|
9
|
-
from simplicio_loop.github_drain_intake import
|
|
9
|
+
from simplicio_loop.github_drain_intake import (
|
|
10
|
+
PLANNER_REVISION,
|
|
11
|
+
_build_item_planning_receipt,
|
|
12
|
+
_digest,
|
|
13
|
+
)
|
|
10
14
|
from simplicio_loop.hub_governor import ResourceGovernor, ResourceLimits, ResourceRequest
|
|
11
15
|
from simplicio_loop.hub_queue_retry import HubRetryQueue, QueueRetryError
|
|
12
16
|
from simplicio_loop.hub_scheduler import FairScheduler, ScheduledJob
|
|
@@ -14,6 +18,23 @@ from simplicio_loop.hub_service import HubService
|
|
|
14
18
|
|
|
15
19
|
|
|
16
20
|
def _job(run_digest: str = "a" * 64, *, title: str = "one"):
|
|
21
|
+
acceptance_criteria = [{
|
|
22
|
+
"id": "AC-TITLE",
|
|
23
|
+
"text": f"Implementar e verificar: {title}",
|
|
24
|
+
"origin": "source",
|
|
25
|
+
"state": "pending",
|
|
26
|
+
}, {
|
|
27
|
+
"id": "AC-EVIDENCE-GATE",
|
|
28
|
+
"text": "Concluir somente com evidência concreta e receipt de entrega.",
|
|
29
|
+
"origin": "derived",
|
|
30
|
+
"state": "pending",
|
|
31
|
+
}]
|
|
32
|
+
planning_receipt = _build_item_planning_receipt(
|
|
33
|
+
item_number=1,
|
|
34
|
+
source_revision="r1",
|
|
35
|
+
acceptance_criteria=acceptance_criteria,
|
|
36
|
+
planner_revision=PLANNER_REVISION,
|
|
37
|
+
)
|
|
17
38
|
source = {
|
|
18
39
|
"digest": _digest([1]), "open_issues": [1], "observed_at": "2026-07-19T00:00:00Z",
|
|
19
40
|
}
|
|
@@ -44,6 +65,8 @@ def _job(run_digest: str = "a" * 64, *, title: str = "one"):
|
|
|
44
65
|
"labels": [], "source_revision": "r1", "observed_at": "2026-07-19T00:00:00Z",
|
|
45
66
|
"dependencies": [], "external_dependencies_closed": [], "risk": "low",
|
|
46
67
|
"state": "planned",
|
|
68
|
+
"acceptance_criteria": acceptance_criteria,
|
|
69
|
+
"planning_receipt": planning_receipt,
|
|
47
70
|
}},
|
|
48
71
|
"external_dependencies": {},
|
|
49
72
|
"plan": plan,
|
{simplicio_loop-3.38.7 → simplicio_loop-3.38.8}/tests/test_hub_interactive_transport_system.py
RENAMED
|
@@ -22,7 +22,7 @@ def _stop(process):
|
|
|
22
22
|
process.terminate(); process.wait(timeout=10)
|
|
23
23
|
|
|
24
24
|
@pytest.mark.skipif(os.name == "nt", reason="POSIX external socket proof")
|
|
25
|
-
def test_external_interactive_reconnect_replay_and_idempotent_submit():
|
|
25
|
+
def test_external_interactive_reconnect_replay_and_idempotent_submit(require_af_unix):
|
|
26
26
|
with tempfile.TemporaryDirectory() as directory:
|
|
27
27
|
lock, endpoint = str(Path(directory)/"hub.lock"), str(Path(directory)/"hub.sock")
|
|
28
28
|
process = _start(lock, endpoint)
|
|
@@ -140,7 +140,7 @@ def _process_spec(*argv: str, timeout: float = 5.0) -> dict:
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
|
|
143
|
-
def test_real_hub_socket_lifecycle_stale_fence_and_cancel():
|
|
143
|
+
def test_real_hub_socket_lifecycle_stale_fence_and_cancel(require_af_unix):
|
|
144
144
|
with tempfile.TemporaryDirectory() as directory:
|
|
145
145
|
daemon = HubDaemon(str(Path(directory) / "hub.lock"))
|
|
146
146
|
daemon.start()
|
|
@@ -174,7 +174,7 @@ def test_real_hub_socket_lifecycle_stale_fence_and_cancel():
|
|
|
174
174
|
daemon.stop()
|
|
175
175
|
|
|
176
176
|
|
|
177
|
-
def test_real_hub_restart_marks_claimed_recovery_unknown_without_redispatch():
|
|
177
|
+
def test_real_hub_restart_marks_claimed_recovery_unknown_without_redispatch(require_af_unix):
|
|
178
178
|
with tempfile.TemporaryDirectory() as directory:
|
|
179
179
|
lock_path = str(Path(directory) / "hub.lock")
|
|
180
180
|
daemon = HubDaemon(lock_path)
|