agent-lifecycle-kit 2.14.0__tar.gz → 2.15.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.14.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.15.0}/PKG-INFO +2 -2
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/README.md +1 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +2 -3
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +4 -3
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/implementation.py +3 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/ownership.py +61 -25
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/package.py +13 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/git.py +13 -2
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/snapshot.py +11 -2
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/small_model_packets.py +26 -15
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/task_packets.py +49 -18
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/authority_io.py +523 -0
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/authority_text.py +137 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/canonical.py +72 -98
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/ownership_paths.py +322 -0
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/contracts/paths.py +105 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/persistence.py +0 -3
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_verdict.py +4 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/validation.py +12 -7
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +28 -6
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +79 -23
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_dialects.py +1 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/planning.py +1 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/completeness.py +17 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/manifest_contract.py +13 -1
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/verification.py +5 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review/validation.py +2 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/contracts.py +2 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/artifacts.py +6 -13
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/continuation_batch.py +6 -18
- agent_lifecycle_kit-2.15.0/src/agent_lifecycle/workflow/events.py +76 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/operation_kernel.py +2 -21
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/plan_adoption.py +8 -3
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/reviews.py +3 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/run.py +13 -3
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_start.py +9 -10
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_transitions.py +57 -10
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +2 -2
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +2 -0
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/contracts/ownership_paths.py +0 -43
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/contracts/paths.py +0 -180
- agent_lifecycle_kit-2.14.0/src/agent_lifecycle/workflow/events.py +0 -50
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.14.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.15.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.15.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
|
|
@@ -43,7 +43,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
|
|
|
43
43
|
## Quick start
|
|
44
44
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
|
|
45
45
|
|
|
46
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
46
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.15.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).
|
|
47
47
|
|
|
48
48
|
For a quick start, run:
|
|
49
49
|
|
|
@@ -21,7 +21,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
|
|
|
21
21
|
## Quick start
|
|
22
22
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
|
|
23
23
|
|
|
24
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
24
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.15.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).
|
|
25
25
|
|
|
26
26
|
For a quick start, run:
|
|
27
27
|
|
|
@@ -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.15.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.15"
|
|
@@ -313,7 +313,7 @@ def request_external_job_cancel(
|
|
|
313
313
|
job_root: Path | None = None,
|
|
314
314
|
now: Clock | None = None,
|
|
315
315
|
) -> dict[str, Any]:
|
|
316
|
-
"""
|
|
316
|
+
"""Acknowledge cancellation-request publication, not process termination."""
|
|
317
317
|
|
|
318
318
|
require_external_job_pass(validate_external_job_request(request), "request")
|
|
319
319
|
attempt_root = external_job_attempt_path(request, job_root=job_root)
|
|
@@ -345,8 +345,7 @@ def request_external_job_cancel(
|
|
|
345
345
|
except FileExistsError:
|
|
346
346
|
existing = _load_private_json(path, "external job cancel request")
|
|
347
347
|
return _cancel_receipt(request, latest, requested_at=existing.get("requestedAt"), idempotent=True)
|
|
348
|
-
|
|
349
|
-
return _cancel_receipt(request, latest, requested_at=requested_at, idempotent=True, terminal=True)
|
|
348
|
+
# Completion after publication cannot turn this creator into a no-op retry.
|
|
350
349
|
return _cancel_receipt(request, latest, requested_at=requested_at, idempotent=False)
|
|
351
350
|
|
|
352
351
|
|
|
@@ -69,10 +69,9 @@ def pre_action_gate(
|
|
|
69
69
|
policy=policy,
|
|
70
70
|
next_action=next_action,
|
|
71
71
|
task_id=task_id,
|
|
72
|
-
expected_state_revision=(
|
|
73
|
-
expected_state_revision if expected_state_revision is not None else 0
|
|
74
|
-
),
|
|
72
|
+
expected_state_revision=(expected_state_revision if expected_state_revision is not None else 0),
|
|
75
73
|
package_integrity=package_integrity,
|
|
74
|
+
repository_root=repository_root,
|
|
76
75
|
)
|
|
77
76
|
|
|
78
77
|
|
|
@@ -92,6 +91,7 @@ def post_action_gate(
|
|
|
92
91
|
actual_status: str = "PASS",
|
|
93
92
|
event: dict[str, Any] | None = None,
|
|
94
93
|
policy_path: Path | None = None,
|
|
94
|
+
repository_root: Path | None = None,
|
|
95
95
|
) -> dict[str, Any]:
|
|
96
96
|
"""Validate host output and changed paths after an authorized action."""
|
|
97
97
|
|
|
@@ -99,6 +99,7 @@ def post_action_gate(
|
|
|
99
99
|
policy = load_lifecycle_control_policy(policy_path) if policy_path else None
|
|
100
100
|
return evaluate_post_action_gate(
|
|
101
101
|
pre_action=pre_action,
|
|
102
|
+
repository_root=repository_root,
|
|
102
103
|
manifest=manifest,
|
|
103
104
|
actual_changed_paths=actual_changed_paths,
|
|
104
105
|
outcome=outcome,
|
|
@@ -7,6 +7,7 @@ from typing import Any
|
|
|
7
7
|
|
|
8
8
|
from agent_lifecycle.audit.ownership import build_ownership_report, report_has_category
|
|
9
9
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object
|
|
10
|
+
from agent_lifecycle.contracts.authority_text import require_review_text
|
|
10
11
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
11
12
|
from agent_lifecycle.contracts.review_verdict import (
|
|
12
13
|
BLOCKING_REVIEW_SEVERITIES,
|
|
@@ -218,6 +219,7 @@ def validate_implementation_audit_report(
|
|
|
218
219
|
) -> dict[str, Any]:
|
|
219
220
|
blockers: list[dict[str, Any]] = []
|
|
220
221
|
compatibility_validation: dict[str, Any] | None = None
|
|
222
|
+
require_review_text(report)
|
|
221
223
|
if report.get("schemaVersion") != IMPLEMENTATION_AUDIT_SCHEMA:
|
|
222
224
|
blockers.append(
|
|
223
225
|
{"code": "implementation-audit-schema", "message": "unsupported implementation audit schemaVersion"}
|
|
@@ -389,6 +391,7 @@ def build_final_implementation_audit(
|
|
|
389
391
|
def validate_final_implementation_audit(
|
|
390
392
|
audit: dict[str, Any], *, state: dict[str, Any] | None = None
|
|
391
393
|
) -> dict[str, Any]:
|
|
394
|
+
require_review_text(audit)
|
|
392
395
|
blockers: list[dict[str, Any]] = []
|
|
393
396
|
if audit.get("schemaVersion") != FINAL_IMPLEMENTATION_AUDIT_SCHEMA:
|
|
394
397
|
blockers.append(
|
{agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/ownership.py
RENAMED
|
@@ -6,8 +6,13 @@ from collections import Counter
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
-
from agent_lifecycle.contracts import read_json_object
|
|
10
|
-
from agent_lifecycle.contracts.ownership_paths import
|
|
9
|
+
from agent_lifecycle.contracts import LifecycleError, read_json_object
|
|
10
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
11
|
+
is_under_authority_path,
|
|
12
|
+
normalize_authority_path,
|
|
13
|
+
observed_authority_paths,
|
|
14
|
+
require_manifest_authority_paths,
|
|
15
|
+
)
|
|
11
16
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
12
17
|
|
|
13
18
|
|
|
@@ -16,9 +21,16 @@ def build_ownership_report(
|
|
|
16
21
|
paths: list[str],
|
|
17
22
|
*,
|
|
18
23
|
base: str | None = None,
|
|
24
|
+
repository_root: Path | None = None,
|
|
19
25
|
) -> dict[str, Any]:
|
|
20
26
|
manifest = read_json_object(manifest_path, label="plan manifest")
|
|
21
|
-
return build_ownership_report_from_manifest(
|
|
27
|
+
return build_ownership_report_from_manifest(
|
|
28
|
+
manifest,
|
|
29
|
+
paths,
|
|
30
|
+
manifest_path=manifest_path,
|
|
31
|
+
base=base,
|
|
32
|
+
repository_root=repository_root if repository_root is not None else Path.cwd(),
|
|
33
|
+
)
|
|
22
34
|
|
|
23
35
|
|
|
24
36
|
def build_ownership_report_from_manifest(
|
|
@@ -27,11 +39,16 @@ def build_ownership_report_from_manifest(
|
|
|
27
39
|
*,
|
|
28
40
|
manifest_path: Path | None = None,
|
|
29
41
|
base: str | None = None,
|
|
42
|
+
repository_root: Path | None = None,
|
|
30
43
|
) -> dict[str, Any]:
|
|
31
44
|
"""Classify changed paths against an already loaded frozen manifest."""
|
|
32
45
|
|
|
33
|
-
|
|
34
|
-
|
|
46
|
+
require_manifest_authority_paths(manifest, operation_root=repository_root)
|
|
47
|
+
classifiers = _classifiers(manifest, manifest_path, repository_root=repository_root)
|
|
48
|
+
entries = [
|
|
49
|
+
_classify_path(path, classifiers, repository_root=repository_root)
|
|
50
|
+
for path in observed_authority_paths(paths, operation_root=repository_root)
|
|
51
|
+
]
|
|
35
52
|
categories = Counter(entry["category"] for entry in entries)
|
|
36
53
|
owners = Counter(owner for entry in entries for owner in entry.get("owners", []))
|
|
37
54
|
return {
|
|
@@ -57,15 +74,13 @@ def declared_ownership_paths(manifest: dict[str, Any]) -> list[str]:
|
|
|
57
74
|
"""Return literal workstream ownership paths for read-only projections."""
|
|
58
75
|
|
|
59
76
|
classifiers = _classifiers(manifest, None)
|
|
60
|
-
paths = {
|
|
61
|
-
path
|
|
62
|
-
for roots in classifiers["workstreams"].values()
|
|
63
|
-
for path in roots
|
|
64
|
-
}
|
|
77
|
+
paths = {path for roots in classifiers["workstreams"].values() for path in roots}
|
|
65
78
|
return sorted(paths)
|
|
66
79
|
|
|
67
80
|
|
|
68
|
-
def _classifiers(
|
|
81
|
+
def _classifiers(
|
|
82
|
+
manifest: dict[str, Any], manifest_path: Path | None, *, repository_root: Path | None = None
|
|
83
|
+
) -> dict[str, Any]:
|
|
69
84
|
package_value = manifest.get("package")
|
|
70
85
|
package = package_value if isinstance(package_value, dict) else {}
|
|
71
86
|
plan_root = package.get("planArtifactRoot")
|
|
@@ -97,7 +112,7 @@ def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[s
|
|
|
97
112
|
],
|
|
98
113
|
}
|
|
99
114
|
return {
|
|
100
|
-
"manifestPath": _repo_relative(manifest_path),
|
|
115
|
+
"manifestPath": _repo_relative(manifest_path, repository_root=repository_root),
|
|
101
116
|
"planArtifactRoot": normalize_authority_path(plan_root, label="planArtifactRoot")
|
|
102
117
|
if isinstance(plan_root, str)
|
|
103
118
|
else None,
|
|
@@ -134,28 +149,48 @@ def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[s
|
|
|
134
149
|
}
|
|
135
150
|
|
|
136
151
|
|
|
137
|
-
def _classify_path(path: str, classifiers: dict[str, Any]) -> dict[str, Any]:
|
|
152
|
+
def _classify_path(path: str, classifiers: dict[str, Any], *, repository_root: Path | None = None) -> dict[str, Any]:
|
|
138
153
|
normalized = normalize_repo_path(path)
|
|
139
154
|
manifest_path = classifiers["manifestPath"]
|
|
140
|
-
if
|
|
155
|
+
if (
|
|
156
|
+
isinstance(manifest_path, str)
|
|
157
|
+
and normalized.count("/") == manifest_path.count("/")
|
|
158
|
+
and is_under_authority_path(normalized, manifest_path, operation_root=repository_root)
|
|
159
|
+
):
|
|
141
160
|
return _entry(normalized, "plan-authority", ["controller"])
|
|
142
161
|
plan_root = classifiers["planArtifactRoot"]
|
|
143
|
-
if isinstance(plan_root, str) and is_under_authority_path(normalized, plan_root):
|
|
162
|
+
if isinstance(plan_root, str) and is_under_authority_path(normalized, plan_root, operation_root=repository_root):
|
|
144
163
|
return _entry(normalized, "plan-authority", ["controller"])
|
|
145
|
-
lead = [
|
|
164
|
+
lead = [
|
|
165
|
+
root
|
|
166
|
+
for root in classifiers["leadOwned"]
|
|
167
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
168
|
+
]
|
|
146
169
|
if lead:
|
|
147
170
|
return _entry(normalized, "lead-owned", ["controller"], matched=lead)
|
|
148
|
-
forbidden = [
|
|
171
|
+
forbidden = [
|
|
172
|
+
root
|
|
173
|
+
for root in classifiers["forbiddenWrites"]
|
|
174
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
175
|
+
]
|
|
149
176
|
if forbidden:
|
|
150
177
|
return _entry(normalized, "forbidden", [], matched=forbidden)
|
|
151
|
-
read_only = [
|
|
178
|
+
read_only = [
|
|
179
|
+
root
|
|
180
|
+
for root in classifiers["readOnly"]
|
|
181
|
+
if is_under_authority_path(normalized, root, operation_root=repository_root)
|
|
182
|
+
]
|
|
152
183
|
if read_only:
|
|
153
184
|
return _entry(normalized, "read-only", [], matched=read_only)
|
|
154
|
-
owners = [
|
|
155
|
-
|
|
156
|
-
for
|
|
157
|
-
|
|
158
|
-
|
|
185
|
+
owners = []
|
|
186
|
+
for owner, roots in classifiers["workstreams"].items():
|
|
187
|
+
for root in roots:
|
|
188
|
+
if not is_under_authority_path(normalized, root, operation_root=repository_root):
|
|
189
|
+
continue
|
|
190
|
+
if repository_root is not None and not is_under_authority_path(normalized, root):
|
|
191
|
+
raise LifecycleError("ambiguous-authority-path", "filesystem alias would broaden a write grant")
|
|
192
|
+
if owner not in owners:
|
|
193
|
+
owners.append(owner)
|
|
159
194
|
if owners:
|
|
160
195
|
return _entry(normalized, "workstream-owned", owners)
|
|
161
196
|
return _entry(normalized, "unowned", [])
|
|
@@ -174,11 +209,12 @@ def _entry(
|
|
|
174
209
|
return value
|
|
175
210
|
|
|
176
211
|
|
|
177
|
-
def _repo_relative(path: Path | None) -> str | None:
|
|
212
|
+
def _repo_relative(path: Path | None, *, repository_root: Path | None = None) -> str | None:
|
|
178
213
|
if path is None:
|
|
179
214
|
return None
|
|
180
215
|
try:
|
|
181
|
-
|
|
216
|
+
root = repository_root if repository_root is not None else Path.cwd()
|
|
217
|
+
return normalize_repo_path(path.absolute().relative_to(root.absolute()).as_posix())
|
|
182
218
|
except ValueError:
|
|
183
219
|
return None
|
|
184
220
|
|
{agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/audit/package.py
RENAMED
|
@@ -13,6 +13,8 @@ from agent_lifecycle.audit.implementation import (
|
|
|
13
13
|
from agent_lifecycle.audit.ownership import build_ownership_report, report_has_category
|
|
14
14
|
from agent_lifecycle.changesets import changed_files
|
|
15
15
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object
|
|
16
|
+
from agent_lifecycle.contracts.authority_text import require_review_text
|
|
17
|
+
from agent_lifecycle.contracts.ownership_paths import require_manifest_authority_paths
|
|
16
18
|
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
17
19
|
from agent_lifecycle.freeze import plan_integrity_required, verify_plan_lock, verify_plan_package_integrity
|
|
18
20
|
from agent_lifecycle.planning import (
|
|
@@ -79,9 +81,16 @@ def build_package_audit(
|
|
|
79
81
|
package_files = _package_file_check(package_dir, manifest=manifest, repository_root=repository_root)
|
|
80
82
|
_capture_check_failure("package-files", package_files, findings, blockers)
|
|
81
83
|
|
|
84
|
+
authority_check = _run_check(
|
|
85
|
+
lambda: require_manifest_authority_paths(manifest, operation_root=repository_root)
|
|
86
|
+
)
|
|
87
|
+
_capture_check_failure("authority-paths", authority_check, findings, blockers)
|
|
88
|
+
|
|
82
89
|
profile = _load_profile(completeness_profile_path)
|
|
83
90
|
manifest_check = _run_check(lambda: validate_plan_manifest(manifest))
|
|
84
|
-
completeness_check = _run_check(
|
|
91
|
+
completeness_check = _run_check(
|
|
92
|
+
lambda: validate_plan_completeness(manifest, profile=profile, operation_root=repository_root)
|
|
93
|
+
)
|
|
85
94
|
_capture_check_failure("manifest", manifest_check, findings, blockers)
|
|
86
95
|
_capture_check_failure("completeness", completeness_check, findings, blockers)
|
|
87
96
|
|
|
@@ -121,6 +130,7 @@ def build_package_audit(
|
|
|
121
130
|
"packageFiles": package_files,
|
|
122
131
|
"manifest": manifest_check,
|
|
123
132
|
"completeness": completeness_check,
|
|
133
|
+
"authorityPaths": authority_check,
|
|
124
134
|
"lock": lock_check,
|
|
125
135
|
"acceptance": acceptance_check,
|
|
126
136
|
"references": references_check,
|
|
@@ -170,6 +180,7 @@ def build_package_audit(
|
|
|
170
180
|
"packageFiles": package_files,
|
|
171
181
|
"manifest": manifest_check,
|
|
172
182
|
"completeness": completeness_check,
|
|
183
|
+
"authorityPaths": authority_check,
|
|
173
184
|
"lock": lock_check,
|
|
174
185
|
"acceptance": acceptance_check,
|
|
175
186
|
"references": references_check,
|
|
@@ -219,6 +230,7 @@ def build_finding_check_adoption_audit(
|
|
|
219
230
|
def validate_package_audit(audit: dict[str, Any]) -> dict[str, Any]:
|
|
220
231
|
"""Validate the integrity and top-level semantics of a package receipt."""
|
|
221
232
|
|
|
233
|
+
require_review_text(audit)
|
|
222
234
|
blockers: list[dict[str, Any]] = []
|
|
223
235
|
if audit.get("schemaVersion") != PACKAGE_AUDIT_SCHEMA:
|
|
224
236
|
blockers.append({"code": "package-audit-schema", "message": "unsupported package audit schemaVersion"})
|
{agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/git.py
RENAMED
|
@@ -24,6 +24,7 @@ def changed_files(cwd: Path, *, base: str | None = None) -> list[str]:
|
|
|
24
24
|
"diff",
|
|
25
25
|
"--no-ext-diff",
|
|
26
26
|
"--no-textconv",
|
|
27
|
+
"--no-renames",
|
|
27
28
|
"--name-only",
|
|
28
29
|
"-z",
|
|
29
30
|
"--end-of-options",
|
|
@@ -36,13 +37,23 @@ def changed_files(cwd: Path, *, base: str | None = None) -> list[str]:
|
|
|
36
37
|
paths.update(
|
|
37
38
|
_git_paths(
|
|
38
39
|
cwd,
|
|
39
|
-
["git", "diff", "--no-ext-diff", "--no-textconv", "--name-only", "-z", "--"],
|
|
40
|
+
["git", "diff", "--no-ext-diff", "--no-textconv", "--no-renames", "--name-only", "-z", "--"],
|
|
40
41
|
)
|
|
41
42
|
)
|
|
42
43
|
paths.update(
|
|
43
44
|
_git_paths(
|
|
44
45
|
cwd,
|
|
45
|
-
[
|
|
46
|
+
[
|
|
47
|
+
"git",
|
|
48
|
+
"diff",
|
|
49
|
+
"--no-ext-diff",
|
|
50
|
+
"--no-textconv",
|
|
51
|
+
"--no-renames",
|
|
52
|
+
"--name-only",
|
|
53
|
+
"-z",
|
|
54
|
+
"--cached",
|
|
55
|
+
"--",
|
|
56
|
+
],
|
|
46
57
|
)
|
|
47
58
|
)
|
|
48
59
|
paths.update(_git_paths(cwd, ["git", "ls-files", "--others", "--exclude-standard", "-z"]))
|
{agent_lifecycle_kit-2.14.0 → agent_lifecycle_kit-2.15.0}/src/agent_lifecycle/changesets/snapshot.py
RENAMED
|
@@ -11,7 +11,11 @@ from typing import Any
|
|
|
11
11
|
|
|
12
12
|
from agent_lifecycle.changesets.git import GIT_TIMEOUT_SECONDS, changed_files, resolve_revision
|
|
13
13
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest
|
|
14
|
-
from agent_lifecycle.contracts.ownership_paths import
|
|
14
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
15
|
+
is_under_authority_path,
|
|
16
|
+
normalize_authority_path,
|
|
17
|
+
observed_authority_paths,
|
|
18
|
+
)
|
|
15
19
|
from agent_lifecycle.contracts.paths import normalize_repo_path, read_stable_repository_file
|
|
16
20
|
|
|
17
21
|
MAX_CHANGED_FILES = 10_000
|
|
@@ -38,7 +42,12 @@ def capture_task_change_set(
|
|
|
38
42
|
"changed file count exceeds the task snapshot limit",
|
|
39
43
|
{"count": len(all_changed), "maxFiles": MAX_CHANGED_FILES},
|
|
40
44
|
)
|
|
41
|
-
|
|
45
|
+
all_changed = observed_authority_paths(all_changed, operation_root=root)
|
|
46
|
+
scoped = [
|
|
47
|
+
path
|
|
48
|
+
for path in all_changed
|
|
49
|
+
if any(is_under_authority_path(path, prefix, operation_root=root) for prefix in authority)
|
|
50
|
+
]
|
|
42
51
|
transitions: list[dict[str, Any]] = []
|
|
43
52
|
current_entries: list[dict[str, Any]] = []
|
|
44
53
|
total_bytes = 0
|
|
@@ -6,7 +6,7 @@ from pathlib import Path
|
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
8
|
from agent_lifecycle.compiler.output_contract import build_output_contract, validate_output_contract
|
|
9
|
-
from agent_lifecycle.compiler.task_packets import compile_task_packets
|
|
9
|
+
from agent_lifecycle.compiler.task_packets import _write_idempotent, compile_task_packets
|
|
10
10
|
from agent_lifecycle.context import render_context
|
|
11
11
|
from agent_lifecycle.context.profiles import small_model_windows
|
|
12
12
|
from agent_lifecycle.contracts import (
|
|
@@ -16,6 +16,11 @@ from agent_lifecycle.contracts import (
|
|
|
16
16
|
is_under_repo_path,
|
|
17
17
|
read_json_object,
|
|
18
18
|
)
|
|
19
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
20
|
+
compiler_output_paths,
|
|
21
|
+
repository_authority_name,
|
|
22
|
+
require_output_footprint,
|
|
23
|
+
)
|
|
19
24
|
from agent_lifecycle.policy.adaptive_lifecycle import small_model_packet_eligibility
|
|
20
25
|
from agent_lifecycle.resources import builtin_profile_path
|
|
21
26
|
|
|
@@ -50,9 +55,12 @@ def compile_small_model_packets(
|
|
|
50
55
|
adaptive_decision: dict[str, Any] | None = None,
|
|
51
56
|
write: bool = False,
|
|
52
57
|
execution_strategy: dict[str, Any] | None = None,
|
|
58
|
+
repository_root: Path | None = None,
|
|
53
59
|
) -> dict[str, Any]:
|
|
54
60
|
"""Compile frozen task packets into bounded small-model packets."""
|
|
55
61
|
|
|
62
|
+
root = repository_root if repository_root is not None else Path.cwd()
|
|
63
|
+
manifest_path = root / repository_authority_name(root / manifest_path, root)
|
|
56
64
|
manifest = read_json_object(manifest_path, label="plan manifest")
|
|
57
65
|
profile = read_json_object(
|
|
58
66
|
context_profile_path or builtin_profile_path("small-context-profile.v1.json"),
|
|
@@ -68,8 +76,17 @@ def compile_small_model_packets(
|
|
|
68
76
|
manifest_path,
|
|
69
77
|
write=False,
|
|
70
78
|
execution_strategy=execution_strategy,
|
|
79
|
+
repository_root=root,
|
|
71
80
|
)
|
|
81
|
+
if canonical_digest(manifest) != compiled["index"]["manifestDigest"]:
|
|
82
|
+
raise LifecycleError("authority-input-changed", "plan manifest changed during compilation")
|
|
72
83
|
output_dir = out_dir or _default_output_dir(manifest)
|
|
84
|
+
require_output_footprint(
|
|
85
|
+
manifest,
|
|
86
|
+
compiler_output_paths(manifest, output_dir=output_dir, small=True),
|
|
87
|
+
repository_root=root,
|
|
88
|
+
manifest_path=manifest_path,
|
|
89
|
+
)
|
|
73
90
|
eligibility = (
|
|
74
91
|
small_model_packet_eligibility(adaptive_decision) if adaptive_decision is not None else _default_eligibility()
|
|
75
92
|
)
|
|
@@ -119,7 +136,7 @@ def compile_small_model_packets(
|
|
|
119
136
|
}
|
|
120
137
|
index = {**index_body, "indexDigest": canonical_digest(index_body)}
|
|
121
138
|
if write:
|
|
122
|
-
_write_packets(output_dir, packets, index)
|
|
139
|
+
_write_packets(output_dir, packets, index, repository_root=root)
|
|
123
140
|
body = {
|
|
124
141
|
"schemaVersion": SMALL_MODEL_COMPILE_RESULT_SCHEMA,
|
|
125
142
|
"status": index["status"],
|
|
@@ -312,20 +329,14 @@ def _default_output_dir(manifest: dict[str, Any]) -> Path:
|
|
|
312
329
|
return Path(artifact_root) / "workflow/small-model-packets"
|
|
313
330
|
|
|
314
331
|
|
|
315
|
-
def _write_packets(
|
|
332
|
+
def _write_packets(
|
|
333
|
+
output_dir: Path, packets: list[dict[str, Any]], index: dict[str, Any], *, repository_root: Path
|
|
334
|
+
) -> None:
|
|
316
335
|
for packet in packets:
|
|
317
|
-
_write_idempotent(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
def _write_idempotent(path: Path, payload: dict[str, Any]) -> None:
|
|
322
|
-
data = canonical_bytes(payload) + b"\n"
|
|
323
|
-
if path.exists():
|
|
324
|
-
if path.read_bytes() != data:
|
|
325
|
-
raise LifecycleError("output-conflict", f"output exists with different content: {path}")
|
|
326
|
-
return
|
|
327
|
-
path.parent.mkdir(parents=True, exist_ok=True)
|
|
328
|
-
path.write_bytes(data)
|
|
336
|
+
_write_idempotent(
|
|
337
|
+
output_dir / f"{packet['task']['id']}.small-model-packet.json", packet, repository_root=repository_root
|
|
338
|
+
)
|
|
339
|
+
_write_idempotent(output_dir / "index.json", index, repository_root=repository_root)
|
|
329
340
|
|
|
330
341
|
|
|
331
342
|
def _string_list(value: Any) -> list[str]:
|
|
@@ -11,6 +11,14 @@ from agent_lifecycle.contracts import (
|
|
|
11
11
|
canonical_digest,
|
|
12
12
|
read_json_object,
|
|
13
13
|
)
|
|
14
|
+
from agent_lifecycle.contracts.authority_io import create_authority_bytes, read_authority_bytes
|
|
15
|
+
from agent_lifecycle.contracts.authority_text import require_manifest_text
|
|
16
|
+
from agent_lifecycle.contracts.ownership_paths import (
|
|
17
|
+
compiler_output_paths,
|
|
18
|
+
repository_authority_name,
|
|
19
|
+
require_manifest_authority_paths,
|
|
20
|
+
require_output_footprint,
|
|
21
|
+
)
|
|
14
22
|
from agent_lifecycle.freeze import verify_plan_package_integrity
|
|
15
23
|
from agent_lifecycle.policy.execution_strategy import validate_execution_strategy
|
|
16
24
|
|
|
@@ -21,12 +29,22 @@ def compile_task_packets(
|
|
|
21
29
|
out_dir: Path | None = None,
|
|
22
30
|
write: bool = False,
|
|
23
31
|
execution_strategy: dict[str, Any] | None = None,
|
|
32
|
+
repository_root: Path | None = None,
|
|
24
33
|
) -> dict[str, Any]:
|
|
25
|
-
root = Path.cwd()
|
|
34
|
+
root = repository_root if repository_root is not None else Path.cwd()
|
|
35
|
+
manifest_path = root / repository_authority_name(root / manifest_path, root)
|
|
26
36
|
manifest = read_json_object(manifest_path, label="plan manifest")
|
|
37
|
+
require_manifest_text(manifest)
|
|
38
|
+
require_manifest_authority_paths(manifest, operation_root=root)
|
|
27
39
|
plan_digest = _verify_manifest(root, manifest)
|
|
28
40
|
_verify_execution_strategy(execution_strategy, plan_digest=plan_digest)
|
|
29
|
-
output_dir = out_dir or _default_output_dir(
|
|
41
|
+
output_dir = out_dir or _default_output_dir(manifest)
|
|
42
|
+
require_output_footprint(
|
|
43
|
+
manifest,
|
|
44
|
+
compiler_output_paths(manifest, output_dir=output_dir),
|
|
45
|
+
repository_root=root,
|
|
46
|
+
manifest_path=manifest_path,
|
|
47
|
+
)
|
|
30
48
|
packets = [
|
|
31
49
|
_packet(manifest, plan_digest, workstream, execution_strategy=execution_strategy)
|
|
32
50
|
for workstream in _workstreams(manifest)
|
|
@@ -34,7 +52,7 @@ def compile_task_packets(
|
|
|
34
52
|
packet_records = [_packet_record(output_dir, packet) for packet in packets]
|
|
35
53
|
index = _index(manifest, plan_digest, output_dir, packet_records)
|
|
36
54
|
if write:
|
|
37
|
-
_write_packets(output_dir, packets, index)
|
|
55
|
+
_write_packets(output_dir, packets, index, repository_root=root)
|
|
38
56
|
return {"index": index, "packets": packets}
|
|
39
57
|
|
|
40
58
|
|
|
@@ -51,7 +69,7 @@ def _verify_manifest(root: Path, manifest: dict[str, Any]) -> str:
|
|
|
51
69
|
return digest
|
|
52
70
|
|
|
53
71
|
|
|
54
|
-
def _default_output_dir(
|
|
72
|
+
def _default_output_dir(manifest: dict[str, Any]) -> Path:
|
|
55
73
|
artifact_root = manifest.get("package", {}).get("artifactRoot")
|
|
56
74
|
if not isinstance(artifact_root, str) or not artifact_root:
|
|
57
75
|
raise LifecycleError("invalid-plan-manifest", "package.artifactRoot is required")
|
|
@@ -99,7 +117,8 @@ def _verify_execution_strategy(strategy: dict[str, Any] | None, *, plan_digest:
|
|
|
99
117
|
validation = validate_execution_strategy(strategy)
|
|
100
118
|
if validation["status"] != "PASS":
|
|
101
119
|
raise LifecycleError("task-strategy-invalid", "execution strategy is invalid", {"validation": validation})
|
|
102
|
-
|
|
120
|
+
lineage_value = strategy.get("lineage")
|
|
121
|
+
lineage = lineage_value if isinstance(lineage_value, dict) else {}
|
|
103
122
|
if lineage.get("planDigest") != plan_digest:
|
|
104
123
|
raise LifecycleError("task-strategy-plan-mismatch", "execution strategy plan digest mismatch")
|
|
105
124
|
|
|
@@ -107,15 +126,22 @@ def _verify_execution_strategy(strategy: dict[str, Any] | None, *, plan_digest:
|
|
|
107
126
|
def _strategy_projection(strategy: dict[str, Any] | None, *, task_id: str) -> dict[str, Any] | None:
|
|
108
127
|
if strategy is None:
|
|
109
128
|
return None
|
|
110
|
-
|
|
129
|
+
lineage_value = strategy.get("lineage")
|
|
130
|
+
lineage = lineage_value if isinstance(lineage_value, dict) else {}
|
|
111
131
|
if lineage.get("taskId") != task_id:
|
|
112
132
|
return None
|
|
113
133
|
implementation = next(
|
|
114
|
-
(
|
|
134
|
+
(
|
|
135
|
+
item
|
|
136
|
+
for item in strategy.get("phaseRoutes", [])
|
|
137
|
+
if isinstance(item, dict) and item.get("phase") == "task-implementation"
|
|
138
|
+
),
|
|
115
139
|
{},
|
|
116
140
|
)
|
|
117
|
-
|
|
118
|
-
|
|
141
|
+
packet_value = strategy.get("packet")
|
|
142
|
+
packet = packet_value if isinstance(packet_value, dict) else {}
|
|
143
|
+
quality_value = strategy.get("quality")
|
|
144
|
+
quality = quality_value if isinstance(quality_value, dict) else {}
|
|
119
145
|
projection = {
|
|
120
146
|
"schemaVersion": strategy.get("schemaVersion"),
|
|
121
147
|
"strategyDigest": strategy.get("strategyDigest"),
|
|
@@ -264,17 +290,22 @@ def _write_packets(
|
|
|
264
290
|
output_dir: Path,
|
|
265
291
|
packets: list[dict[str, Any]],
|
|
266
292
|
index: dict[str, Any],
|
|
293
|
+
*,
|
|
294
|
+
repository_root: Path,
|
|
267
295
|
) -> None:
|
|
268
296
|
for packet in packets:
|
|
269
|
-
_write_idempotent(
|
|
270
|
-
|
|
297
|
+
_write_idempotent(
|
|
298
|
+
output_dir / f"{packet['task']['id']}.task-packet.json", packet, repository_root=repository_root
|
|
299
|
+
)
|
|
300
|
+
_write_idempotent(output_dir / "index.json", index, repository_root=repository_root)
|
|
271
301
|
|
|
272
302
|
|
|
273
|
-
def _write_idempotent(path: Path, payload: dict[str, Any]) -> None:
|
|
303
|
+
def _write_idempotent(path: Path, payload: dict[str, Any], *, repository_root: Path | None = None) -> None:
|
|
274
304
|
data = canonical_bytes(payload) + b"\n"
|
|
275
|
-
if
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
305
|
+
root = repository_root if repository_root is not None else Path.cwd()
|
|
306
|
+
path = root / repository_authority_name(root / path, root)
|
|
307
|
+
try:
|
|
308
|
+
create_authority_bytes(path, data, root=root)
|
|
309
|
+
except FileExistsError:
|
|
310
|
+
if read_authority_bytes(path, root=root, max_bytes=len(data)) != data:
|
|
311
|
+
raise LifecycleError("output-conflict", "output exists with different content") from None
|