agent-lifecycle-kit 2.18.0__tar.gz → 2.19.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 (511) hide show
  1. {agent_lifecycle_kit-2.18.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.19.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_contracts.py +9 -2
  6. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_planning.py +53 -22
  7. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +4 -1
  8. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/parsers.py +5 -83
  9. agent_lifecycle_kit-2.19.0/src/agent_lifecycle/cli/plan_lock_commands.py +306 -0
  10. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/planning_parsers.py +18 -0
  11. agent_lifecycle_kit-2.19.0/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +44 -0
  12. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +78 -0
  13. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/schemas.py +69 -3
  14. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/assignments.py +9 -0
  15. agent_lifecycle_kit-2.19.0/src/agent_lifecycle/review_mesh/operator_templates.py +791 -0
  16. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/results.py +44 -3
  17. agent_lifecycle_kit-2.19.0/src/agent_lifecycle/workflow/artifact_builders.py +164 -0
  18. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  19. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +2 -0
  20. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/cli/plan_lock_commands.py +0 -96
  21. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/review_mesh/operator_templates.py +0 -320
  22. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/LICENSE +0 -0
  23. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/NOTICE +0 -0
  24. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/README.md +0 -0
  25. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/manifest.json +0 -0
  26. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  27. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  28. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  29. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  30. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  31. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  32. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  33. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  34. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  35. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  36. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/setup.cfg +0 -0
  37. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/__init__.py +0 -0
  38. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/__main__.py +0 -0
  39. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  40. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  41. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  42. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  43. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  44. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  45. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  46. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  47. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  48. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  49. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  50. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  51. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  52. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  53. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  54. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  55. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  56. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
  57. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  58. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  59. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  60. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  61. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  62. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  63. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  64. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  65. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  66. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  67. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  68. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  69. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  70. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  71. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  72. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  73. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  74. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  75. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  76. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  77. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  78. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  79. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  80. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  81. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  82. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  83. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  84. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  85. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  86. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  87. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  88. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  89. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  90. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  91. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  92. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  93. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  94. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  95. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  96. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  97. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  98. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  99. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  100. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  101. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  102. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  103. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  104. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  105. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  106. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  107. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  108. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  109. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  110. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  111. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/delta.py +0 -0
  112. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  113. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  114. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  115. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  116. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/package.py +0 -0
  117. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  118. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  119. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  120. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  121. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  122. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  123. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  124. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  125. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  126. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  127. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  128. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  129. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  130. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  131. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/changesets/git.py +0 -0
  132. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
  133. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  134. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  135. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  136. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  137. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  138. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  139. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  140. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  141. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  142. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  143. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  144. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  145. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/errors.py +0 -0
  146. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/followup.py +0 -0
  147. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  148. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/main.py +0 -0
  149. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  150. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  151. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/policy.py +0 -0
  152. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  153. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/project.py +0 -0
  154. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/research.py +0 -0
  155. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/start.py +0 -0
  156. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  157. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  158. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  159. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  160. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  161. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  162. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  163. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  164. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/__init__.py +0 -0
  165. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  166. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  167. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  168. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  169. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/profiles.py +0 -0
  170. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/rendering.py +0 -0
  171. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  172. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  173. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  174. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  175. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  176. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  177. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  178. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  179. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  180. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  181. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  182. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  183. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  184. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  186. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  187. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  188. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  189. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  191. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  192. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  193. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  194. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  195. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  196. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
  198. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  199. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  202. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  204. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  205. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  206. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  209. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  212. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  214. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  215. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  216. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  217. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  218. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  220. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  221. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  222. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  223. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  224. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  225. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  226. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  227. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  228. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  229. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  230. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  231. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  232. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  233. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
  234. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  235. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  236. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  237. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  240. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  241. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  242. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  243. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  244. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  245. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  246. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  247. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  248. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  249. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  250. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  251. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  252. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  253. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  254. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  255. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  256. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  257. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  258. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  259. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  260. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  261. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  262. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  263. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  265. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  266. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  267. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  268. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  269. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  270. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  271. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  272. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  273. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  275. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  276. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  277. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  278. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  279. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/__init__.py +0 -0
  280. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  281. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  282. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  283. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  284. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  285. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  286. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  287. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  288. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  289. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  290. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  291. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  292. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  293. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  294. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  295. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  296. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  297. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  298. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  299. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/followup/records.py +0 -0
  300. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  301. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  302. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  303. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  304. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/goal/records.py +0 -0
  305. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/goal/view.py +0 -0
  306. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  307. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  308. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  309. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  310. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  311. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  312. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  313. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  314. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  315. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  316. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  317. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  318. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  319. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  320. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  321. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  322. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  323. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  324. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  325. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  326. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  327. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  328. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  329. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
  330. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  331. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  332. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  333. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  334. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  335. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  336. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  337. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  338. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  339. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  340. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  341. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  342. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  343. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  344. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  345. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  346. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  347. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  348. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/planning.py +0 -0
  349. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  350. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  351. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  352. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  353. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  354. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  355. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  356. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  357. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  358. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  359. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  360. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  361. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  362. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  363. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  364. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  365. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  366. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  367. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  368. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  369. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  370. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  371. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  372. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  373. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  374. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  375. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  376. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  377. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  378. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  379. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  380. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  381. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  382. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  383. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  384. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  385. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  386. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  387. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  388. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  389. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  390. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  391. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  392. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
  393. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  394. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/templates.py +0 -0
  395. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  396. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  397. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/validation.py +0 -0
  398. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/planning/verification.py +0 -0
  399. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  400. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  401. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/apply.py +0 -0
  402. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  403. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  404. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  405. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  406. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  407. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  408. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/__init__.py +0 -0
  409. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  410. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/guidance.py +0 -0
  411. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/merge.py +0 -0
  412. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/presets.py +0 -0
  413. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/principles.py +0 -0
  414. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/project/profile.py +0 -0
  415. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/py.typed +0 -0
  416. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  417. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  418. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  419. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  420. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  421. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  422. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  423. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  424. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/packs.py +0 -0
  425. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  426. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  427. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  428. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  429. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  430. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  431. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  432. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  433. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  434. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  435. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  436. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  437. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  438. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  439. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/research/__init__.py +0 -0
  440. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/research/evidence.py +0 -0
  441. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/research/provenance.py +0 -0
  442. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/research/validation.py +0 -0
  443. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/resources.py +0 -0
  444. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review/__init__.py +0 -0
  445. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review/provenance.py +0 -0
  446. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review/validation.py +0 -0
  447. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  448. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  449. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  450. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  451. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  452. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  453. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  454. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  455. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/runner/core.py +0 -0
  456. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  457. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  458. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  459. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  460. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  461. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/specification/validation.py +0 -0
  462. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  463. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  464. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  465. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  466. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  467. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  468. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  469. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  470. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  471. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  472. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  473. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  474. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  475. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  476. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  477. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/events.py +0 -0
  478. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  479. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  480. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  481. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
  482. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  483. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  484. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  485. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
  486. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  487. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  488. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  489. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  490. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  491. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  492. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/query.py +0 -0
  493. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  494. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  495. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  496. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/run.py +0 -0
  497. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  498. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  499. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  500. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  501. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/state.py +0 -0
  502. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  503. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  504. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  505. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
  506. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  507. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  508. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  509. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  510. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  511. {agent_lifecycle_kit-2.18.0 → agent_lifecycle_kit-2.19.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.19.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.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.19.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.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.19.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.19.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.19.0"
@@ -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")
@@ -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
@@ -121,7 +121,8 @@ def _add_diagnostics_parser(subparsers: argparse._SubParsersAction[argparse.Argu
121
121
  def _add_schema_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
122
122
  schema = subparsers.add_parser("schema", help="inspect bundled JSON schemas")
123
123
  schema_sub = schema.add_subparsers(dest="schema_command", required=True)
124
- schema_sub.add_parser("list")
124
+ schema_list = schema_sub.add_parser("list")
125
+ schema_list.add_argument("--scope", choices=["all", "core"], default="all")
125
126
  show = schema_sub.add_parser("show")
126
127
  show.add_argument("schema_id")
127
128
 
@@ -243,6 +244,8 @@ def _add_review_mesh_parser(subparsers: argparse._SubParsersAction[argparse.Argu
243
244
  prepare.add_argument("--evidence-id", action="append", default=[])
244
245
  prepare.add_argument("--out-dir")
245
246
  prepare.add_argument("--out")
247
+ prepare.add_argument("--review-input", help="explicit source-bound portable reading inventory")
248
+ prepare.add_argument("--repository-root", default=".")
246
249
  assign = review_mesh_sub.add_parser("assign")
247
250
  assign_source = assign.add_mutually_exclusive_group(required=True)
248
251
  assign_source.add_argument("--manifest")
@@ -174,11 +174,9 @@ def _add_diagnostics_parser(subparsers: argparse._SubParsersAction[argparse.Argu
174
174
 
175
175
 
176
176
  def _add_schema_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
177
- schema = subparsers.add_parser("schema", help="inspect bundled JSON schemas")
178
- schema_sub = schema.add_subparsers(dest="schema_command", required=True)
179
- schema_sub.add_parser("list")
180
- show = schema_sub.add_parser("show")
181
- show.add_argument("schema_id")
177
+ from agent_lifecycle.cli.lifecycle_parsers import _add_schema_parser as add_parser
178
+
179
+ add_parser(subparsers)
182
180
 
183
181
 
184
182
  def _add_contract_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
@@ -287,85 +285,9 @@ def _add_quality_parser(subparsers: argparse._SubParsersAction[argparse.Argument
287
285
 
288
286
 
289
287
  def _add_review_mesh_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
290
- from agent_lifecycle.contracts.review_mesh_schemas import REVIEW_MESH_MODE_IDS
291
- from agent_lifecycle.review_mesh.operator_templates import REVIEW_MESH_OPERATOR_TEMPLATE_IDS
288
+ from agent_lifecycle.cli.lifecycle_parsers import _add_review_mesh_parser as add_parser
292
289
 
293
- review_mesh = subparsers.add_parser("review-mesh", help="optional Review Mesh commands")
294
- review_mesh_sub = review_mesh.add_subparsers(dest="review_mesh_command", required=True)
295
- template_list = review_mesh_sub.add_parser("template-list")
296
- template_list.add_argument("--out")
297
- profile = review_mesh_sub.add_parser("profile")
298
- profile.add_argument("--profile-id", default="optional-review-mesh")
299
- profile.add_argument("--mode", choices=list(REVIEW_MESH_MODE_IDS), action="append", default=[])
300
- profile.add_argument("--default-mode", choices=list(REVIEW_MESH_MODE_IDS), default="leader-draft-multi-review")
301
- profile.add_argument("--reviewer-model-class", action="append", default=[])
302
- profile.add_argument("--require-independence", action="store_true")
303
- profile.add_argument("--independence-dimension", choices=["host", "model"], action="append", default=[])
304
- profile.add_argument("--allow-live-calls", action="store_true")
305
- profile.add_argument("--max-invocations", type=int)
306
- profile.add_argument("--max-input-tokens", type=int)
307
- profile.add_argument("--max-output-tokens", type=int)
308
- profile.add_argument("--max-wall-seconds", type=int)
309
- profile.add_argument("--out")
310
- recommend = review_mesh_sub.add_parser("recommend")
311
- source = recommend.add_mutually_exclusive_group(required=True)
312
- source.add_argument("--text")
313
- source.add_argument("--file")
314
- source.add_argument("--intake")
315
- source.add_argument("--manifest")
316
- recommend.add_argument("--sdd-tier", choices=["S0", "S1", "S2"])
317
- recommend.add_argument("--risk-flag", action="append", default=[])
318
- recommend.add_argument("--out")
319
- prepare = review_mesh_sub.add_parser("prepare")
320
- prepare_source = prepare.add_mutually_exclusive_group(required=True)
321
- prepare_source.add_argument("--manifest")
322
- prepare_source.add_argument("--intake")
323
- prepare_source.add_argument("--handoff")
324
- prepare.add_argument("--template", choices=list(REVIEW_MESH_OPERATOR_TEMPLATE_IDS), default="leader-draft-review")
325
- prepare.add_argument("--profile-id")
326
- prepare.add_argument("--phase")
327
- prepare.add_argument("--reviewer", action="append", default=[])
328
- prepare.add_argument("--blocking", action="store_true")
329
- prepare.add_argument("--evidence-id", action="append", default=[])
330
- prepare.add_argument("--out-dir")
331
- prepare.add_argument("--out")
332
- assign = review_mesh_sub.add_parser("assign")
333
- assign_source = assign.add_mutually_exclusive_group(required=True)
334
- assign_source.add_argument("--manifest")
335
- assign_source.add_argument("--intake")
336
- assign_source.add_argument("--handoff")
337
- assign.add_argument("--profile")
338
- assign.add_argument("--mode", choices=list(REVIEW_MESH_MODE_IDS), required=True)
339
- assign.add_argument("--phase", required=True)
340
- assign.add_argument("--assignment-id", required=True)
341
- assign.add_argument("--reviewer-id", required=True)
342
- assign.add_argument("--reviewer-role", default="reviewer")
343
- assign.add_argument("--reviewer-model-class", default="strong-reasoning")
344
- assign.add_argument("--reviewer-host-identity-hash")
345
- assign.add_argument("--reviewer-model-identity-hash")
346
- assign.add_argument("--blocking", action="store_true")
347
- assign.add_argument("--evidence-id", action="append", default=[])
348
- assign.add_argument("--out")
349
- import_result = review_mesh_sub.add_parser("import-result")
350
- import_result.add_argument("--profile", required=True)
351
- import_result.add_argument("--assignment", required=True)
352
- import_result.add_argument("--reviewer-output", required=True)
353
- import_result.add_argument("--allow-local-evidence-ref", action="store_true")
354
- import_result.add_argument("--out")
355
- synthesize = review_mesh_sub.add_parser("synthesize")
356
- synthesize.add_argument("--profile", required=True)
357
- synthesize.add_argument("--result", action="append", required=True)
358
- synthesize.add_argument("--mode", choices=list(REVIEW_MESH_MODE_IDS))
359
- synthesize.add_argument("--accepted-finding-id", action="append", default=[])
360
- synthesize.add_argument("--rejected-finding-id", action="append", default=[])
361
- synthesize.add_argument("--out")
362
- quorum = review_mesh_sub.add_parser("quorum")
363
- quorum.add_argument("--profile", required=True)
364
- quorum.add_argument("--synthesis", required=True)
365
- quorum.add_argument("--min-reviewers", type=int, required=True)
366
- quorum.add_argument("--required-role", action="append", default=[])
367
- quorum.add_argument("--reviewer-role", action="append", default=[])
368
- quorum.add_argument("--out")
290
+ add_parser(subparsers)
369
291
 
370
292
 
371
293
  def _add_audit_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
@@ -0,0 +1,306 @@
1
+ """Reviewed plan-lock creation command."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path, PurePosixPath
6
+ from typing import Any
7
+
8
+ from agent_lifecycle.contracts import (
9
+ LifecycleError,
10
+ canonical_bytes,
11
+ canonical_digest,
12
+ load_json_object,
13
+ sha256_hex,
14
+ write_json_create,
15
+ )
16
+ from agent_lifecycle.contracts.authority_io import create_authority_bytes
17
+ from agent_lifecycle.contracts.canonical import MAX_JSON_INPUT_BYTES
18
+ from agent_lifecycle.contracts.ownership_paths import (
19
+ is_under_authority_path,
20
+ repository_authority_name,
21
+ require_declared_output_footprint,
22
+ require_output_footprint,
23
+ )
24
+ from agent_lifecycle.contracts.paths import normalize_repo_path, read_stable_repository_file
25
+ from agent_lifecycle.freeze.package_integrity import (
26
+ _reject_undeclared_top_level_files,
27
+ build_reviewed_plan_lock_v2,
28
+ verify_plan_package_integrity,
29
+ )
30
+ from agent_lifecycle.planning.verification import build_plan_verification
31
+
32
+ PLAN_LOCK_CREATION_RECEIPT = "agent-plan-lock-creation-receipt.v1"
33
+
34
+
35
+ def create_reviewed_plan_lock(
36
+ *,
37
+ manifest_path: str,
38
+ review_path: str,
39
+ repository_root: Path,
40
+ ) -> dict[str, Any]:
41
+ """Create and verify the canonical lock for one reviewed frozen plan."""
42
+
43
+ root = repository_root.resolve(strict=True)
44
+ manifest_rel, manifest_data = _read_repository_json(root, manifest_path, label="plan manifest")
45
+ manifest = load_json_object(manifest_data, label="plan manifest")
46
+ package_value = manifest.get("package")
47
+ package = package_value if isinstance(package_value, dict) else {}
48
+ raw_plan_root = package.get("planArtifactRoot")
49
+ if not isinstance(raw_plan_root, str):
50
+ raise LifecycleError("invalid-plan-manifest", "package.planArtifactRoot is required")
51
+ plan_root = normalize_repo_path(raw_plan_root, label="package.planArtifactRoot")
52
+ expected_manifest = f"{plan_root}/plan.manifest.json"
53
+ if manifest_rel != expected_manifest:
54
+ raise LifecycleError("plan-manifest-path-mismatch", "manifest path does not match package.planArtifactRoot")
55
+
56
+ review_rel, review_data = _read_repository_json(root, review_path, label="plan review")
57
+ review = load_json_object(review_data, label="plan review")
58
+ lock = build_reviewed_plan_lock_v2(
59
+ manifest,
60
+ review,
61
+ review_path=review_rel,
62
+ review_sha256=sha256_hex(review_data),
63
+ repository_root=root,
64
+ )
65
+ # Reject malformed or drifting package bytes before creating the
66
+ # no-replace authority artifact. The second check still detects drift.
67
+ verify_plan_package_integrity(manifest, lock, repository_root=root)
68
+ lock_rel = f"{plan_root}/plan.lock.json"
69
+ lock_path = root.joinpath(*PurePosixPath(lock_rel).parts)
70
+ try:
71
+ write_json_create(lock_path, lock)
72
+ except FileExistsError as exc:
73
+ raise LifecycleError("plan-lock-exists", "canonical plan lock already exists", {"path": lock_rel}) from exc
74
+ except OSError as exc:
75
+ raise LifecycleError(
76
+ "plan-lock-write-failed",
77
+ "canonical plan lock could not be created",
78
+ {"path": lock_rel},
79
+ ) from exc
80
+ verification = verify_plan_package_integrity(manifest, lock, repository_root=root)
81
+ body = {
82
+ "schemaVersion": PLAN_LOCK_CREATION_RECEIPT,
83
+ "status": "PASS",
84
+ "packageId": package.get("id"),
85
+ "planRevision": manifest.get("planRevision"),
86
+ "manifestPath": manifest_rel,
87
+ "manifestHash": canonical_digest(manifest),
88
+ "reviewPath": review_rel,
89
+ "reviewId": review.get("reviewId"),
90
+ "reviewedPlanHash": review.get("reviewedPlanHash"),
91
+ "lockPath": lock_rel,
92
+ "lockSchemaVersion": lock.get("schemaVersion"),
93
+ "planFilesHash": lock.get("planFilesHash"),
94
+ "filesystemVerified": verification.get("filesystemVerified") is True,
95
+ "productionPromotionClaimed": False,
96
+ }
97
+ return {**body, "receiptDigest": canonical_digest(body)}
98
+
99
+
100
+ def _read_repository_json(root: Path, raw_path: str, *, label: str) -> tuple[str, bytes]:
101
+ relative = normalize_repo_path(raw_path, label=f"{label} path")
102
+ data = read_stable_repository_file(root, relative, max_bytes=MAX_JSON_INPUT_BYTES, label=label)
103
+ return relative, data
104
+
105
+
106
+ __all__ = ["PLAN_LOCK_CREATION_RECEIPT", "create_reviewed_plan_lock"]
107
+
108
+
109
+ def prepare_freeze_candidate(
110
+ *,
111
+ manifest_path: str,
112
+ output_path: str,
113
+ repository_root: Path,
114
+ ) -> dict[str, Any]:
115
+ """Prepare exact candidate bytes before review, without review or lock authority."""
116
+ root = repository_root.resolve(strict=True)
117
+ manifest_rel, raw = _read_repository_json(root, manifest_path, label="draft manifest")
118
+ manifest = load_json_object(raw)
119
+ if manifest.get("status") != "DRAFT":
120
+ raise LifecycleError("freeze-prepare-requires-draft", "Only a draft may be prepared")
121
+ old = normalize_repo_path(manifest.get("package", {}).get("planArtifactRoot"))
122
+ if manifest_rel != old + "/plan.manifest.json":
123
+ raise LifecycleError("plan-manifest-path-mismatch", "Manifest must match its declared package")
124
+ if not manifest.get("packageIntegrity", {}).get("required"):
125
+ raise LifecycleError("plan-lock-v2-required", "Freeze preparation requires package integrity")
126
+ if (root / old / "plan.lock.json").exists():
127
+ raise LifecycleError("freeze-prepare-locked-input", "A locked package cannot be prepared again")
128
+ target = repository_authority_name(root / output_path, root)
129
+ receipt = target + ".preparation.json"
130
+ reservation = target + ".reservation.json"
131
+ require_declared_output_footprint(manifest, repository_root=root)
132
+ require_output_footprint(
133
+ manifest,
134
+ [target, receipt, reservation],
135
+ repository_root=root,
136
+ manifest_path=root / manifest_rel,
137
+ )
138
+ for forbidden in manifest.get("forbiddenWrites", []):
139
+ if is_under_authority_path(target, forbidden, operation_root=root):
140
+ raise LifecycleError("freeze-prepare-output-forbidden", "Candidate is inside a forbidden write path")
141
+ for name in (target, receipt, reservation):
142
+ if (root / name).exists():
143
+ raise LifecycleError("freeze-prepare-output-exists", "Candidate output already exists")
144
+ inputs = _candidate_inputs(root, manifest, old)
145
+ if canonical_digest(load_json_object(inputs[manifest_rel])) != canonical_digest(manifest):
146
+ raise LifecycleError("freeze-prepare-input-changed", "Draft manifest changed during preparation")
147
+ candidate, review = _relocated_candidate(manifest, old, target)
148
+ prepared = _candidate_bytes(inputs, candidate, old, target)
149
+ markdown = inputs.get(old + "/acceptance-criteria.md")
150
+ verification = build_plan_verification(
151
+ candidate,
152
+ manifest_path=root / target / "plan.manifest.json",
153
+ acceptance_markdown=markdown.decode("utf-8") if markdown is not None else None,
154
+ repository_root=root,
155
+ package_root=root / target,
156
+ )
157
+ blockers = [item for item in verification["blockers"] if item["code"] != "plan-lock-required"]
158
+ if blockers:
159
+ raise LifecycleError("freeze-prepare-preflight-failed", "Candidate preflight failed", {"blockers": blockers})
160
+ for name, data in inputs.items():
161
+ if read_stable_repository_file(root, name, max_bytes=8_388_608) != data:
162
+ raise LifecycleError("freeze-prepare-input-changed", "Draft inputs changed during preparation")
163
+ body = _preparation_receipt(manifest, candidate, inputs, prepared, review, receipt)
164
+ # One exclusive reservation chooses the winner before any package-file write.
165
+ create_authority_bytes(
166
+ root / reservation,
167
+ canonical_bytes(
168
+ {
169
+ "schemaVersion": "agent-freeze-candidate-reservation.v1",
170
+ "candidateDigest": canonical_digest(candidate),
171
+ "authorityClaimed": False,
172
+ }
173
+ )
174
+ + b"\n",
175
+ root=root,
176
+ )
177
+ for name, data in prepared.items():
178
+ create_authority_bytes(root / name, data, root=root)
179
+ create_authority_bytes(root / receipt, canonical_bytes(body) + b"\n", root=root)
180
+ return {
181
+ "schemaVersion": "agent-artifact-display-summary.v1",
182
+ "status": "PASS",
183
+ "artifact": {"path": receipt, "digest": canonical_digest(body)},
184
+ "candidateManifest": target + "/plan.manifest.json",
185
+ "authoritative": False,
186
+ "authorityClaimed": False,
187
+ "nativeAcceptanceClaimed": False,
188
+ }
189
+
190
+
191
+ def _candidate_inputs(root: Path, manifest: dict[str, Any], old: str) -> dict[str, bytes]:
192
+ names = manifest.get("planFiles")
193
+ if not isinstance(names, list) or not 1 <= len(names) <= 64:
194
+ raise LifecycleError("freeze-prepare-inventory-invalid", "Declare between 1 and 64 plan files")
195
+ normalized = [normalize_repo_path(name) for name in names]
196
+ if len({name.casefold() for name in normalized}) != len(normalized):
197
+ raise LifecycleError("plan-file-duplicate", "Plan inventory has duplicate or aliased paths")
198
+ if old + "/plan.manifest.json" not in normalized:
199
+ raise LifecycleError("plan-manifest-unbound", "Manifest must be inventoried")
200
+ pending = manifest.get("planReview", {}).get("report")
201
+ inputs: dict[str, bytes] = {}
202
+ for name in normalized:
203
+ if not name.startswith(old + "/"):
204
+ raise LifecycleError("plan-file-outside-package", "Declared input escapes its package")
205
+ if name == pending:
206
+ if (root / name).exists():
207
+ raise LifecycleError("freeze-prepare-old-review", "A new candidate needs a new review")
208
+ continue
209
+ inputs[name] = read_stable_repository_file(root, name, max_bytes=8_388_608)
210
+ if sum(map(len, inputs.values())) > 8_388_608:
211
+ raise LifecycleError("freeze-prepare-input-too-large", "Candidate inventory exceeds 8 MiB")
212
+ # Bound the shared inventory check before its sorted directory enumeration.
213
+ import itertools
214
+
215
+ if len(list(itertools.islice((root / old).iterdir(), 97))) > 96:
216
+ raise LifecycleError("freeze-prepare-inventory-too-large", "Package has too many entries")
217
+ _reject_undeclared_top_level_files(
218
+ manifest,
219
+ root / old,
220
+ [{"path": name} for name in normalized],
221
+ repository_root=root,
222
+ )
223
+ return inputs
224
+
225
+
226
+ def _relocated_candidate(
227
+ manifest: dict[str, Any],
228
+ old: str,
229
+ target: str,
230
+ ) -> tuple[dict[str, Any], str]:
231
+ candidate = load_json_object(canonical_bytes(manifest))
232
+
233
+ def relocate(name: str) -> str:
234
+ return target + name[len(old) :] if name.startswith(old + "/") else name
235
+
236
+ candidate["package"]["planArtifactRoot"] = target
237
+ candidate["status"] = "FROZEN"
238
+ candidate["planFiles"] = [relocate(name) for name in manifest["planFiles"]]
239
+ if isinstance(candidate.get("developerOverview"), str):
240
+ candidate["developerOverview"] = relocate(candidate["developerOverview"])
241
+ spec = candidate.get("specification")
242
+ if isinstance(spec, dict):
243
+ spec["status"] = "FROZEN"
244
+ if isinstance(spec.get("source"), str):
245
+ spec["source"] = relocate(spec["source"])
246
+ review = relocate(
247
+ manifest.get("planReview", {}).get(
248
+ "report",
249
+ old + "/independent-plan-review.json",
250
+ )
251
+ )
252
+ if not review.startswith(target + "/"):
253
+ raise LifecycleError("plan-review-path-mismatch", "Review must be inside the candidate")
254
+ candidate["planFiles"] = sorted(set([*candidate["planFiles"], review]))
255
+ candidate["planReview"] = {
256
+ "required": True,
257
+ "report": review,
258
+ "reviewedRevision": candidate["planRevision"],
259
+ "verdict": "READY_TO_FREEZE",
260
+ }
261
+ return candidate, review
262
+
263
+
264
+ def _candidate_bytes(
265
+ inputs: dict[str, bytes],
266
+ candidate: dict[str, Any],
267
+ old: str,
268
+ target: str,
269
+ ) -> dict[str, bytes]:
270
+ prepared = {}
271
+ for name, data in inputs.items():
272
+ output = target + name[len(old) :]
273
+ if name == old + "/plan.manifest.json":
274
+ data = canonical_bytes(candidate) + b"\n"
275
+ elif name.endswith(".json"):
276
+ data = canonical_bytes(load_json_object(data)) + b"\n"
277
+ prepared[output] = data
278
+ return prepared
279
+
280
+
281
+ def _preparation_receipt(
282
+ manifest: dict[str, Any],
283
+ candidate: dict[str, Any],
284
+ inputs: dict[str, bytes],
285
+ prepared: dict[str, bytes],
286
+ review: str,
287
+ receipt_path: str,
288
+ ) -> dict[str, Any]:
289
+ def inventory(values: dict[str, bytes]) -> list[dict[str, Any]]:
290
+ return [{"path": name, "bytes": len(data), "sha256": sha256_hex(data)} for name, data in sorted(values.items())]
291
+
292
+ return {
293
+ "schemaVersion": "agent-freeze-preparation-receipt.v1",
294
+ "status": "CANDIDATE_PREPARED",
295
+ "draftDigest": canonical_digest(manifest),
296
+ "candidateDigest": canonical_digest(candidate),
297
+ "inputs": inventory(inputs),
298
+ "candidateFiles": inventory(prepared),
299
+ "pendingReviewPath": review,
300
+ "receiptPath": receipt_path,
301
+ "reviewCreated": False,
302
+ "lockCreated": False,
303
+ "authorityClaimed": False,
304
+ "modelCallsStarted": False,
305
+ "productionPromotionClaimed": False,
306
+ }