agent-lifecycle-kit 2.29.0__tar.gz → 2.31.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_lifecycle_kit-2.29.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.31.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/README.md +2 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +102 -72
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +42 -29
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_observability.py +6 -5
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_planning.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/followup.py +3 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +12 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/strategy.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/worktree.py +3 -2
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +329 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_state_authority.py +236 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +32 -1
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_storage.py +901 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_storage_context.py +380 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_storage_io.py +379 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/contracts/workflow_storage_schemas.py +181 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/cost_collection.py +6 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/__init__.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/artifacts.py +2 -5
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/workflow/authorization.py +141 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/finalization.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/immutable_input.py +29 -23
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/initialization.py +70 -7
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/operation_kernel.py +146 -11
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/plan_adoption.py +1 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/query.py +40 -35
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/reviews.py +4 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/run_transitions.py +3 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/selectors.py +2 -2
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/workflow/state.py +133 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/workflow/storage.py +31 -0
- agent_lifecycle_kit-2.31.0/src/agent_lifecycle/workflow/storage_io.py +25 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/task_outcomes.py +2 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/task_transitions.py +9 -9
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/transactions.py +4 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
- agent_lifecycle_kit-2.29.0/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -114
- agent_lifecycle_kit-2.29.0/src/agent_lifecycle/workflow/authorization.py +0 -69
- agent_lifecycle_kit-2.29.0/src/agent_lifecycle/workflow/state.py +0 -205
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/journal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review/provenance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.29.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.31.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-lifecycle-kit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.31.0
|
|
4
4
|
Summary: Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion.
|
|
5
5
|
Author: Agent Lifecycle Kit contributors
|
|
6
6
|
License: Apache-2.0
|
|
@@ -35,14 +35,14 @@ Dynamic: license-file
|
|
|
35
35
|
|
|
36
36
|
The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
|
|
37
37
|
|
|
38
|
-
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
|
|
38
|
+
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification. Release 2.31 strengthens supported-text secret checks, enforces global branch and critical-file coverage floors, and gives a bounded structural refusal for malformed legacy state. See [the 2.31 check boundaries](docs/reference/cli.md#release-231-bounded-quality-checks). See [workflow history and recovery](docs/reference/workflow-state-storage.md) for the earlier storage and renewal features. Install the Python package as well as the plugin for the new CLI commands.
|
|
39
39
|
|
|
40
40
|
Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/performance-and-resource-budgets.md#release-228-lifecycle-and-accounting-baselines). Repository tools measure real read-only operations and separate fixture preparation from operation and subprocess time. The Windows fixture comparison observed a 13.08% median reduction in one six-sample experiment; it is not a universal speed promise. All security and platform checks remain required.
|
|
41
41
|
|
|
42
42
|
## Quick start
|
|
43
43
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
44
44
|
|
|
45
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
45
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.31.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
46
46
|
|
|
47
47
|
For a quick start, run:
|
|
48
48
|
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
|
|
14
14
|
|
|
15
|
-
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
|
|
15
|
+
ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification. Release 2.31 strengthens supported-text secret checks, enforces global branch and critical-file coverage floors, and gives a bounded structural refusal for malformed legacy state. See [the 2.31 check boundaries](docs/reference/cli.md#release-231-bounded-quality-checks). See [workflow history and recovery](docs/reference/workflow-state-storage.md) for the earlier storage and renewal features. Install the Python package as well as the plugin for the new CLI commands.
|
|
16
16
|
|
|
17
17
|
Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/performance-and-resource-budgets.md#release-228-lifecycle-and-accounting-baselines). Repository tools measure real read-only operations and separate fixture preparation from operation and subprocess time. The Windows fixture comparison observed a 13.08% median reduction in one six-sample experiment; it is not a universal speed promise. All security and platform checks remain required.
|
|
18
18
|
|
|
19
19
|
## Quick start
|
|
20
20
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
21
21
|
|
|
22
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
22
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.31.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
23
23
|
|
|
24
24
|
For a quick start, run:
|
|
25
25
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agent-lifecycle-kit"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.31.0"
|
|
8
8
|
description = "Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.16"
|
|
@@ -20,13 +20,18 @@ from agent_lifecycle.contracts.workflow_authority import (
|
|
|
20
20
|
verify_signed_authority_snapshot,
|
|
21
21
|
)
|
|
22
22
|
from agent_lifecycle.contracts.workflow_authority_schemas import validate_bootstrap_pin, validate_run_output_anchor
|
|
23
|
+
from agent_lifecycle.contracts.workflow_state_authority import (
|
|
24
|
+
decode_workflow_authority,
|
|
25
|
+
validate_workflow_authority,
|
|
26
|
+
)
|
|
23
27
|
from agent_lifecycle.contracts.workflow_state_schemas import (
|
|
24
|
-
|
|
28
|
+
has_current_workflow_semantics,
|
|
25
29
|
validate_adoption_input,
|
|
26
30
|
validate_adoption_selection,
|
|
27
31
|
validate_runtime_binding,
|
|
28
32
|
validate_workflow_state,
|
|
29
33
|
)
|
|
34
|
+
from agent_lifecycle.contracts.workflow_storage_context import StorageOperation
|
|
30
35
|
|
|
31
36
|
from .contracts import JournalUnavailable, canonical, digest
|
|
32
37
|
|
|
@@ -357,10 +362,17 @@ def _validate_v6_storage_receipt(db: sqlite3.Connection) -> None:
|
|
|
357
362
|
raise JournalUnavailable("V6 schema differs from migration receipt")
|
|
358
363
|
|
|
359
364
|
|
|
360
|
-
def validate_legacy_adoption_history(
|
|
365
|
+
def validate_legacy_adoption_history(
|
|
366
|
+
state: dict,
|
|
367
|
+
events: list[dict],
|
|
368
|
+
*,
|
|
369
|
+
root: Path | None = None,
|
|
370
|
+
state_path: Path | None = None,
|
|
371
|
+
operation: StorageOperation | None = None,
|
|
372
|
+
) -> dict:
|
|
361
373
|
"""Refuse split or incomplete legacy history before any Journal adoption write."""
|
|
362
|
-
|
|
363
|
-
if state
|
|
374
|
+
validate_workflow_authority(state, root=root, state_path=state_path, operation=operation)
|
|
375
|
+
if not has_current_workflow_semantics(state):
|
|
364
376
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state must complete explicit v4 migration")
|
|
365
377
|
if type(events) is not list:
|
|
366
378
|
raise LifecycleError("workflow-adoption-invalid", "Complete ordered event history is required")
|
|
@@ -369,48 +381,9 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
|
|
|
369
381
|
if len(events) != revision - 1 or len(ledger) != len(events):
|
|
370
382
|
raise LifecycleError("workflow-adoption-invalid", "Event and operation history are incomplete")
|
|
371
383
|
seen: set[str] = set()
|
|
372
|
-
fields = {
|
|
373
|
-
"schemaVersion",
|
|
374
|
-
"runId",
|
|
375
|
-
"packageId",
|
|
376
|
-
"stateRevision",
|
|
377
|
-
"operationId",
|
|
378
|
-
"eventType",
|
|
379
|
-
"payload",
|
|
380
|
-
"recordedAt",
|
|
381
|
-
}
|
|
382
384
|
for expected_revision, event in enumerate(events, start=2):
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
operation_id = event["operationId"]
|
|
386
|
-
if (
|
|
387
|
-
event["schemaVersion"] != "agent-workflow-event.v1"
|
|
388
|
-
or event["runId"] != state["runId"]
|
|
389
|
-
or event["packageId"] != state["packageId"]
|
|
390
|
-
or type(event["stateRevision"]) is not int
|
|
391
|
-
or event["stateRevision"] != expected_revision
|
|
392
|
-
or type(operation_id) is not str
|
|
393
|
-
or not 1 <= len(operation_id) <= 256
|
|
394
|
-
or operation_id in seen
|
|
395
|
-
or type(event["eventType"]) is not str
|
|
396
|
-
or not event["eventType"]
|
|
397
|
-
or type(event["payload"]) is not dict
|
|
398
|
-
or type(event["recordedAt"]) is not str
|
|
399
|
-
or not event["recordedAt"]
|
|
400
|
-
):
|
|
401
|
-
raise LifecycleError("workflow-adoption-invalid", "Legacy event identity or order differs")
|
|
402
|
-
entry = ledger.get(operation_id)
|
|
403
|
-
if (
|
|
404
|
-
type(entry) is not dict
|
|
405
|
-
or set(entry) != {"stateRevision", "eventType", "recordedAt"}
|
|
406
|
-
or type(entry["stateRevision"]) is not int
|
|
407
|
-
or entry["stateRevision"] != expected_revision
|
|
408
|
-
or entry["eventType"] != event["eventType"]
|
|
409
|
-
or type(entry["recordedAt"]) is not str
|
|
410
|
-
or not entry["recordedAt"]
|
|
411
|
-
or entry["recordedAt"] != event["recordedAt"]
|
|
412
|
-
):
|
|
413
|
-
raise LifecycleError("workflow-adoption-invalid", "Operation ledger differs from event history")
|
|
385
|
+
operation_id = _require_legacy_event_identity(event, state, expected_revision, seen)
|
|
386
|
+
_require_legacy_ledger_entry(ledger.get(operation_id), event, expected_revision)
|
|
414
387
|
seen.add(operation_id)
|
|
415
388
|
return {
|
|
416
389
|
"schemaVersion": "agent-workflow-legacy-history-check.v1",
|
|
@@ -425,6 +398,53 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
|
|
|
425
398
|
}
|
|
426
399
|
|
|
427
400
|
|
|
401
|
+
def _require_legacy_event_identity(event: dict, state: dict, expected_revision: int, seen: set[str]) -> str:
|
|
402
|
+
fields = {
|
|
403
|
+
"schemaVersion",
|
|
404
|
+
"runId",
|
|
405
|
+
"packageId",
|
|
406
|
+
"stateRevision",
|
|
407
|
+
"operationId",
|
|
408
|
+
"eventType",
|
|
409
|
+
"payload",
|
|
410
|
+
"recordedAt",
|
|
411
|
+
}
|
|
412
|
+
if type(event) is not dict or set(event) != fields:
|
|
413
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event has missing or unknown fields")
|
|
414
|
+
operation_id = event["operationId"]
|
|
415
|
+
if (
|
|
416
|
+
event["schemaVersion"] != "agent-workflow-event.v1"
|
|
417
|
+
or event["runId"] != state["runId"]
|
|
418
|
+
or event["packageId"] != state["packageId"]
|
|
419
|
+
or type(event["stateRevision"]) is not int
|
|
420
|
+
or event["stateRevision"] != expected_revision
|
|
421
|
+
or type(operation_id) is not str
|
|
422
|
+
or not 1 <= len(operation_id) <= 256
|
|
423
|
+
or operation_id in seen
|
|
424
|
+
or type(event["eventType"]) is not str
|
|
425
|
+
or not event["eventType"]
|
|
426
|
+
or type(event["payload"]) is not dict
|
|
427
|
+
or type(event["recordedAt"]) is not str
|
|
428
|
+
or not event["recordedAt"]
|
|
429
|
+
):
|
|
430
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event identity or order differs")
|
|
431
|
+
return operation_id
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
def _require_legacy_ledger_entry(entry: object, event: dict, expected_revision: int) -> None:
|
|
435
|
+
if (
|
|
436
|
+
type(entry) is not dict
|
|
437
|
+
or set(entry) != {"stateRevision", "eventType", "recordedAt"}
|
|
438
|
+
or type(entry["stateRevision"]) is not int
|
|
439
|
+
or entry["stateRevision"] != expected_revision
|
|
440
|
+
or entry["eventType"] != event["eventType"]
|
|
441
|
+
or type(entry["recordedAt"]) is not str
|
|
442
|
+
or not entry["recordedAt"]
|
|
443
|
+
or entry["recordedAt"] != event["recordedAt"]
|
|
444
|
+
):
|
|
445
|
+
raise LifecycleError("workflow-adoption-invalid", "Operation ledger differs from event history")
|
|
446
|
+
|
|
447
|
+
|
|
428
448
|
def _adoption_artifact(root: Path, ref: dict) -> bytes:
|
|
429
449
|
relative = normalize_repo_path(ref["path"], label="adoption artifact")
|
|
430
450
|
raw = read_authority_bytes(root / relative, max_bytes=8_388_608, root=root)
|
|
@@ -459,10 +479,11 @@ def prepare_legacy_adoption_candidate(
|
|
|
459
479
|
binding["canonicalStatePath"], label="bound state"
|
|
460
480
|
):
|
|
461
481
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state path differs from binding")
|
|
462
|
-
|
|
482
|
+
state_raw = _adoption_artifact(root, state_ref)
|
|
483
|
+
state = load_json_object(state_raw, label="legacy workflow state")
|
|
463
484
|
validate_workflow_state(state)
|
|
464
485
|
if (
|
|
465
|
-
state
|
|
486
|
+
not has_current_workflow_semantics(state)
|
|
466
487
|
or state["runId"] != binding["runId"]
|
|
467
488
|
or state["packageId"] != binding["packageId"]
|
|
468
489
|
or state.get("planDigest") != binding["planDigest"]
|
|
@@ -471,31 +492,12 @@ def prepare_legacy_adoption_candidate(
|
|
|
471
492
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state identity differs from binding")
|
|
472
493
|
state_path = root / state_ref["path"]
|
|
473
494
|
anchor = resolve_authority_anchor(state_path, state.get("packageRoot", "."), root=root)
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
if event_ref is None:
|
|
481
|
-
if state["stateRevision"] != 1 or state["operationLedger"]:
|
|
482
|
-
raise LifecycleError("workflow-adoption-invalid", "Missing legacy event prefix")
|
|
483
|
-
try:
|
|
484
|
-
read_authority_bytes(root / event_relative, max_bytes=8_388_608, root=root)
|
|
485
|
-
except FileNotFoundError:
|
|
486
|
-
event_raw = b""
|
|
487
|
-
else:
|
|
488
|
-
raise LifecycleError("workflow-adoption-invalid", "Existing event log requires an exact ref")
|
|
489
|
-
else:
|
|
490
|
-
if normalize_repo_path(event_ref["path"], label="event ref") != event_relative:
|
|
491
|
-
raise LifecycleError("workflow-adoption-invalid", "Legacy event path differs from state")
|
|
492
|
-
event_raw = _adoption_artifact(root, event_ref)
|
|
493
|
-
events = []
|
|
494
|
-
for line in event_raw.splitlines():
|
|
495
|
-
if not line.strip():
|
|
496
|
-
raise LifecycleError("workflow-adoption-invalid", "Blank legacy event line")
|
|
497
|
-
events.append(load_json_object(line, label="legacy event"))
|
|
498
|
-
history = validate_legacy_adoption_history(state, events)
|
|
495
|
+
events = _read_adoption_events(root, anchor, state, adoption_input)
|
|
496
|
+
with StorageOperation(anchor, state_path=state_path, run_id=state["runId"]) as operation:
|
|
497
|
+
state = decode_workflow_authority(state_raw, root=anchor, state_path=state_path, operation=operation)
|
|
498
|
+
history = validate_legacy_adoption_history(
|
|
499
|
+
state, events, root=anchor, state_path=state_path, operation=operation
|
|
500
|
+
)
|
|
499
501
|
snapshot_raw = _adoption_artifact(root, adoption_input["initialSnapshotRef"])
|
|
500
502
|
if len(snapshot_raw) > 1_048_576:
|
|
501
503
|
raise LifecycleError("workflow-adoption-invalid", "Initial snapshot exceeds authority byte limit")
|
|
@@ -541,6 +543,34 @@ def prepare_legacy_adoption_candidate(
|
|
|
541
543
|
}
|
|
542
544
|
|
|
543
545
|
|
|
546
|
+
def _read_adoption_events(root: Path, anchor: Path, state: dict, adoption_input: dict) -> list[dict]:
|
|
547
|
+
event_path = anchor / normalize_repo_path(state["eventLog"], label="legacy event log")
|
|
548
|
+
try:
|
|
549
|
+
event_relative = event_path.relative_to(root).as_posix()
|
|
550
|
+
except ValueError:
|
|
551
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event log escapes selected root") from None
|
|
552
|
+
event_ref = adoption_input["legacyEventLogRef"]
|
|
553
|
+
if event_ref is None:
|
|
554
|
+
if state["stateRevision"] != 1 or state["operationLedger"]:
|
|
555
|
+
raise LifecycleError("workflow-adoption-invalid", "Missing legacy event prefix")
|
|
556
|
+
try:
|
|
557
|
+
read_authority_bytes(root / event_relative, max_bytes=8_388_608, root=root)
|
|
558
|
+
except FileNotFoundError:
|
|
559
|
+
event_raw = b""
|
|
560
|
+
else:
|
|
561
|
+
raise LifecycleError("workflow-adoption-invalid", "Existing event log requires an exact ref")
|
|
562
|
+
else:
|
|
563
|
+
if normalize_repo_path(event_ref["path"], label="event ref") != event_relative:
|
|
564
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event path differs from state")
|
|
565
|
+
event_raw = _adoption_artifact(root, event_ref)
|
|
566
|
+
events = []
|
|
567
|
+
for line in event_raw.splitlines():
|
|
568
|
+
if not line.strip():
|
|
569
|
+
raise LifecycleError("workflow-adoption-invalid", "Blank legacy event line")
|
|
570
|
+
events.append(load_json_object(line, label="legacy event"))
|
|
571
|
+
return events
|
|
572
|
+
|
|
573
|
+
|
|
544
574
|
def _loaded_root(db: sqlite3.Connection, binding: dict, binding_digest: str) -> dict:
|
|
545
575
|
"""A missing qualified bootstrap is unavailable, never a new self-selected root."""
|
|
546
576
|
row = db.execute(
|
|
@@ -38,6 +38,7 @@ from agent_lifecycle.workflow import (
|
|
|
38
38
|
next_action,
|
|
39
39
|
pause_for_budget_decision,
|
|
40
40
|
pause_for_external_action,
|
|
41
|
+
renew_execution_authorization,
|
|
41
42
|
resolve_blocker,
|
|
42
43
|
resume_external_action,
|
|
43
44
|
rework_task,
|
|
@@ -47,9 +48,11 @@ from agent_lifecycle.workflow import (
|
|
|
47
48
|
status,
|
|
48
49
|
validate_budget_exceeded_policy,
|
|
49
50
|
)
|
|
50
|
-
from agent_lifecycle.workflow.artifacts import build_current_task_change_set
|
|
51
|
+
from agent_lifecycle.workflow.artifacts import build_current_task_change_set, package_root
|
|
51
52
|
from agent_lifecycle.workflow.closing_window import operator_claim_refusal
|
|
52
53
|
from agent_lifecycle.workflow.initialization import initialize_compiled_workflow, project_workflow_initialization
|
|
54
|
+
from agent_lifecycle.workflow.state import load_state
|
|
55
|
+
from agent_lifecycle.workflow.storage import task_evidence
|
|
53
56
|
|
|
54
57
|
|
|
55
58
|
def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
|
|
@@ -61,6 +64,34 @@ def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
61
64
|
raise LifecycleError("command-not-implemented", "lifecycle command is not implemented")
|
|
62
65
|
|
|
63
66
|
|
|
67
|
+
def _dispatch_workflow_query(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
|
|
68
|
+
if args.workflow_command == "next":
|
|
69
|
+
return next_action(status(state_path, full=True)["state"])
|
|
70
|
+
payload = status(state_path, full=args.full)
|
|
71
|
+
prefix = getattr(args, "digest_prefix_length", None)
|
|
72
|
+
return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _dispatch_execution_grant(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
|
|
76
|
+
if args.workflow_command == "run-start":
|
|
77
|
+
return start_execution(
|
|
78
|
+
state_path,
|
|
79
|
+
operation_id=args.operation_id,
|
|
80
|
+
expected_revision=args.expected_revision,
|
|
81
|
+
source_revision=args.source_revision,
|
|
82
|
+
reason=args.reason,
|
|
83
|
+
)
|
|
84
|
+
authorize = {"authorize": authorize_execution, "authorization-renew": renew_execution_authorization}
|
|
85
|
+
return authorize[args.workflow_command](
|
|
86
|
+
state_path,
|
|
87
|
+
operation_id=args.operation_id,
|
|
88
|
+
expected_revision=args.expected_revision,
|
|
89
|
+
source_revision=args.source_revision,
|
|
90
|
+
receipt_path=args.receipt,
|
|
91
|
+
reason=args.reason,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
64
95
|
def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any]:
|
|
65
96
|
if args.workflow_command == "init":
|
|
66
97
|
if getattr(args, "manifest", None) is not None:
|
|
@@ -83,6 +114,7 @@ def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any
|
|
|
83
114
|
operation_id=args.operation_id,
|
|
84
115
|
expected_revision=args.expected_revision,
|
|
85
116
|
source_revision=args.source_revision,
|
|
117
|
+
target_schema=args.target_schema,
|
|
86
118
|
)
|
|
87
119
|
if args.workflow_command == "migrate-runner-artifact":
|
|
88
120
|
from agent_lifecycle.migration.legacy_runner import convert_legacy_runner_artifact
|
|
@@ -121,12 +153,8 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
121
153
|
if args.workflow_command in {"init", "state-migrate", "migrate-runner-artifact"}:
|
|
122
154
|
return _dispatch_workflow_initialization(args)
|
|
123
155
|
state_path = Path(args.state)
|
|
124
|
-
if args.workflow_command
|
|
125
|
-
|
|
126
|
-
prefix = getattr(args, "digest_prefix_length", None)
|
|
127
|
-
return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
|
|
128
|
-
if args.workflow_command == "next":
|
|
129
|
-
return next_action(status(state_path, full=True)["state"])
|
|
156
|
+
if args.workflow_command in {"status", "next"}:
|
|
157
|
+
return _dispatch_workflow_query(args, state_path)
|
|
130
158
|
if args.workflow_command == "validation-select":
|
|
131
159
|
return _dispatch_validation_select(args, state_path)
|
|
132
160
|
if args.workflow_command == "run":
|
|
@@ -158,23 +186,8 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
158
186
|
start_mode=args.start_mode,
|
|
159
187
|
authorized_by=args.authorized_by,
|
|
160
188
|
)
|
|
161
|
-
if args.workflow_command
|
|
162
|
-
return
|
|
163
|
-
state_path,
|
|
164
|
-
operation_id=args.operation_id,
|
|
165
|
-
expected_revision=args.expected_revision,
|
|
166
|
-
source_revision=args.source_revision,
|
|
167
|
-
reason=args.reason,
|
|
168
|
-
)
|
|
169
|
-
if args.workflow_command == "authorize":
|
|
170
|
-
return authorize_execution(
|
|
171
|
-
state_path,
|
|
172
|
-
operation_id=args.operation_id,
|
|
173
|
-
expected_revision=args.expected_revision,
|
|
174
|
-
source_revision=args.source_revision,
|
|
175
|
-
receipt_path=args.receipt,
|
|
176
|
-
reason=args.reason,
|
|
177
|
-
)
|
|
189
|
+
if args.workflow_command in {"run-start", "authorize", "authorization-renew"}:
|
|
190
|
+
return _dispatch_execution_grant(args, state_path)
|
|
178
191
|
if args.workflow_command in {"external-pause", "pause-external"}:
|
|
179
192
|
return pause_for_external_action(
|
|
180
193
|
state_path,
|
|
@@ -369,11 +382,11 @@ def _dispatch_task_snapshot(args: argparse.Namespace, state_path: Path) -> dict[
|
|
|
369
382
|
"phase-packet-required-fact-missing",
|
|
370
383
|
"task snapshot phase packet requires --manifest, --lock, --phase-packet-purpose and --phase-packet-out",
|
|
371
384
|
)
|
|
372
|
-
state =
|
|
385
|
+
state = load_state(state_path) if packet_requested else None
|
|
373
386
|
task = _state_task(state, args.task) if isinstance(state, dict) else None
|
|
374
387
|
if args.phase_packet_purpose == "TASK_AUDIT" and isinstance(task, dict) and task.get("status") == "VERIFYING":
|
|
375
388
|
assert state is not None
|
|
376
|
-
payload = _result_bound_task_change_set(state, task)
|
|
389
|
+
payload = _result_bound_task_change_set(state, task, package_root(state_path, state))
|
|
377
390
|
else:
|
|
378
391
|
payload = build_current_task_change_set(state_path, task_id=args.task)
|
|
379
392
|
if args.out:
|
|
@@ -395,8 +408,8 @@ def _dispatch_task_snapshot(args: argparse.Namespace, state_path: Path) -> dict[
|
|
|
395
408
|
return payload
|
|
396
409
|
|
|
397
410
|
|
|
398
|
-
def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any]) -> dict[str, Any]:
|
|
399
|
-
evidence = task
|
|
411
|
+
def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any], root: Path) -> dict[str, Any]:
|
|
412
|
+
evidence = task_evidence(root, state, task, "resultChangeSetEvidence")
|
|
400
413
|
if not isinstance(evidence, dict):
|
|
401
414
|
raise LifecycleError("phase-packet-required-fact-missing", "task audit result change-set evidence is missing")
|
|
402
415
|
required = ("provider", "baselineSha", "fileSetHash", "diffHash", "snapshotHash")
|
|
@@ -424,7 +437,7 @@ def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any]) -
|
|
|
424
437
|
|
|
425
438
|
|
|
426
439
|
def _dispatch_validation_select(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
|
|
427
|
-
state =
|
|
440
|
+
state = load_state(state_path)
|
|
428
441
|
task = _state_task(state, args.task)
|
|
429
442
|
snapshot = read_json_object(Path(args.snapshot), label="task snapshot")
|
|
430
443
|
if snapshot.get("taskId") != task.get("id"):
|
|
@@ -99,6 +99,7 @@ from agent_lifecycle.reporting import (
|
|
|
99
99
|
render_usage_export_json,
|
|
100
100
|
render_usage_export_table,
|
|
101
101
|
)
|
|
102
|
+
from agent_lifecycle.workflow.state import load_state
|
|
102
103
|
|
|
103
104
|
|
|
104
105
|
def dispatch_observability(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
@@ -335,7 +336,7 @@ def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
335
336
|
if args.context_command == "checkpoint":
|
|
336
337
|
return _dispatch_context_checkpoint(args)
|
|
337
338
|
if args.context_command == "restore":
|
|
338
|
-
state =
|
|
339
|
+
state = load_state(Path(args.state))
|
|
339
340
|
payload = restore_context_checkpoint(
|
|
340
341
|
Path(args.checkpoint),
|
|
341
342
|
state=state,
|
|
@@ -355,7 +356,7 @@ def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
355
356
|
|
|
356
357
|
|
|
357
358
|
def _dispatch_context_checkpoint(args: argparse.Namespace) -> dict[str, Any]:
|
|
358
|
-
state =
|
|
359
|
+
state = load_state(Path(args.state))
|
|
359
360
|
manifest = read_json_object(Path(args.plan), label="context checkpoint plan")
|
|
360
361
|
input_payload = read_json_object(Path(args.input), label="context checkpoint input")
|
|
361
362
|
reason = str(args.reason)
|
|
@@ -407,10 +408,10 @@ def _require_checkpoint_output_root(root: Path) -> None:
|
|
|
407
408
|
def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
408
409
|
record = read_json_object(Path(args.record), label="goal record")
|
|
409
410
|
if args.goal_command == "check":
|
|
410
|
-
state =
|
|
411
|
+
state = load_state(Path(args.state)) if args.state else None
|
|
411
412
|
return validate_goal_record(record, state=state, require_current=args.current)
|
|
412
413
|
if args.goal_command == "summarize":
|
|
413
|
-
state =
|
|
414
|
+
state = load_state(Path(args.state))
|
|
414
415
|
profile = read_json_object(Path(args.profile), label="context profile") if args.profile else None
|
|
415
416
|
return build_objective_snapshot(record, state, profile=profile, window=args.target_window)
|
|
416
417
|
if args.goal_command == "view":
|
|
@@ -427,7 +428,7 @@ def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
|
|
|
427
428
|
return render_goal_view_terminal(payload)
|
|
428
429
|
return payload
|
|
429
430
|
if args.goal_command == "update":
|
|
430
|
-
state =
|
|
431
|
+
state = load_state(Path(args.state))
|
|
431
432
|
updated = update_goal_record(
|
|
432
433
|
record,
|
|
433
434
|
state,
|
|
@@ -56,6 +56,7 @@ from agent_lifecycle.workflow.artifact_builders import (
|
|
|
56
56
|
inspect_artifact,
|
|
57
57
|
)
|
|
58
58
|
from agent_lifecycle.workflow.artifacts import build_finding_check_evidence_artifact
|
|
59
|
+
from agent_lifecycle.workflow.state import load_state
|
|
59
60
|
|
|
60
61
|
|
|
61
62
|
def dispatch_planning(args: argparse.Namespace) -> dict[str, Any]:
|
|
@@ -83,7 +84,7 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
83
84
|
if args.specification_command == "completion-gate":
|
|
84
85
|
gate_input = read_json_object(Path(args.input), label="completion gate input") if args.input else {}
|
|
85
86
|
payload = build_completion_gate_receipt(
|
|
86
|
-
state=
|
|
87
|
+
state=load_state(Path(args.state)),
|
|
87
88
|
final_audit=read_json_object(Path(args.final_audit), label="final audit") if args.final_audit else None,
|
|
88
89
|
follow_up_register=(
|
|
89
90
|
read_json_object(Path(args.follow_up_register), label="follow-up register")
|
{agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/followup.py
RENAMED
|
@@ -15,6 +15,7 @@ from agent_lifecycle.followup import (
|
|
|
15
15
|
validate_followup_register,
|
|
16
16
|
write_followup_register,
|
|
17
17
|
)
|
|
18
|
+
from agent_lifecycle.workflow.state import load_state
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def add_followup_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
|
|
@@ -49,7 +50,7 @@ def dispatch_followup(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
49
50
|
register_path = Path(args.register)
|
|
50
51
|
register = load_followup_register(register_path)
|
|
51
52
|
if args.followup_command == "check":
|
|
52
|
-
state =
|
|
53
|
+
state = load_state(Path(args.state)) if args.state else None
|
|
53
54
|
validation = validate_followup_register(register, state=state, root=Path(args.root))
|
|
54
55
|
if args.fail_on_finalization_blockers and validation["finalizationBlockers"]:
|
|
55
56
|
raise LifecycleError(
|
|
@@ -83,7 +84,7 @@ def dispatch_followup(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
83
84
|
"registerDigest": validation["registerDigest"],
|
|
84
85
|
}
|
|
85
86
|
if args.followup_command == "sweep":
|
|
86
|
-
state =
|
|
87
|
+
state = load_state(Path(args.state)) if args.state else None
|
|
87
88
|
profile = read_json_object(Path(args.profile), label="context profile") if args.profile else None
|
|
88
89
|
return build_followup_summary(register, state=state, profile=profile, window=args.target_window)
|
|
89
90
|
raise LifecycleError("command-not-implemented", "followup command is not implemented")
|
|
@@ -261,6 +261,11 @@ def _add_workflow_state_parsers(
|
|
|
261
261
|
workflow_migrate.add_argument("--operation-id", required=True)
|
|
262
262
|
workflow_migrate.add_argument("--expected-revision", required=True, type=int)
|
|
263
263
|
workflow_migrate.add_argument("--source-revision", required=True)
|
|
264
|
+
workflow_migrate.add_argument(
|
|
265
|
+
"--target-schema",
|
|
266
|
+
choices=["agent-workflow-state.v4", "agent-workflow-state.v5"],
|
|
267
|
+
default="agent-workflow-state.v4",
|
|
268
|
+
)
|
|
264
269
|
workflow_legacy = workflow_sub.add_parser(
|
|
265
270
|
"migrate-runner-artifact",
|
|
266
271
|
help="convert one legacy runner artifact into a non-authoritative archival record",
|
|
@@ -319,6 +324,13 @@ def _add_workflow_control_parsers(
|
|
|
319
324
|
workflow_authorize.add_argument("--source-revision", required=True)
|
|
320
325
|
workflow_authorize.add_argument("--receipt", required=True)
|
|
321
326
|
workflow_authorize.add_argument("--reason", required=True)
|
|
327
|
+
workflow_renew = workflow_sub.add_parser("authorization-renew")
|
|
328
|
+
workflow_renew.add_argument("--state", required=True)
|
|
329
|
+
workflow_renew.add_argument("--operation-id", required=True)
|
|
330
|
+
workflow_renew.add_argument("--expected-revision", required=True, type=int)
|
|
331
|
+
workflow_renew.add_argument("--source-revision", required=True)
|
|
332
|
+
workflow_renew.add_argument("--receipt", required=True)
|
|
333
|
+
workflow_renew.add_argument("--reason", required=True)
|
|
322
334
|
workflow_external_pause = workflow_sub.add_parser("external-pause", aliases=["pause-external"])
|
|
323
335
|
workflow_external_pause.add_argument("--state", required=True)
|
|
324
336
|
workflow_external_pause.add_argument("--operation-id", required=True)
|
{agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/strategy.py
RENAMED
|
@@ -12,6 +12,7 @@ from agent_lifecycle.contracts import LifecycleError, read_json_object, write_js
|
|
|
12
12
|
from agent_lifecycle.policy.execution_strategy import resolve_execution_strategy
|
|
13
13
|
from agent_lifecycle.workflow.artifacts import package_root
|
|
14
14
|
from agent_lifecycle.workflow.selectors import find_task
|
|
15
|
+
from agent_lifecycle.workflow.state import load_state
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
def dispatch_strategy(args: argparse.Namespace) -> dict[str, Any]:
|
|
@@ -21,7 +22,7 @@ def dispatch_strategy(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
21
22
|
args.adapter,
|
|
22
23
|
Path(args.descriptor) if args.descriptor else None,
|
|
23
24
|
)
|
|
24
|
-
state =
|
|
25
|
+
state = load_state(Path(args.state))
|
|
25
26
|
manifest = read_json_object(Path(args.manifest), label="frozen plan manifest")
|
|
26
27
|
root = package_root(Path(args.state), state)
|
|
27
28
|
payload = resolve_execution_strategy(
|
{agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.31.0}/src/agent_lifecycle/cli/worktree.py
RENAMED
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
9
|
from agent_lifecycle.contracts import read_json_object, write_json_create
|
|
10
|
+
from agent_lifecycle.workflow.state import load_state
|
|
10
11
|
from agent_lifecycle.worktree import (
|
|
11
12
|
build_attempt_isolation_receipt,
|
|
12
13
|
validate_attempt_isolation_receipt,
|
|
@@ -43,7 +44,7 @@ def dispatch_worktree(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
43
44
|
if args.worktree_command == "policy-check":
|
|
44
45
|
return validate_worktree_policy(read_json_object(Path(args.policy), label="worktree policy"))
|
|
45
46
|
if args.worktree_command == "receipt":
|
|
46
|
-
state =
|
|
47
|
+
state = load_state(Path(args.state))
|
|
47
48
|
policy = read_json_object(Path(args.policy), label="worktree policy")
|
|
48
49
|
authorization = (
|
|
49
50
|
read_json_object(Path(args.operator_authorization), label="operator authorization")
|
|
@@ -68,7 +69,7 @@ def dispatch_worktree(args: argparse.Namespace) -> dict[str, Any]:
|
|
|
68
69
|
return receipt
|
|
69
70
|
if args.worktree_command == "check":
|
|
70
71
|
receipt = read_json_object(Path(args.receipt), label="worktree receipt")
|
|
71
|
-
checked_state =
|
|
72
|
+
checked_state = load_state(Path(args.state)) if args.state else None
|
|
72
73
|
checked_policy = read_json_object(Path(args.policy), label="worktree policy") if args.policy else None
|
|
73
74
|
return validate_attempt_isolation_receipt(receipt, workflow_state=checked_state, policy=checked_policy)
|
|
74
75
|
raise AssertionError("unreachable worktree command")
|