agent-lifecycle-kit 2.10.0__tar.gz → 2.11.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.
Files changed (429) hide show
  1. {agent_lifecycle_kit-2.10.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.11.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +285 -5
  6. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_planning.py +119 -1
  7. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +15 -0
  8. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/planning_parsers.py +2 -0
  9. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/compiler/__init__.py +3 -0
  10. agent_lifecycle_kit-2.11.0/src/agent_lifecycle/compiler/phase_packets.py +474 -0
  11. agent_lifecycle_kit-2.11.0/src/agent_lifecycle/contracts/phase_packet_schemas.py +264 -0
  12. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/schemas.py +6 -6
  13. agent_lifecycle_kit-2.11.0/src/agent_lifecycle/contracts/validation_ladder_schemas.py +154 -0
  14. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/completeness.py +9 -0
  15. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/manifest_contract.py +53 -6
  16. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/__init__.py +22 -0
  17. agent_lifecycle_kit-2.11.0/src/agent_lifecycle/quality/validation_ladder.py +682 -0
  18. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/finalization.py +149 -64
  19. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  20. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +4 -0
  21. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/LICENSE +0 -0
  22. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/NOTICE +0 -0
  23. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/README.md +0 -0
  24. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/manifest.json +0 -0
  25. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  26. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  27. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  28. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  29. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  30. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  31. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  32. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  33. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  34. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  35. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/setup.cfg +0 -0
  36. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/__init__.py +0 -0
  37. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/__main__.py +0 -0
  38. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  39. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  40. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  41. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  42. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  43. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  44. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  45. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  46. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  47. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  48. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  49. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  50. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  51. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  52. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  53. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  54. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  55. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  56. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  57. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  58. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  59. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  60. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  61. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  62. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  63. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  64. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  65. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  66. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  67. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  68. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  69. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  70. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  71. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  72. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/package.py +0 -0
  73. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  74. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  75. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  76. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  77. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  78. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  79. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  80. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  81. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  82. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  83. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  84. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  85. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  86. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  87. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/changesets/git.py +0 -0
  88. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  89. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  90. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  91. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  92. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  93. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  94. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  95. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  96. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  97. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  98. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  99. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/errors.py +0 -0
  100. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/followup.py +0 -0
  101. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  102. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/main.py +0 -0
  103. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  104. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  105. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  106. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  107. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/policy.py +0 -0
  108. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  109. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/project.py +0 -0
  110. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/research.py +0 -0
  111. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/start.py +0 -0
  112. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  113. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  114. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  115. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  116. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  117. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/__init__.py +0 -0
  118. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  119. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  120. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  121. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  122. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/profiles.py +0 -0
  123. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/rendering.py +0 -0
  124. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  125. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  126. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  127. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  128. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  129. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  130. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  131. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  132. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  133. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  134. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  135. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  136. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  137. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  138. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  139. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  140. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  141. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  142. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  143. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  144. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  145. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  146. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  147. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  148. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  149. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  150. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  151. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  152. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  153. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  154. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  155. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  156. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  157. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  158. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  159. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  160. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  161. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  162. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  163. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  164. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  165. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  166. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  167. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  168. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  169. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  170. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  171. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  172. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  173. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  174. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  175. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  176. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  177. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  178. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  179. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  180. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  181. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  182. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  183. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  184. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  186. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  187. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  188. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  189. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  191. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  192. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  193. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  194. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  195. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  196. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  198. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  199. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  201. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  202. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  203. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  204. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  205. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  206. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  209. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  212. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/__init__.py +0 -0
  214. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  215. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  216. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  217. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  218. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  219. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  220. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  221. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  222. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  223. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  224. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  225. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  226. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  227. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  228. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  229. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  230. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  231. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  232. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  233. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/followup/records.py +0 -0
  234. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  235. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  236. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  237. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  238. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/goal/records.py +0 -0
  239. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/goal/view.py +0 -0
  240. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  241. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  242. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  243. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  244. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  245. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  246. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  247. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  248. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  249. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  250. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  251. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  252. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  253. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  254. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  255. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  256. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  257. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  258. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  259. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  260. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  261. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  262. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  263. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  264. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  265. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  266. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  267. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  268. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  269. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  270. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  271. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  272. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  273. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  274. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  275. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  276. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  277. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  278. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  279. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  280. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  281. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/planning.py +0 -0
  282. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  283. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  284. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  285. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  286. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  287. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  288. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  289. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  290. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  291. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  292. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  293. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  294. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  295. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  296. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  297. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  298. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  299. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  300. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  301. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  302. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  303. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  304. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  305. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  306. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  307. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  308. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  309. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  310. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  311. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  312. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  313. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  314. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  315. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  316. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  317. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  318. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  319. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  320. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  321. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  322. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  323. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/templates.py +0 -0
  324. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  325. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  326. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/validation.py +0 -0
  327. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/planning/verification.py +0 -0
  328. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  329. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  330. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/apply.py +0 -0
  331. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  332. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  333. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  334. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  335. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  336. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  337. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/__init__.py +0 -0
  338. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  339. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/guidance.py +0 -0
  340. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/merge.py +0 -0
  341. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/presets.py +0 -0
  342. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/principles.py +0 -0
  343. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/project/profile.py +0 -0
  344. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/py.typed +0 -0
  345. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  346. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  347. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  348. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  349. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  350. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  351. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/packs.py +0 -0
  352. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  353. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  354. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  355. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  356. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  357. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  358. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  359. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  360. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  361. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  362. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  363. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  364. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  365. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/research/__init__.py +0 -0
  366. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/research/evidence.py +0 -0
  367. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/research/provenance.py +0 -0
  368. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/research/validation.py +0 -0
  369. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/resources.py +0 -0
  370. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review/__init__.py +0 -0
  371. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review/validation.py +0 -0
  372. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  373. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  374. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  375. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  376. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  377. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  378. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  379. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  380. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  381. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  382. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/runner/core.py +0 -0
  383. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  384. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  385. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  386. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  387. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  388. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/specification/validation.py +0 -0
  389. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  390. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  391. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  392. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  393. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  394. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  395. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  396. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  397. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  398. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  399. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  400. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/events.py +0 -0
  401. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  402. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  403. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  404. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  405. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  406. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  407. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  408. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  409. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  410. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  411. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  412. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/query.py +0 -0
  413. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  414. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  415. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  416. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/run.py +0 -0
  417. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  418. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  419. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  420. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  421. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/state.py +0 -0
  422. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  423. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  424. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  425. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  426. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  427. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  428. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  429. {agent_lifecycle_kit-2.10.0 → agent_lifecycle_kit-2.11.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-lifecycle-kit
3
- Version: 2.10.0
3
+ Version: 2.11.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.10.0`, and common `agent-lifecycle version` errors.
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.11.0`, and common `agent-lifecycle version` errors.
47
47
 
48
48
  For a quick start, run:
49
49
 
@@ -69,7 +69,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
69
69
  - The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
70
70
  - Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
71
71
  - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
72
- - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), and cross session boundaries with the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md).
72
+ - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
73
73
  ## What it gives you
