agent-lifecycle-kit 2.29.0__tar.gz → 2.30.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.30.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/README.md +2 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +102 -74
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +42 -29
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_observability.py +6 -5
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_planning.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/followup.py +3 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +12 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/strategy.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/worktree.py +3 -2
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +329 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_state_authority.py +236 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +32 -1
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage.py +901 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_context.py +380 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_io.py +379 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_schemas.py +181 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/cost_collection.py +6 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/__init__.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/artifacts.py +2 -5
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/authorization.py +141 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/finalization.py +2 -1
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/immutable_input.py +29 -23
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/initialization.py +70 -7
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/operation_kernel.py +146 -11
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/plan_adoption.py +1 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/query.py +40 -35
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/reviews.py +4 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/run_transitions.py +3 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/selectors.py +2 -2
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/state.py +133 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/storage.py +31 -0
- agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/storage_io.py +25 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_outcomes.py +2 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_transitions.py +9 -9
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/transactions.py +4 -2
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.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.30.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/journal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.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.30.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.30.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.30.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/provenance.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.29.0 → agent_lifecycle_kit-2.30.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.30.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.30.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.30 adds [bounded workflow history, migration and exact-run authorization renewal](docs/reference/workflow-state-storage.md), preserving history, costs, clocks and the existing review attempt. 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.30.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.30 adds [bounded workflow history, migration and exact-run authorization renewal](docs/reference/workflow-state-storage.md), preserving history, costs, clocks and the existing review attempt. 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.30.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.30.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,17 @@ 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
|
-
validate_workflow_state,
|
|
29
32
|
)
|
|
33
|
+
from agent_lifecycle.contracts.workflow_storage_context import StorageOperation
|
|
30
34
|
|
|
31
35
|
from .contracts import JournalUnavailable, canonical, digest
|
|
32
36
|
|
|
@@ -357,10 +361,17 @@ def _validate_v6_storage_receipt(db: sqlite3.Connection) -> None:
|
|
|
357
361
|
raise JournalUnavailable("V6 schema differs from migration receipt")
|
|
358
362
|
|
|
359
363
|
|
|
360
|
-
def validate_legacy_adoption_history(
|
|
364
|
+
def validate_legacy_adoption_history(
|
|
365
|
+
state: dict,
|
|
366
|
+
events: list[dict],
|
|
367
|
+
*,
|
|
368
|
+
root: Path | None = None,
|
|
369
|
+
state_path: Path | None = None,
|
|
370
|
+
operation: StorageOperation | None = None,
|
|
371
|
+
) -> dict:
|
|
361
372
|
"""Refuse split or incomplete legacy history before any Journal adoption write."""
|
|
362
|
-
|
|
363
|
-
if state
|
|
373
|
+
validate_workflow_authority(state, root=root, state_path=state_path, operation=operation)
|
|
374
|
+
if not has_current_workflow_semantics(state):
|
|
364
375
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state must complete explicit v4 migration")
|
|
365
376
|
if type(events) is not list:
|
|
366
377
|
raise LifecycleError("workflow-adoption-invalid", "Complete ordered event history is required")
|
|
@@ -369,48 +380,9 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
|
|
|
369
380
|
if len(events) != revision - 1 or len(ledger) != len(events):
|
|
370
381
|
raise LifecycleError("workflow-adoption-invalid", "Event and operation history are incomplete")
|
|
371
382
|
seen: set[str] = set()
|
|
372
|
-
fields = {
|
|
373
|
-
"schemaVersion",
|
|
374
|
-
"runId",
|
|
375
|
-
"packageId",
|
|
376
|
-
"stateRevision",
|
|
377
|
-
"operationId",
|
|
378
|
-
"eventType",
|
|
379
|
-
"payload",
|
|
380
|
-
"recordedAt",
|
|
381
|
-
}
|
|
382
383
|
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")
|
|
384
|
+
operation_id = _require_legacy_event_identity(event, state, expected_revision, seen)
|
|
385
|
+
_require_legacy_ledger_entry(ledger.get(operation_id), event, expected_revision)
|
|
414
386
|
seen.add(operation_id)
|
|
415
387
|
return {
|
|
416
388
|
"schemaVersion": "agent-workflow-legacy-history-check.v1",
|
|
@@ -425,6 +397,53 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
|
|
|
425
397
|
}
|
|
426
398
|
|
|
427
399
|
|
|
400
|
+
def _require_legacy_event_identity(event: dict, state: dict, expected_revision: int, seen: set[str]) -> str:
|
|
401
|
+
fields = {
|
|
402
|
+
"schemaVersion",
|
|
403
|
+
"runId",
|
|
404
|
+
"packageId",
|
|
405
|
+
"stateRevision",
|
|
406
|
+
"operationId",
|
|
407
|
+
"eventType",
|
|
408
|
+
"payload",
|
|
409
|
+
"recordedAt",
|
|
410
|
+
}
|
|
411
|
+
if type(event) is not dict or set(event) != fields:
|
|
412
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event has missing or unknown fields")
|
|
413
|
+
operation_id = event["operationId"]
|
|
414
|
+
if (
|
|
415
|
+
event["schemaVersion"] != "agent-workflow-event.v1"
|
|
416
|
+
or event["runId"] != state["runId"]
|
|
417
|
+
or event["packageId"] != state["packageId"]
|
|
418
|
+
or type(event["stateRevision"]) is not int
|
|
419
|
+
or event["stateRevision"] != expected_revision
|
|
420
|
+
or type(operation_id) is not str
|
|
421
|
+
or not 1 <= len(operation_id) <= 256
|
|
422
|
+
or operation_id in seen
|
|
423
|
+
or type(event["eventType"]) is not str
|
|
424
|
+
or not event["eventType"]
|
|
425
|
+
or type(event["payload"]) is not dict
|
|
426
|
+
or type(event["recordedAt"]) is not str
|
|
427
|
+
or not event["recordedAt"]
|
|
428
|
+
):
|
|
429
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event identity or order differs")
|
|
430
|
+
return operation_id
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
def _require_legacy_ledger_entry(entry: object, event: dict, expected_revision: int) -> None:
|
|
434
|
+
if (
|
|
435
|
+
type(entry) is not dict
|
|
436
|
+
or set(entry) != {"stateRevision", "eventType", "recordedAt"}
|
|
437
|
+
or type(entry["stateRevision"]) is not int
|
|
438
|
+
or entry["stateRevision"] != expected_revision
|
|
439
|
+
or entry["eventType"] != event["eventType"]
|
|
440
|
+
or type(entry["recordedAt"]) is not str
|
|
441
|
+
or not entry["recordedAt"]
|
|
442
|
+
or entry["recordedAt"] != event["recordedAt"]
|
|
443
|
+
):
|
|
444
|
+
raise LifecycleError("workflow-adoption-invalid", "Operation ledger differs from event history")
|
|
445
|
+
|
|
446
|
+
|
|
428
447
|
def _adoption_artifact(root: Path, ref: dict) -> bytes:
|
|
429
448
|
relative = normalize_repo_path(ref["path"], label="adoption artifact")
|
|
430
449
|
raw = read_authority_bytes(root / relative, max_bytes=8_388_608, root=root)
|
|
@@ -459,10 +478,10 @@ def prepare_legacy_adoption_candidate(
|
|
|
459
478
|
binding["canonicalStatePath"], label="bound state"
|
|
460
479
|
):
|
|
461
480
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state path differs from binding")
|
|
462
|
-
|
|
463
|
-
|
|
481
|
+
state_raw = _adoption_artifact(root, state_ref)
|
|
482
|
+
state = load_json_object(state_raw, label="legacy workflow state")
|
|
464
483
|
if (
|
|
465
|
-
state
|
|
484
|
+
not has_current_workflow_semantics(state)
|
|
466
485
|
or state["runId"] != binding["runId"]
|
|
467
486
|
or state["packageId"] != binding["packageId"]
|
|
468
487
|
or state.get("planDigest") != binding["planDigest"]
|
|
@@ -471,31 +490,12 @@ def prepare_legacy_adoption_candidate(
|
|
|
471
490
|
raise LifecycleError("workflow-adoption-invalid", "Legacy state identity differs from binding")
|
|
472
491
|
state_path = root / state_ref["path"]
|
|
473
492
|
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)
|
|
493
|
+
events = _read_adoption_events(root, anchor, state, adoption_input)
|
|
494
|
+
with StorageOperation(anchor, state_path=state_path, run_id=state["runId"]) as operation:
|
|
495
|
+
state = decode_workflow_authority(state_raw, root=anchor, state_path=state_path, operation=operation)
|
|
496
|
+
history = validate_legacy_adoption_history(
|
|
497
|
+
state, events, root=anchor, state_path=state_path, operation=operation
|
|
498
|
+
)
|
|
499
499
|
snapshot_raw = _adoption_artifact(root, adoption_input["initialSnapshotRef"])
|
|
500
500
|
if len(snapshot_raw) > 1_048_576:
|
|
501
501
|
raise LifecycleError("workflow-adoption-invalid", "Initial snapshot exceeds authority byte limit")
|
|
@@ -541,6 +541,34 @@ def prepare_legacy_adoption_candidate(
|
|
|
541
541
|
}
|
|
542
542
|
|
|
543
543
|
|
|
544
|
+
def _read_adoption_events(root: Path, anchor: Path, state: dict, adoption_input: dict) -> list[dict]:
|
|
545
|
+
event_path = anchor / normalize_repo_path(state["eventLog"], label="legacy event log")
|
|
546
|
+
try:
|
|
547
|
+
event_relative = event_path.relative_to(root).as_posix()
|
|
548
|
+
except ValueError:
|
|
549
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event log escapes selected root") from None
|
|
550
|
+
event_ref = adoption_input["legacyEventLogRef"]
|
|
551
|
+
if event_ref is None:
|
|
552
|
+
if state["stateRevision"] != 1 or state["operationLedger"]:
|
|
553
|
+
raise LifecycleError("workflow-adoption-invalid", "Missing legacy event prefix")
|
|
554
|
+
try:
|
|
555
|
+
read_authority_bytes(root / event_relative, max_bytes=8_388_608, root=root)
|
|
556
|
+
except FileNotFoundError:
|
|
557
|
+
event_raw = b""
|
|
558
|
+
else:
|
|
559
|
+
raise LifecycleError("workflow-adoption-invalid", "Existing event log requires an exact ref")
|
|
560
|
+
else:
|
|
561
|
+
if normalize_repo_path(event_ref["path"], label="event ref") != event_relative:
|
|
562
|
+
raise LifecycleError("workflow-adoption-invalid", "Legacy event path differs from state")
|
|
563
|
+
event_raw = _adoption_artifact(root, event_ref)
|
|
564
|
+
events = []
|
|
565
|
+
for line in event_raw.splitlines():
|
|
566
|
+
if not line.strip():
|
|
567
|
+
raise LifecycleError("workflow-adoption-invalid", "Blank legacy event line")
|
|
568
|
+
events.append(load_json_object(line, label="legacy event"))
|
|
569
|
+
return events
|
|
570
|
+
|
|
571
|
+
|
|
544
572
|
def _loaded_root(db: sqlite3.Connection, binding: dict, binding_digest: str) -> dict:
|
|
545
573
|
"""A missing qualified bootstrap is unavailable, never a new self-selected root."""
|
|
546
574
|
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.30.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.30.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.30.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")
|