agent-lifecycle-kit 2.18.0__tar.gz → 2.20.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 (514) hide show
  1. {agent_lifecycle_kit-2.18.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.20.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/snapshot.py +124 -24
  6. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_contracts.py +9 -2
  7. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +43 -4
  8. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_planning.py +53 -22
  9. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +14 -355
  10. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/parsers.py +5 -83
  11. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/cli/plan_lock_commands.py +306 -0
  12. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/planning_parsers.py +18 -0
  13. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/task_packets.py +97 -9
  14. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +44 -0
  15. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/display_identity.py +33 -0
  16. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/contracts/execution_target.py +206 -0
  17. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +78 -0
  18. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/schemas.py +69 -3
  19. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/change_summary.py +34 -0
  20. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/assignments.py +9 -0
  21. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/review_mesh/operator_templates.py +791 -0
  22. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/results.py +44 -3
  23. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/workflow/artifact_builders.py +164 -0
  24. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/continuation.py +14 -2
  25. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/continuation_batch.py +16 -0
  26. agent_lifecycle_kit-2.20.0/src/agent_lifecycle/workflow/initialization.py +510 -0
  27. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/next_action.py +75 -0
  28. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/operation_kernel.py +46 -1
  29. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/plan_adoption.py +104 -97
  30. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  31. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +4 -0
  32. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/cli/plan_lock_commands.py +0 -96
  33. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/review_mesh/operator_templates.py +0 -320
  34. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/workflow/initialization.py +0 -129
  35. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/LICENSE +0 -0
  36. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/NOTICE +0 -0
  37. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/README.md +0 -0
  38. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/manifest.json +0 -0
  39. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  40. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  41. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  42. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  43. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  44. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  45. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  46. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  47. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  48. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  49. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/setup.cfg +0 -0
  50. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/__init__.py +0 -0
  51. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/__main__.py +0 -0
  52. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  53. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  54. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  55. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  56. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  57. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  58. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  59. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  60. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  61. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  62. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  63. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  64. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  65. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  66. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  67. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  68. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  69. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
  70. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  71. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  72. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  73. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  74. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  75. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  76. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  77. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  78. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  79. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  80. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  81. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  82. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  83. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  84. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  85. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  86. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  87. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  88. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  89. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  90. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  91. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  92. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  93. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  94. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  95. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  96. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  97. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  98. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  99. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  100. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  101. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  102. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  103. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  104. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  105. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  106. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  107. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  108. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  109. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  110. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  111. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  112. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  113. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  114. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  115. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  116. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  117. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  118. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  119. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  120. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  121. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  122. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  123. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  124. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/delta.py +0 -0
  125. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  126. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  127. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  128. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  129. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/package.py +0 -0
  130. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  131. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  132. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  133. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  134. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  135. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  136. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  137. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  138. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  139. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  140. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  141. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  142. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  143. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  144. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/git.py +0 -0
  145. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
  146. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  147. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  148. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  149. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  150. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  151. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  152. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  153. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  154. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  155. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  156. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/errors.py +0 -0
  157. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/followup.py +0 -0
  158. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  159. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/main.py +0 -0
  160. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  161. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  162. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/policy.py +0 -0
  163. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  164. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/project.py +0 -0
  165. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/research.py +0 -0
  166. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/start.py +0 -0
  167. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  168. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  169. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  170. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  171. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  172. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  173. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  174. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/__init__.py +0 -0
  175. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  176. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  177. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  178. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  179. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/profiles.py +0 -0
  180. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/rendering.py +0 -0
  181. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  182. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  183. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  184. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  186. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  187. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  188. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  189. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  191. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  192. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  193. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  194. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  195. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  196. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  198. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  199. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  202. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  204. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  205. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  206. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
  208. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  209. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  212. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  214. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  215. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  216. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  217. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  218. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  219. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  220. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  221. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  222. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  223. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  224. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  225. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  226. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  227. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  228. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  229. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  230. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  231. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  232. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  233. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  234. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  235. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  236. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  237. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  240. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  241. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  242. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  243. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
  244. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  245. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  246. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  247. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  248. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  249. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  250. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  251. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  252. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  253. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  254. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  255. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  256. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  257. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  258. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  259. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  260. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  261. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  262. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  263. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  265. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  266. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  267. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  268. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  269. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  270. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  271. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  272. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  273. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  275. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  276. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  277. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  278. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  279. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  280. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  281. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  282. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  283. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  284. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  285. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  286. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  287. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  288. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  289. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/__init__.py +0 -0
  290. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  291. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  292. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  293. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  294. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  295. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  296. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  297. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  298. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  299. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  300. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  301. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  302. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  303. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  304. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  305. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  306. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  307. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  308. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  309. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/followup/records.py +0 -0
  310. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  311. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  312. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  313. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  314. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/records.py +0 -0
  315. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/goal/view.py +0 -0
  316. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  317. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  318. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  319. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  320. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  321. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  322. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  323. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  324. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  325. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  326. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  327. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  328. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  329. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  330. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  331. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  332. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  333. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  334. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  335. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  336. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  337. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  338. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  339. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
  340. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  341. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  342. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  343. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  344. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  345. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  346. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  347. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  348. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  349. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  350. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  351. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  352. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  353. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  354. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  355. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  356. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  357. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  358. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/planning.py +0 -0
  359. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  360. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  361. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  362. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  363. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  364. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  365. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  366. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  367. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  368. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  369. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  370. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  371. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  372. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  373. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  374. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  375. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  376. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  377. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  378. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  379. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  380. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  381. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  382. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  383. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  384. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  385. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  386. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  387. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  388. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  389. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  390. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  391. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  392. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  393. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  394. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  395. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  396. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  397. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  398. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  399. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  400. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  401. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  402. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
  403. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  404. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/templates.py +0 -0
  405. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  406. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  407. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/validation.py +0 -0
  408. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/planning/verification.py +0 -0
  409. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  410. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  411. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/apply.py +0 -0
  412. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  413. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  414. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  415. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  416. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  417. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  418. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/__init__.py +0 -0
  419. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  420. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/guidance.py +0 -0
  421. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/merge.py +0 -0
  422. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/presets.py +0 -0
  423. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/principles.py +0 -0
  424. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/project/profile.py +0 -0
  425. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/py.typed +0 -0
  426. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  427. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  428. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  429. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  430. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  431. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  432. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  433. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  434. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/packs.py +0 -0
  435. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  436. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  437. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  438. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  439. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  440. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  441. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  442. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  443. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  444. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  445. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  446. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  447. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  448. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/__init__.py +0 -0
  449. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/evidence.py +0 -0
  450. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/provenance.py +0 -0
  451. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/research/validation.py +0 -0
  452. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/resources.py +0 -0
  453. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/__init__.py +0 -0
  454. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/provenance.py +0 -0
  455. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review/validation.py +0 -0
  456. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  457. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  458. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  459. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  460. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  461. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  462. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  463. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  464. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/core.py +0 -0
  465. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  466. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  467. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  468. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  469. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  470. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/specification/validation.py +0 -0
  471. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  472. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  473. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  474. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  475. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  476. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  477. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  478. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  479. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  480. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  481. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  482. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  483. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  484. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/events.py +0 -0
  485. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  486. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  487. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  488. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
  489. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  490. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  491. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
  492. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  493. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  494. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  495. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/query.py +0 -0
  496. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  497. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  498. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  499. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/run.py +0 -0
  500. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  501. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  502. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  503. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  504. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/state.py +0 -0
  505. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  506. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  507. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  508. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
  509. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  510. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  511. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  512. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  513. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  514. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.20.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.18.0
3
+ Version: 2.20.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
@@ -41,9 +41,9 @@ and secret handling stay in adapters or host-local profiles.
41
41
  ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
42
42
 
43
43
  ## Quick start
44
- Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
44
+ Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
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.18.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
46
+ 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.20.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
 
@@ -19,9 +19,9 @@ and secret handling stay in adapters or host-local profiles.
19
19
  ALK provides a verifiable finish for external-agent work with proportionate control. It adds only the checks and evidence needed for the task; most of the time remains for research, implementation and product verification.
20
20
 
21
21
  ## Quick start
22
- Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
22
+ Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
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.18.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).
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.20.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.18.0"
7
+ version = "2.20.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.18.0"
3
+ __version__ = "2.20.0"
@@ -5,11 +5,13 @@ from __future__ import annotations
5
5
  import hashlib