74
74
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
75
75
  - One process for different CLIs: adapter-specific commands stay outside the
@@ -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.10.0`, and common `agent-lifecycle version` errors.
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.11.0`, and common `agent-lifecycle version` errors.
25
25
 
26
26
  For a quick start, run:
27
27
 
@@ -47,7 +47,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
47
47
  - The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
48
48
  - Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
49
49
  - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
50
- - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), and cross session boundaries with the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md).
50
+ - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
51
51
  ## What it gives you
52
52
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
53
53
  - One process for different CLIs: adapter-specific commands stay outside the
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "2.10.0"
7
+ version = "2.11.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"
@@ -1,3 +1,3 @@
1
1
  """Package version."""
2
2
 
3
- __version__ = "2.10.0"
3
+ __version__ = "2.11.0"
@@ -21,7 +21,15 @@ from agent_lifecycle.cli.progress_hooks import (
21
21
  maybe_emit_workflow_progress_hook,
22
22
  validate_workflow_progress_hook_request,
23
23
  )
24
- from agent_lifecycle.contracts import LifecycleError, read_json_object, write_json_create
24
+ from agent_lifecycle.compiler import build_phase_packet
25
+ from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object, write_json_create
26
+ from agent_lifecycle.contracts.phase_packet_schemas import (
27
+ IMPLEMENTATION_PAYLOAD_SCHEMA,
28
+ REMEDIATION_PAYLOAD_SCHEMA,
29
+ TASK_AUDIT_PAYLOAD_SCHEMA,
30
+ )
31
+ from agent_lifecycle.freeze import verify_plan_lock
32
+ from agent_lifecycle.quality import build_validation_selection
25
33
  from agent_lifecycle.workflow import (
26
34
  accept_task,
27
35
  adopt_plan,
@@ -92,6 +100,8 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
92
100
  return status(state_path, full=args.full)
93
101
  if args.workflow_command == "next":
94
102
  return next_action(status(state_path, full=True)["state"])
103
+ if args.workflow_command == "validation-select":
104
+ return _dispatch_validation_select(args, state_path)
95
105
  if args.workflow_command == "run":
96
106
  validate_workflow_progress_hook_request(args, command="workflow run")
97
107
  payload = run_workflow_step(
@@ -184,6 +194,7 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
184
194
  follow_up_register_path=args.follow_up_register,
185
195
  completion_gate_receipt_path=args.completion_gate_receipt,
186
196
  final_implementation_audit_path=args.final_implementation_audit,
197
+ release_full_receipt_path=args.release_full_receipt,
187
198
  review_mesh_quorum_paths=args.review_mesh_quorum,
188
199
  reason=args.reason,
189
200
  )
@@ -194,10 +205,7 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
194
205
 
195
206
  def _dispatch_workflow_task(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
196
207
  if args.workflow_command == "task-snapshot":
197
- payload = build_current_task_change_set(state_path, task_id=args.task)
198
- if args.out:
199
- write_json_create(Path(args.out), payload)
200
- return payload
208
+ return _dispatch_task_snapshot(args, state_path)
201
209
  if args.workflow_command == "block":
202
210
  return block_run(
203
211
  state_path,
@@ -323,6 +331,278 @@ def _dispatch_workflow_task(args: argparse.Namespace, state_path: Path) -> dict[
323
331
  raise LifecycleError("command-not-implemented", "workflow command is not implemented")
324
332
 
325
333
 
334
+ def _dispatch_task_snapshot(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
335
+ packet_args = (args.manifest, args.lock, args.phase_packet_purpose, args.phase_packet_out)
336
+ packet_requested = any(value is not None for value in packet_args)
337
+ if packet_requested and not all(value is not None for value in packet_args):
338
+ raise LifecycleError(
339
+ "phase-packet-required-fact-missing",
340
+ "task snapshot phase packet requires --manifest, --lock, --phase-packet-purpose and --phase-packet-out",
341
+ )
342
+ state = read_json_object(state_path, label="workflow state") if packet_requested else None
343
+ task = _state_task(state, args.task) if isinstance(state, dict) else None
344
+ if args.phase_packet_purpose == "TASK_AUDIT" and isinstance(task, dict) and task.get("status") == "VERIFYING":
345
+ assert state is not None
346
+ payload = _result_bound_task_change_set(state, task)
347
+ else:
348
+ payload = build_current_task_change_set(state_path, task_id=args.task)
349
+ if args.out:
350
+ write_json_create(Path(args.out), payload)
351
+ if packet_requested:
352
+ assert state is not None
353
+ manifest = read_json_object(Path(args.manifest), label="plan manifest")
354
+ lock = read_json_object(Path(args.lock), label="plan lock")
355
+ verify_plan_lock(manifest, lock)
356
+ packet = _build_task_phase_packet(
357
+ manifest=manifest,
358
+ lock=lock,
359
+ state=state,
360
+ task_id=args.task,
361
+ purpose=args.phase_packet_purpose,
362
+ snapshot=payload,
363
+ )
364
+ write_json_create(Path(args.phase_packet_out), packet)
365
+ return payload
366
+
367
+
368
+ def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any]) -> dict[str, Any]:
369
+ evidence = task.get("resultChangeSetEvidence")
370
+ if not isinstance(evidence, dict):
371
+ raise LifecycleError("phase-packet-required-fact-missing", "task audit result change-set evidence is missing")
372
+ required = ("provider", "baselineSha", "fileSetHash", "diffHash", "snapshotHash")
373
+ if any(not isinstance(evidence.get(field), str) or not evidence[field] for field in required):
374
+ raise LifecycleError(
375
+ "phase-packet-required-fact-missing", "task audit result change-set evidence is incomplete"
376
+ )
377
+ return {
378
+ **evidence,
379
+ "runId": state.get("runId"),
380
+ "packageId": state.get("packageId"),
381
+ "taskId": task.get("id"),
382
+ "attempt": task.get("attempt"),
383
+ "planDigest": state.get("planDigest"),
384
+ "sourceRevision": state.get("sourceRevision"),
385
+ "readOnly": True,
386
+ "stateWritten": False,
387
+ "modelCallsStarted": False,
388
+ "productionPromotionClaimed": False,
389
+ "claim": {
390
+ "schemaVersion": "agent-task-change-set-claim.v1",
391
+ **{key: evidence[key] for key in required},
392
+ },
393
+ }
394
+
395
+
396
+ def _dispatch_validation_select(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
397
+ state = read_json_object(state_path, label="workflow state")
398
+ task = _state_task(state, args.task)
399
+ snapshot = read_json_object(Path(args.snapshot), label="task snapshot")
400
+ if snapshot.get("taskId") != task.get("id"):
401
+ raise LifecycleError("task-snapshot-lineage-mismatch", "task snapshot does not match the requested task")
402
+ payload = build_validation_selection(
403
+ manifest=read_json_object(Path(args.manifest), label="plan manifest"),
404
+ lock=read_json_object(Path(args.lock), label="plan lock"),
405
+ state=state,
406
+ snapshot=snapshot,
407
+ repository_root=Path.cwd(),
408
+ )
409
+ if args.out:
410
+ write_json_create(Path(args.out), payload)
411
+ return payload
412
+
413
+
414
+ def _build_task_phase_packet(
415
+ *,
416
+ manifest: dict[str, Any],
417
+ lock: dict[str, Any],
418
+ state: dict[str, Any],
419
+ task_id: str,
420
+ purpose: str,
421
+ snapshot: dict[str, Any],
422
+ ) -> dict[str, Any]:
423
+ task = _state_task(state, task_id)
424
+ workstream = _manifest_workstream(manifest, task_id)
425
+ plan_digest = canonical_digest(manifest)
426
+ if state.get("planDigest") != plan_digest:
427
+ raise LifecycleError("phase-packet-required-fact-missing", "workflow state plan lineage is stale")
428
+ attempt = task.get("attempt")
429
+ if not isinstance(attempt, int) or isinstance(attempt, bool) or attempt < 1:
430
+ raise LifecycleError("phase-packet-required-fact-missing", "task attempt is required")
431
+ writes = _task_scope(manifest, workstream, task, "writes")
432
+ read_only = _task_scope(manifest, workstream, task, "readOnly")
433
+ forbidden = _task_scope(manifest, workstream, task, "forbiddenWrites")
434
+ acceptance = _task_acceptance(manifest, workstream)
435
+ evidence = _task_evidence(workstream)
436
+ active_blockers = _task_active_blockers(state, task)
437
+ payload = _task_phase_payload(
438
+ purpose=purpose,
439
+ manifest=manifest,
440
+ task=task,
441
+ task_id=task_id,
442
+ attempt=attempt,
443
+ snapshot=snapshot,
444
+ writes=writes,
445
+ read_only=read_only,
446
+ forbidden=forbidden,
447
+ acceptance=acceptance,
448
+ evidence=evidence,
449
+ active_blockers=active_blockers,
450
+ )
451
+ state_revision = state.get("stateRevision")
452
+ source_revision = state.get("sourceRevision")
453
+ if not isinstance(state_revision, int) or isinstance(state_revision, bool) or state_revision < 1:
454
+ raise LifecycleError("phase-packet-required-fact-missing", "workflow state revision is required")
455
+ if not isinstance(source_revision, str) or not source_revision:
456
+ raise LifecycleError("phase-packet-required-fact-missing", "workflow source revision is required")
457
+ return build_phase_packet(
458
+ purpose=purpose,
459
+ payload=payload,
460
+ plan_digest=plan_digest,
461
+ plan_lock_digest=canonical_digest(lock),
462
+ state_revision=state_revision,
463
+ source_revision=source_revision,
464
+ write_scope_digest=canonical_digest({"writes": writes, "readOnly": read_only, "forbiddenWrites": forbidden}),
465
+ acceptance_digest=canonical_digest(acceptance),
466
+ evidence_digest=canonical_digest(evidence),
467
+ active_blocker_ids=active_blockers,
468
+ )
469
+
470
+
471
+ def _task_phase_payload(
472
+ *,
473
+ purpose: str,
474
+ manifest: dict[str, Any],
475
+ task: dict[str, Any],
476
+ task_id: str,
477
+ attempt: int,
478
+ snapshot: dict[str, Any],
479
+ writes: list[str],
480
+ read_only: list[str],
481
+ forbidden: list[str],
482
+ acceptance: list[dict[str, Any]],
483
+ evidence: list[dict[str, Any]],
484
+ active_blockers: list[str],
485
+ ) -> dict[str, Any]:
486
+ common = {
487
+ "taskId": task_id,
488
+ "attempt": attempt,
489
+ "writes": writes,
490
+ "readOnly": read_only,
491
+ "forbiddenWrites": forbidden,
492
+ "acceptanceCriteria": acceptance,
493
+ "activeBlockerIds": active_blockers,
494
+ }
495
+ if purpose == "IMPLEMENTATION":
496
+ packet = task.get("packet")
497
+ task_packet_digest = packet.get("sha256") if isinstance(packet, dict) else None
498
+ return {
499
+ "schemaVersion": IMPLEMENTATION_PAYLOAD_SCHEMA,
500
+ **common,
501
+ "taskPacketDigest": task_packet_digest,
502
+ "evidenceRequirements": evidence,
503
+ }
504
+ changed_paths = _task_strings(snapshot.get("changedFiles"))
505
+ if purpose == "TASK_AUDIT":
506
+ result = task.get("result")
507
+ result_digest = result.get("sha256") if isinstance(result, dict) else None
508
+ return {
509
+ "schemaVersion": TASK_AUDIT_PAYLOAD_SCHEMA,
510
+ **common,
511
+ "resultDigest": result_digest,
512
+ "changeSetDigest": snapshot.get("snapshotHash"),
513
+ "changedPaths": changed_paths,
514
+ "reviewRequirements": {
515
+ "independentRequired": True,
516
+ "minimumVerdict": "ACCEPTED",
517
+ "requiredReviewerIds": _required_reviewer_ids(task),
518
+ },
519
+ "evidenceReferences": [item["id"] for item in evidence],
520
+ }
521
+ if purpose != "REMEDIATION":
522
+ raise LifecycleError("phase-packet-required-fact-missing", "phase packet purpose is unsupported")
523
+ history = task.get("attemptHistory")
524
+ prior = history[-1] if isinstance(history, list) and history and isinstance(history[-1], dict) else None
525
+ prior_result = prior.get("result") if isinstance(prior, dict) else None
526
+ prior_review = prior.get("review") if isinstance(prior, dict) else None
527
+ return {
528
+ "schemaVersion": REMEDIATION_PAYLOAD_SCHEMA,
529
+ **common,
530
+ "priorResultDigest": prior_result.get("sha256") if isinstance(prior_result, dict) else None,
531
+ "priorReviewDigest": prior_review.get("sha256") if isinstance(prior_review, dict) else None,
532
+ "changedPaths": changed_paths,
533
+ "openFindingIds": _task_strings(task.get("remediationFindingIds")),
534
+ "remainingAttempts": max(1, _max_task_attempts(manifest) - attempt + 1),
535
+ "evidenceRequirements": evidence,
536
+ }
537
+
538
+
539
+ def _state_task(state: dict[str, Any], task_id: str) -> dict[str, Any]:
540
+ tasks = state.get("tasks")
541
+ if isinstance(tasks, list):
542
+ for task in tasks:
543
+ if isinstance(task, dict) and task.get("id") == task_id:
544
+ return task
545
+ raise LifecycleError("task-not-found", "workflow task does not exist", {"taskId": task_id})
546
+
547
+
548
+ def _manifest_workstream(manifest: dict[str, Any], task_id: str) -> dict[str, Any]:
549
+ workstreams = manifest.get("workstreams")
550
+ if isinstance(workstreams, list):
551
+ for workstream in workstreams:
552
+ if isinstance(workstream, dict) and workstream.get("id") == task_id:
553
+ return workstream
554
+ raise LifecycleError("phase-packet-required-fact-missing", "manifest workstream is missing", {"taskId": task_id})
555
+
556
+
557
+ def _task_acceptance(manifest: dict[str, Any], workstream: dict[str, Any]) -> list[dict[str, Any]]:
558
+ acceptance = manifest.get("acceptance")
559
+ criteria = acceptance.get("criteria") if isinstance(acceptance, dict) else []
560
+ criteria = criteria if isinstance(criteria, list) else []
561
+ by_id = {item.get("id"): item for item in criteria if isinstance(item, dict) and isinstance(item.get("id"), str)}
562
+ return [dict(by_id.get(item, {"id": item})) for item in _task_strings(workstream.get("acceptanceIds"))]
563
+
564
+
565
+ def _task_evidence(workstream: dict[str, Any]) -> list[dict[str, Any]]:
566
+ return [{"id": item, "required": True} for item in _task_strings(workstream.get("evidenceIds"))]
567
+
568
+
569
+ def _task_scope(manifest: dict[str, Any], workstream: dict[str, Any], task: dict[str, Any], field: str) -> list[str]:
570
+ return sorted(
571
+ set(_task_strings(manifest.get(field)) + _task_strings(workstream.get(field)) + _task_strings(task.get(field)))
572
+ )
573
+
574
+
575
+ def _task_active_blockers(state: dict[str, Any], task: dict[str, Any]) -> list[str]:
576
+ blockers = _task_strings(task.get("remediationFindingIds"))
577
+ blocker = state.get("blocker")
578
+ if isinstance(blocker, dict):
579
+ value = blocker.get("id") or blocker.get("code")
580
+ if isinstance(value, str) and value:
581
+ blockers.append(value)
582
+ return sorted(set(blockers))
583
+
584
+
585
+ def _required_reviewer_ids(task: dict[str, Any]) -> list[str]:
586
+ reviewer = task.get("reviewer")
587
+ if isinstance(reviewer, str) and reviewer:
588
+ return [reviewer]
589
+ if isinstance(reviewer, dict) and isinstance(reviewer.get("id"), str) and reviewer["id"]:
590
+ return [reviewer["id"]]
591
+ return []
592
+
593
+
594
+ def _max_task_attempts(manifest: dict[str, Any]) -> int:
595
+ orchestration = manifest.get("orchestration")
596
+ value = orchestration.get("maxTaskAttempts") if isinstance(orchestration, dict) else None
597
+ return value if isinstance(value, int) and not isinstance(value, bool) and value > 0 else 1
598
+
599
+
600
+ def _task_strings(value: Any) -> list[str]:
601
+ if not isinstance(value, list):
602
+ return []
603
+ return sorted({item for item in value if isinstance(item, str) and item})
604
+
605
+
326
606
  def _require_args(args: argparse.Namespace, names: list[str], *, mode: str) -> None:
327
607
  missing = [name.replace("_", "-") for name in names if not getattr(args, name, None)]
328
608
  if missing:
@@ -7,9 +7,10 @@ from pathlib import Path
7
7
  from typing import Any
8
8
 
9
9
  from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock
10
- from agent_lifecycle.compiler import compile_small_model_packets, compile_task_packets
10
+ from agent_lifecycle.compiler import build_phase_packet, compile_small_model_packets, compile_task_packets
11
11
  from agent_lifecycle.contracts import (
12
12
  LifecycleError,
13
+ canonical_digest,
13
14
  read_json_object,
14
15
  write_json_create,
15
16
  )
@@ -18,6 +19,7 @@ from agent_lifecycle.contracts.finding_check_schemas import (
18
19
  validate_finding_check_evidence,
19
20
  validate_finding_check_proposal,
20
21
  )
22
+ from agent_lifecycle.contracts.phase_packet_schemas import PLANNING_HANDOFF_PAYLOAD_SCHEMA
21
23
  from agent_lifecycle.freeze import verify_plan_lock
22
24
  from agent_lifecycle.planning import (
23
25
  build_plan_delta,
@@ -181,6 +183,25 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
181
183
  )
182
184
  if args.out:
183
185
  write_json_create(Path(args.out), payload)
186
+ if args.phase_packet_out:
187
+ if not args.snapshot or not args.lock:
188
+ raise LifecycleError(
189
+ "phase-packet-required-fact-missing",
190
+ "plan handoff phase packet requires --snapshot and --lock",
191
+ )
192
+ lock = read_json_object(Path(args.lock), label="plan lock")
193
+ verify_plan_lock(manifest, lock)
194
+ packet = _build_planning_handoff_phase_packet(
195
+ manifest,
196
+ lock,
197
+ handoff_snapshot,
198
+ selected_workstream_ids=[
199
+ item["id"]
200
+ for item in payload.get("workstreams", [])
201
+ if isinstance(item, dict) and isinstance(item.get("id"), str)
202
+ ],
203
+ )
204
+ write_json_create(Path(args.phase_packet_out), packet)
184
205
  return payload
185
206
  if args.plan_command == "delta":
186
207
 
@@ -215,6 +236,103 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
215
236
  raise LifecycleError("command-not-implemented", "plan command is not implemented")
216
237
 
217
238
 
239
+ def _build_planning_handoff_phase_packet(
240
+ manifest: dict[str, Any],
241
+ lock: dict[str, Any],
242
+ snapshot: dict[str, Any] | None,
243
+ *,
244
+ selected_workstream_ids: list[str],
245
+ ) -> dict[str, Any]:
246
+ if not isinstance(snapshot, dict):
247
+ raise LifecycleError("phase-packet-required-fact-missing", "plan handoff snapshot is required")
248
+ all_workstreams = [item for item in manifest.get("workstreams", []) if isinstance(item, dict)]
249
+ by_id = {item.get("id"): item for item in all_workstreams if isinstance(item.get("id"), str)}
250
+ selected: list[dict[str, Any]] = []
251
+ for workstream_id in selected_workstream_ids:
252
+ workstream = by_id.get(workstream_id)
253
+ if not isinstance(workstream, dict):
254
+ raise LifecycleError(
255
+ "phase-packet-required-fact-missing",
256
+ "plan handoff selected an unknown workstream",
257
+ {"workstreamId": workstream_id},
258
+ )
259
+ acceptance = _phase_acceptance(manifest, workstream)
260
+ evidence = _phase_evidence(workstream)
261
+ selected.append(
262
+ {
263
+ "id": workstream_id,
264
+ "dependsOn": _string_list(workstream.get("dependsOn")),
265
+ "writes": _string_list(workstream.get("writes")),
266
+ "readOnly": _scope_list(manifest, workstream, "readOnly"),
267
+ "forbiddenWrites": _scope_list(manifest, workstream, "forbiddenWrites"),
268
+ "acceptanceCriteria": acceptance,
269
+ "evidenceRequirements": evidence,
270
+ "activeBlockerIds": _string_list(workstream.get("activeBlockerIds")),
271
+ }
272
+ )
273
+ payload = {
274
+ "schemaVersion": PLANNING_HANDOFF_PAYLOAD_SCHEMA,
275
+ "workstreams": selected,
276
+ "dependencyEdges": [
277
+ {"from": dependency, "to": item["id"]} for item in selected for dependency in item["dependsOn"]
278
+ ],
279
+ }
280
+ base_revision = manifest.get("baseRevision")
281
+ source_revision = None
282
+ if isinstance(base_revision, dict):
283
+ source_revision = base_revision.get("sha") or base_revision.get("ref")
284
+ if not isinstance(source_revision, str) or not source_revision:
285
+ source_revision = snapshot.get("sourceDigest")
286
+ if not isinstance(source_revision, str) or not source_revision:
287
+ raise LifecycleError("phase-packet-required-fact-missing", "plan handoff source revision is required")
288
+ acceptance = [criterion for item in selected for criterion in item["acceptanceCriteria"]]
289
+ evidence = [requirement for item in selected for requirement in item["evidenceRequirements"]]
290
+ blockers = [blocker for item in selected for blocker in item["activeBlockerIds"]]
291
+ scopes = [
292
+ {
293
+ "id": item["id"],
294
+ "writes": item["writes"],
295
+ "readOnly": item["readOnly"],
296
+ "forbiddenWrites": item["forbiddenWrites"],
297
+ }
298
+ for item in selected
299
+ ]
300
+ return build_phase_packet(
301
+ purpose="PLANNING_HANDOFF",
302
+ payload=payload,
303
+ plan_digest=canonical_digest(manifest),
304
+ plan_lock_digest=canonical_digest(lock),
305
+ state_revision=None,
306
+ source_revision=source_revision,
307
+ write_scope_digest=canonical_digest(scopes),
308
+ acceptance_digest=canonical_digest(acceptance),
309
+ evidence_digest=canonical_digest(evidence),
310
+ active_blocker_ids=blockers,
311
+ )
312
+
313
+
314
+ def _phase_acceptance(manifest: dict[str, Any], workstream: dict[str, Any]) -> list[dict[str, Any]]:
315
+ acceptance = manifest.get("acceptance")
316
+ criteria = acceptance.get("criteria") if isinstance(acceptance, dict) else []
317
+ criteria = criteria if isinstance(criteria, list) else []
318
+ by_id = {item.get("id"): item for item in criteria if isinstance(item, dict) and isinstance(item.get("id"), str)}
319
+ return [dict(by_id.get(item, {"id": item})) for item in _string_list(workstream.get("acceptanceIds"))]
320
+
321
+
322
+ def _phase_evidence(workstream: dict[str, Any]) -> list[dict[str, Any]]:
323
+ return [{"id": item, "required": True} for item in _string_list(workstream.get("evidenceIds"))]
324
+
325
+
326
+ def _scope_list(manifest: dict[str, Any], workstream: dict[str, Any], field: str) -> list[str]:
327
+ return sorted(set(_string_list(manifest.get(field)) + _string_list(workstream.get(field))))
328
+
329
+
330
+ def _string_list(value: Any) -> list[str]:
331
+ if not isinstance(value, list):
332
+ return []
333
+ return sorted({item for item in value if isinstance(item, str) and item})
334
+
335
+
218
336
  def _dispatch_finding_check(args: argparse.Namespace) -> dict[str, Any]:
219
337
  def read(path: str, label: str) -> dict[str, Any]:
220
338
  return read_json_object(Path(path), label=label)
@@ -680,6 +680,20 @@ def _add_workflow_task_parsers(
680
680
  workflow_snapshot.add_argument("--state", required=True)
681
681
  workflow_snapshot.add_argument("--task", required=True)
682
682
  workflow_snapshot.add_argument("--out")
683
+ workflow_snapshot.add_argument("--manifest")
684
+ workflow_snapshot.add_argument("--lock")
685
+ workflow_snapshot.add_argument(
686
+ "--phase-packet-purpose",
687
+ choices=["IMPLEMENTATION", "TASK_AUDIT", "REMEDIATION"],
688
+ )
689
+ workflow_snapshot.add_argument("--phase-packet-out")
690
+ validation_select = workflow_sub.add_parser("validation-select")
691
+ validation_select.add_argument("--state", required=True)
692
+ validation_select.add_argument("--task", required=True)
693
+ validation_select.add_argument("--manifest", required=True)
694
+ validation_select.add_argument("--lock", required=True)
695
+ validation_select.add_argument("--snapshot", required=True)
696
+ validation_select.add_argument("--out")
683
697
  workflow_budget = workflow_sub.add_parser("budget-decision")
684
698
  workflow_budget.add_argument("--state", required=True)
685
699
  workflow_budget.add_argument("--task", required=True)
@@ -764,6 +778,7 @@ def _add_workflow_review_parsers(
764
778
  workflow_finalize.add_argument("--follow-up-register")
765
779
  workflow_finalize.add_argument("--completion-gate-receipt")
766
780
  workflow_finalize.add_argument("--final-implementation-audit")
781
+ workflow_finalize.add_argument("--release-full-receipt")
767
782
  workflow_finalize.add_argument("--review-mesh-quorum", action="append", default=[])
768
783
  workflow_finalize.add_argument("--reason", required=True)
769
784
  add_progress_hook_args(workflow_finalize)
@@ -51,6 +51,8 @@ def _add_plan_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentPar
51
51
  handoff = plan_sub.add_parser("handoff")
52
52
  handoff.add_argument("--manifest", required=True)
53
53
  handoff.add_argument("--snapshot")
54
+ handoff.add_argument("--lock")
55
+ handoff.add_argument("--phase-packet-out")
54
56
  handoff.add_argument("--max-workstreams", type=int, default=12)
55
57
  handoff.add_argument("--target-tokens", type=int, default=4096)
56
58
  handoff.add_argument("--out")
@@ -1,6 +1,7 @@
1
1
  """Frozen plan to task packet compiler."""
2
2
 
3
3
  from agent_lifecycle.compiler.output_contract import build_output_contract, validate_output_contract
4
+ from agent_lifecycle.compiler.phase_packets import build_phase_packet, validate_phase_packet
4
5
  from agent_lifecycle.compiler.small_model_packets import (
5
6
  build_small_model_output_contract,
6
7
  build_small_model_packet,
@@ -11,10 +12,12 @@ from agent_lifecycle.compiler.task_packets import compile_task_packets
11
12
 
12
13
  __all__ = [
13
14
  "build_output_contract",
15
+ "build_phase_packet",
14
16
  "build_small_model_output_contract",
15
17
  "build_small_model_packet",
16
18
  "compile_small_model_packets",
17
19
  "compile_task_packets",
18
20
  "validate_output_contract",
21
+ "validate_phase_packet",
19
22
  "validate_small_model_output",
20
23
  ]