6
6
  import os
7
7
  import stat
8
+ import time
9
+ from collections.abc import Iterator
8
10
  from pathlib import Path
9
11
  from typing import Any
10
12
 
11
13
  from agent_lifecycle.changesets.git import GIT_TIMEOUT_SECONDS, changed_files, resolve_revision
12
- from agent_lifecycle.changesets.git_io import run_bounded_command
14
+ from agent_lifecycle.changesets.git_io import BoundedProcess, run_bounded_command
13
15
  from agent_lifecycle.contracts import LifecycleError, canonical_digest
14
16
  from agent_lifecycle.contracts.ownership_paths import (
15
17
  is_under_authority_path,
@@ -51,9 +53,10 @@ def capture_task_change_set(
51
53
  transitions: list[dict[str, Any]] = []
52
54
  current_entries: list[dict[str, Any]] = []
53
55
  total_bytes = 0
56
+ baselines = _baseline_entries(root, baseline_sha, scoped)
54
57
  for path in scoped:
55
58
  normalized = normalize_repo_path(path, label="changed file")
56
- before = _baseline_entry(root, baseline_sha, normalized)
59
+ before = baselines[normalized]
57
60
  current = _current_entry(root, normalized)
58
61
  total_bytes += int(before.get("bytes", 0)) + int(current.get("bytes", 0))
59
62
  if total_bytes > MAX_TOTAL_BYTES:
@@ -121,32 +124,129 @@ def require_current_task_change_set(
121
124
 
122
125
 
123
126
  def _baseline_entry(root: Path, baseline_sha: str, path: str) -> dict[str, Any]:
124
- output = _git_bytes(
125
- root,
126
- ["git", "ls-tree", "-z", baseline_sha, "--", path],
127
- max_bytes=8192,
128
- label="baseline tree entry",
129
- )
130
- if not output:
131
- return {"kind": "missing", "mode": None, "sha256": None, "bytes": 0}
132
- rows = [row for row in output.split(b"\0") if row]
133
- if len(rows) != 1 or b"\t" not in rows[0]:
134
- raise LifecycleError("task-snapshot-git-shape", "Git returned an ambiguous baseline tree entry")
135
- metadata, raw_path = rows[0].split(b"\t", 1)
127
+ """Retain the established single-entry extension point over one batch."""
128
+ return _baseline_entries(root, baseline_sha, [path])[path]
129
+
130
+
131
+ def _path_batches(paths: list[str]) -> Iterator[list[str]]:
132
+ """Keep argv bounded on Windows as well as POSIX; no per-file worker."""
133
+ batch: list[str] = []
134
+ size = 0
135
+ for path in paths:
136
+ cost = len(path.encode("utf-8")) + 3
137
+ if batch and (len(batch) >= 128 or size + cost > 16_384):
138
+ yield batch
139
+ batch, size = [], 0
140
+ batch.append(path)
141
+ size += cost
142
+ if batch:
143
+ yield batch
144
+
145
+
146
+ def _baseline_entries(root: Path, baseline_sha: str, paths: list[str]) -> dict[str, dict[str, Any]]:
147
+ entries: dict[str, dict[str, Any]] = {
148
+ path: {"kind": "missing", "mode": None, "sha256": None, "bytes": 0} for path in paths
149
+ }
150
+ objects: dict[str, tuple[str, str, int]] = {}
151
+ for batch in _path_batches(paths):
152
+ output = _git_bytes(
153
+ root,
154
+ ["git", "ls-tree", "-l", "-z", baseline_sha, "--", *batch],
155
+ max_bytes=8192 * len(batch),
156
+ label="baseline tree entry",
157
+ )
158
+ for row in output.split(b"\0"):
159
+ if row:
160
+ path, metadata = _parse_baseline_row(root, row, set(batch))
161
+ if path in objects:
162
+ raise LifecycleError("task-snapshot-git-shape", "Git returned an ambiguous baseline tree entry")
163
+ objects[path] = metadata
164
+ if objects:
165
+ entries.update(_read_baseline_blobs(root, objects))
166
+ return entries
167
+
168
+
169
+ def _parse_baseline_row(root: Path, row: bytes, requested: set[str]) -> tuple[str, tuple[str, str, int]]:
136
170
  try:
137
- mode, object_type, object_id = metadata.decode("ascii").split(" ", 2)
138
- decoded_path = raw_path.decode("utf-8", errors="strict")
171
+ metadata, raw_path = row.split(b"\t", 1)
172
+ mode, object_type, object_id, raw_size = metadata.decode("ascii").split()
173
+ path = raw_path.decode("utf-8", errors="strict")
139
174
  except (UnicodeDecodeError, ValueError) as exc:
140
175
  raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline tree entry") from exc
141
- if decoded_path != path or object_type != "blob" or mode not in {"100644", "100755", "120000"}:
176
+ if path not in requested:
177
+ raise LifecycleError("task-snapshot-git-shape", "Git returned an ambiguous baseline tree entry")
178
+ if object_type != "blob" or mode not in {"100644", "100755", "120000"}:
142
179
  raise LifecycleError("task-snapshot-unsupported-entry", "baseline contains an unsupported task entry")
143
- data = _git_object_data(root, object_id)
144
- return {
145
- "kind": "symlink" if mode == "120000" else "file",
146
- "mode": mode,
147
- "sha256": hashlib.sha256(data).hexdigest(),
148
- "bytes": len(data),
149
- }
180
+ if len(object_id) not in (40, 64) or any(value not in "0123456789abcdef" for value in object_id):
181
+ raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline tree entry")
182
+ if raw_size == "BAD":
183
+ # Preserve the established typed missing-object failure. This early
184
+ # diagnostic stays within the complete-call process bound.
185
+ _git_object_data(root, object_id)
186
+ try:
187
+ size = int(raw_size)
188
+ except ValueError as exc:
189
+ raise LifecycleError("task-snapshot-git-shape", "Git returned an invalid baseline blob size") from exc
190
+ if size < 0 or size > MAX_GIT_OBJECT_BYTES:
191
+ raise LifecycleError(
192
+ "task-snapshot-byte-limit",
193
+ "baseline blob exceeds the snapshot file limit",
194
+ {"bytes": size, "maxBytes": MAX_GIT_OBJECT_BYTES},
195
+ )
196
+ return path, (mode, object_id, size)
197
+
198
+
199
+ def _read_baseline_blobs(root: Path, objects: dict[str, tuple[str, str, int]]) -> dict[str, dict[str, Any]]:
200
+ entries: dict[str, dict[str, Any]] = {}
201
+ try:
202
+ with BoundedProcess(
203
+ ["git", "cat-file", "--batch"],
204
+ cwd=root,
205
+ deadline=time.monotonic() + GIT_TIMEOUT_SECONDS,
206
+ max_stdout_bytes=MAX_TOTAL_BYTES + 257 * len(objects),
207
+ writable=True,
208
+ ) as transport:
209
+ for path, (mode, object_id, size) in objects.items():
210
+ transport.write_request(object_id.encode("ascii") + b"\n")
211
+ header = transport.stdout.readline(256)
212
+ expected = f"{object_id} blob {size}\n".encode("ascii")
213
+ if header != expected:
214
+ if not header and transport.wait() != 0:
215
+ raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed")
216
+ raise LifecycleError("task-snapshot-git-shape", "Git baseline blob size changed during snapshot")
217
+ digest = hashlib.sha256()
218
+ remaining = size
219
+ while remaining:
220
+ data = transport.stdout.read(min(65_536, remaining))
221
+ if not data:
222
+ raise LifecycleError(
223
+ "task-snapshot-git-shape", "Git baseline blob size changed during snapshot"
224
+ )
225
+ digest.update(data)
226
+ remaining -= len(data)
227
+ if transport.stdout.read(1) != b"\n":
228
+ raise LifecycleError("task-snapshot-git-shape", "Git baseline blob size changed during snapshot")
229
+ entries[path] = {
230
+ "kind": "symlink" if mode == "120000" else "file",
231
+ "mode": mode,
232
+ "sha256": digest.hexdigest(),
233
+ "bytes": size,
234
+ }
235
+ transport.write_request(None)
236
+ if transport.stdout.read_all():
237
+ raise LifecycleError("task-snapshot-git-shape", "Git returned trailing baseline blob data")
238
+ if transport.wait() != 0:
239
+ raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed")
240
+ except LifecycleError as exc:
241
+ if exc.code.startswith("bounded-process-"):
242
+ code = (
243
+ "task-snapshot-byte-limit" if exc.code == "bounded-process-output-limit" else "task-snapshot-git-failed"
244
+ )
245
+ raise LifecycleError(code, "baseline blob: Git transport failed closed") from exc
246
+ raise
247
+ except OSError as exc:
248
+ raise LifecycleError("task-snapshot-git-failed", "baseline blob: Git command failed") from exc
249
+ return entries
150
250
 
151
251
 
152
252
  def _current_entry(root: Path, path: str) -> dict[str, Any]:
@@ -85,7 +85,7 @@ def dispatch_contracts(args: argparse.Namespace) -> dict[str, Any]:
85
85
  return {"schemaVersion": "agent-lifecycle-version.v1", "version": __version__}
86
86
  if args.command == "schema":
87
87
  if args.schema_command == "list":
88
- return list_schemas()
88
+ return list_schemas(scope=args.scope)
89
89
  if args.schema_command == "show":
90
90
  return get_schema(args.schema_id)
91
91
  raise LifecycleError("command-not-implemented", "schema command is not implemented")
@@ -369,9 +369,16 @@ def _dispatch_review_mesh(args: argparse.Namespace) -> dict[str, Any]:
369
369
  blocking=args.blocking,
370
370
  evidence_ids=args.evidence_id,
371
371
  out_dir=Path(args.out_dir) if args.out_dir else None,
372
+ review_input=read_json_object(Path(args.review_input)) if args.review_input else None,
373
+ repository_root=Path(args.repository_root),
374
+ authority_manifest=read_json_object(Path(args.manifest)) if args.manifest else None,
375
+ summary_output=Path(args.out) if args.out else None,
372
376
  )
373
377
  if args.out:
374
- write_json_create(Path(args.out), payload)
378
+ output = Path(args.out)
379
+ if args.review_input and not output.is_absolute():
380
+ output = Path(args.repository_root) / output
381
+ write_json_create(output, payload)
375
382
  return payload
376
383
  if args.review_mesh_command == "assign":
377
384
  source = _review_mesh_source(args, code="review-mesh-assignment-source-missing", label="assignment")
@@ -20,6 +20,7 @@ from agent_lifecycle.contracts.phase_packet_schemas import (
20
20
  )
21
21
  from agent_lifecycle.freeze import verify_plan_lock
22
22
  from agent_lifecycle.quality import build_validation_selection
23
+ from agent_lifecycle.reporting.change_summary import build_digest_display_view
23
24
  from agent_lifecycle.workflow import (
24
25
  accept_task,
25
26
  adopt_plan,
@@ -48,6 +49,7 @@ from agent_lifecycle.workflow import (
48
49
  )
49
50
  from agent_lifecycle.workflow.artifacts import build_current_task_change_set
50
51
  from agent_lifecycle.workflow.closing_window import operator_claim_refusal
52
+ from agent_lifecycle.workflow.initialization import initialize_compiled_workflow, project_workflow_initialization
51
53
 
52
54
 
53
55
  def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
@@ -61,12 +63,19 @@ def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
61
63
 
62
64
  def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any]:
63
65
  if args.workflow_command == "init":
66
+ if getattr(args, "manifest", None) is not None:
67
+ return _initialize_from_manifest(args)
68
+ if any(
69
+ getattr(args, name, None)
70
+ for name in ("apply", "projected_target_digest", "operation_id", "source_revision", "packet_output_dir")
71
+ ):
72
+ raise LifecycleError("initialization-manifest-required", "Composition options require --manifest")
64
73
  return initialize_workflow_state(
65
74
  Path(args.state),
66
75
  run_id=args.run_id,
67
76
  package_id=args.package_id,
68
- package_root=args.package_root,
69
- event_log=args.event_log,
77
+ package_root=args.package_root if args.package_root is not None else ".",
78
+ event_log=args.event_log if args.event_log is not None else "events.jsonl",
70
79
  )
71
80
  if args.workflow_command == "state-migrate":
72
81
  return migrate_workflow_state(
@@ -113,7 +122,9 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
113
122
  return _dispatch_workflow_initialization(args)
114
123
  state_path = Path(args.state)
115
124
  if args.workflow_command == "status":
116
- return status(state_path, full=args.full)
125
+ payload = status(state_path, full=args.full)
126
+ prefix = getattr(args, "digest_prefix_length", None)
127
+ return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
117
128
  if args.workflow_command == "next":
118
129
  return next_action(status(state_path, full=True)["state"])
119
130
  if args.workflow_command == "validation-select":
@@ -502,7 +513,7 @@ def _task_phase_payload(
502
513
  evidence: list[dict[str, Any]],
503
514
  active_blockers: list[str],
504
515
  ) -> dict[str, Any]:
505
- common = {
516
+ common: dict[str, Any] = {
506
517
  "taskId": task_id,
507
518
  "attempt": attempt,
508
519
  "writes": writes,
@@ -631,6 +642,8 @@ def _require_args(args: argparse.Namespace, names: list[str], *, mode: str) -> N
631
642
  def _dispatch_workflow_continue(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
632
643
  batch_options = (args.input_bundle, args.max_transitions, args.max_io_bytes, args.resume_receipt)
633
644
  if not args.until_blocked:
645
+ if args.local_only:
646
+ raise LifecycleError("continuation-batch-option-conflict", "--local-only requires --until-blocked")
634
647
  if any(value is not None for value in batch_options):
635
648
  raise LifecycleError(
636
649
  "continuation-batch-option-conflict",
@@ -701,6 +714,32 @@ def _dispatch_workflow_continue(args: argparse.Namespace, state_path: Path) -> d
701
714
  source_revision=args.source_revision,
702
715
  reason=args.reason,
703
716
  resume_receipt_path=args.resume_receipt,
717
+ local_only=args.local_only,
718
+ )
719
+
720
+
721
+ def _initialize_from_manifest(args: argparse.Namespace) -> dict[str, Any]:
722
+ common = {
723
+ "manifest_path": Path(args.manifest),
724
+ "run_id": args.run_id,
725
+ "package_id": args.package_id,
726
+ "repository_root": Path.cwd(),
727
+ "package_root": args.package_root,
728
+ "event_log": args.event_log,
729
+ "output_dir": Path(args.packet_output_dir) if args.packet_output_dir is not None else None,
730
+ "source_revision": args.source_revision,
731
+ }
732
+ if not args.apply:
733
+ if args.projected_target_digest is not None:
734
+ raise LifecycleError("initialization-option-conflict", "--projected-target-digest requires --apply")
735
+ return project_workflow_initialization(Path(args.state), **common)
736
+ if not args.projected_target_digest or not args.operation_id:
737
+ raise LifecycleError("initialization-projection-required", "Apply requires target digest and operation ID")
738
+ return initialize_compiled_workflow(
739
+ Path(args.state),
740
+ **common,
741
+ projected_target_digest=args.projected_target_digest,
742
+ operation_id=args.operation_id,
704
743
  )
705
744
 
706
745
 
@@ -6,7 +6,7 @@ import argparse
6
6
  from pathlib import Path
7
7
  from typing import Any
8
8
 
9
- from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock
9
+ from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock, prepare_freeze_candidate
10
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,
@@ -46,6 +46,12 @@ from agent_lifecycle.specification import (
46
46
  build_completion_gate_receipt,
47
47
  validate_specification,
48
48
  )
49
+ from agent_lifecycle.workflow.artifact_builders import (
50
+ artifact_summary,
51
+ build_authored_artifact,
52
+ create_artifact,
53
+ inspect_artifact,
54
+ )
49
55
  from agent_lifecycle.workflow.artifacts import build_finding_check_evidence_artifact
50
56
 
51
57
 
@@ -96,6 +102,12 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
96
102
 
97
103
 
98
104
  def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
105
+ if args.plan_command == "freeze-prepare":
106
+ return prepare_freeze_candidate(
107
+ manifest_path=args.manifest,
108
+ output_path=args.out,
109
+ repository_root=Path(args.repository_root),
110
+ )
99
111
  if args.plan_command == "lock-create":
100
112
  return create_reviewed_plan_lock(
101
113
  manifest_path=args.manifest,
@@ -125,27 +137,7 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
125
137
  write_json_create(Path(args.out), payload)
126
138
  return payload
127
139
  if args.plan_command == "verify":
128
- manifest_path = Path(args.manifest)
129
- manifest, lock, acceptance_markdown, workflow_state, package_root = load_verification_inputs(
130
- manifest_path=manifest_path,
131
- lock_path=Path(args.lock) if args.lock else None,
132
- acceptance_path=Path(args.acceptance) if args.acceptance else None,
133
- state_path=Path(args.state) if args.state else None,
134
- package_root=Path(args.package_root) if args.package_root else None,
135
- )
136
- payload = build_plan_verification(
137
- manifest,
138
- manifest_path=manifest_path,
139
- lock=lock,
140
- acceptance_markdown=acceptance_markdown,
141
- workflow_state=workflow_state,
142
- repository_root=Path(args.repository_root),
143
- package_root=package_root,
144
- )
145
- output_path = args.out or args.evidence
146
- if output_path:
147
- write_json_create(Path(output_path), payload)
148
- return require_plan_verification_pass(payload)
140
+ return _verify_plan(args)
149
141
  if args.plan_command == "acceptance-check":
150
142
  manifest_path = Path(args.manifest)
151
143
  acceptance_path = Path(args.acceptance)
@@ -236,6 +228,33 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
236
228
  raise LifecycleError("command-not-implemented", "plan command is not implemented")
237
229
 
238
230
 
231
+ def _verify_plan(args: argparse.Namespace) -> dict[str, Any]:
232
+ if args.compact and not args.out:
233
+ raise LifecycleError("plan-compact-output-required", "Compact display requires --out for the full receipt")
234
+ manifest_path = Path(args.manifest)
235
+ manifest, lock, markdown, state, package_root = load_verification_inputs(
236
+ manifest_path=manifest_path,
237
+ lock_path=Path(args.lock) if args.lock else None,
238
+ acceptance_path=Path(args.acceptance) if args.acceptance else None,
239
+ state_path=Path(args.state) if args.state else None,
240
+ package_root=Path(args.package_root) if args.package_root else None,
241
+ )
242
+ payload = build_plan_verification(
243
+ manifest,
244
+ manifest_path=manifest_path,
245
+ lock=lock,
246
+ acceptance_markdown=markdown,
247
+ workflow_state=state,
248
+ repository_root=Path(args.repository_root),
249
+ package_root=package_root,
250
+ )
251
+ output_path = args.out or args.evidence
252
+ if output_path:
253
+ write_json_create(Path(output_path), payload)
254
+ require_plan_verification_pass(payload)
255
+ return artifact_summary(Path(output_path), payload) if args.compact else payload
256
+
257
+
239
258
  def _build_planning_handoff_phase_packet(
240
259
  manifest: dict[str, Any],
241
260
  lock: dict[str, Any],
@@ -385,6 +404,18 @@ def _dispatch_finding_check(args: argparse.Namespace) -> dict[str, Any]:
385
404
 
386
405
 
387
406
  def _dispatch_task(args: argparse.Namespace) -> dict[str, Any]:
407
+ if args.task_command == "artifact-create":
408
+ value = build_authored_artifact(
409
+ read_json_object(Path(args.input)),
410
+ kind=args.kind,
411
+ redact_advisory=args.redact_advisory,
412
+ state=read_json_object(Path(args.state)) if args.state else None,
413
+ task_id=args.task,
414
+ repository_root=Path(args.repository_root),
415
+ )
416
+ return create_artifact(Path(args.out), value)
417
+ if args.task_command == "artifact-inspect":
418
+ return inspect_artifact(Path(args.input), max_display_bytes=args.max_display_bytes)
388
419
  if args.task_command == "compile":
389
420
  execution_strategy = (
390
421
  read_json_object(Path(args.strategy), label="execution strategy") if args.strategy else None