agent-lifecycle-kit 2.22.0__tar.gz → 2.23.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 (521) hide show
  1. {agent_lifecycle_kit-2.22.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.23.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/_version.py +1 -1
  5. agent_lifecycle_kit-2.23.0/src/agent_lifecycle/cli/compact_plan_commands.py +197 -0
  6. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_planning.py +10 -0
  7. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/planning_parsers.py +8 -0
  8. agent_lifecycle_kit-2.23.0/src/agent_lifecycle/contracts/compact_plan_schemas.py +261 -0
  9. agent_lifecycle_kit-2.23.0/src/agent_lifecycle/metrics/plan_package_comparison.py +156 -0
  10. agent_lifecycle_kit-2.23.0/src/agent_lifecycle/planning/compact_packages.py +312 -0
  11. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  12. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +4 -0
  13. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/LICENSE +0 -0
  14. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/NOTICE +0 -0
  15. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/README.md +0 -0
  16. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/manifest.json +0 -0
  17. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  18. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  19. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  20. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  21. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  22. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  23. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  24. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  25. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  26. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  27. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/setup.cfg +0 -0
  28. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/__init__.py +0 -0
  29. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/__main__.py +0 -0
  30. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  31. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  32. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  33. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  34. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  35. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  36. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  37. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  38. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  39. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  40. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  41. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  42. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  43. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  44. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  45. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  46. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  47. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
  48. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  49. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  50. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  51. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  52. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  53. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  54. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  55. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  56. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  57. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  58. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  59. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  60. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  61. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  62. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  63. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  64. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  65. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  66. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  67. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  68. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  69. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  70. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  71. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  72. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  73. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  74. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  75. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  76. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  77. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
  78. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  79. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  80. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  81. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  82. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  83. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  84. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  85. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  86. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  87. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  88. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  89. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  90. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  91. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  92. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  93. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  94. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  95. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  96. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  97. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  98. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  99. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  100. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  101. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  102. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  103. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/delta.py +0 -0
  104. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
  105. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  106. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  107. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  108. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  109. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/package.py +0 -0
  110. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  111. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  112. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  113. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  114. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  115. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  116. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  117. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  118. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  119. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  120. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  121. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  122. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  123. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  124. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/changesets/git.py +0 -0
  125. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
  126. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  127. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  128. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  129. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  130. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  131. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  132. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  133. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  134. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  135. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  136. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  137. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  138. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  139. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/errors.py +0 -0
  140. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/followup.py +0 -0
  141. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  142. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
  143. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/main.py +0 -0
  144. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  145. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  146. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  147. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  148. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/policy.py +0 -0
  149. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  150. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/project.py +0 -0
  151. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/research.py +0 -0
  152. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/start.py +0 -0
  153. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  154. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  155. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  156. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  157. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  158. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  159. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  160. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  161. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/__init__.py +0 -0
  162. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  163. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  164. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  165. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  166. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/profiles.py +0 -0
  167. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/rendering.py +0 -0
  168. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  169. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  170. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  171. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  172. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  173. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  174. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  175. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
  176. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  177. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  178. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  179. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  180. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  181. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  182. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  183. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  184. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  186. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  187. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  188. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  189. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  191. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  192. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  193. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
  194. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  195. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  196. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
  197. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  198. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  199. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
  202. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  204. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  205. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  206. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  209. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  212. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  214. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  215. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  216. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  217. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  218. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  220. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  221. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  222. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  223. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  224. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  225. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  226. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  227. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  228. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  229. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  230. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  231. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
  232. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  233. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  234. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
  235. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  236. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  237. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  240. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  241. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  242. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  243. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  244. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  245. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  246. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  247. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  248. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  249. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  250. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  251. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  252. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  253. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  254. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  255. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  256. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  257. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  258. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
  259. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  260. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  261. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  262. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  263. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  265. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  266. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  267. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  268. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  269. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  270. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  271. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  272. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  273. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  275. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  276. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  277. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  278. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  279. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  280. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  281. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  282. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/__init__.py +0 -0
  283. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  284. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  285. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  286. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  287. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  288. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  289. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  290. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  291. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  292. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  293. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  294. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  295. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  296. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  297. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  298. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  299. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  300. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  301. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  302. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/followup/records.py +0 -0
  303. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  304. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  305. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  306. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  307. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/goal/records.py +0 -0
  308. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/goal/view.py +0 -0
  309. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  310. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  311. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  312. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  313. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  314. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  315. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  316. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  317. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  318. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  319. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  320. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  321. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  322. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  323. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  324. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  325. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  326. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  327. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  328. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  329. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  330. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  331. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  332. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
  333. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  334. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  335. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  336. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  337. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  338. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  339. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  340. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  341. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  342. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  343. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  344. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  345. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  346. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  347. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  348. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  349. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  350. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  351. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/planning.py +0 -0
  352. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  353. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  354. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  355. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  356. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  357. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  358. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  359. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
  360. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  361. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  362. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
  363. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  364. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  365. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  366. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  367. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  368. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  369. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  370. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  371. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  372. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  373. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  374. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  375. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  376. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  377. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  378. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  379. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  380. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  381. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  382. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  383. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  384. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  385. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  386. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  387. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  388. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  389. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  390. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  391. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  392. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  393. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  394. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  395. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  396. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  397. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
  398. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  399. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/templates.py +0 -0
  400. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  401. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  402. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/validation.py +0 -0
  403. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/planning/verification.py +0 -0
  404. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  405. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  406. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/apply.py +0 -0
  407. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  408. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  409. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  410. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  411. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  412. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  413. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/__init__.py +0 -0
  414. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  415. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/guidance.py +0 -0
  416. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/merge.py +0 -0
  417. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/presets.py +0 -0
  418. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/principles.py +0 -0
  419. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/project/profile.py +0 -0
  420. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/py.typed +0 -0
  421. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  422. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  423. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  424. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  425. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  426. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  427. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  428. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  429. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/packs.py +0 -0
  430. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  431. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  432. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  433. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  434. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  435. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  436. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  437. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  438. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  439. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  440. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  441. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  442. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  443. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  444. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/research/__init__.py +0 -0
  445. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/research/evidence.py +0 -0
  446. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/research/provenance.py +0 -0
  447. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/research/validation.py +0 -0
  448. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/resources.py +0 -0
  449. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review/__init__.py +0 -0
  450. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review/provenance.py +0 -0
  451. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review/validation.py +0 -0
  452. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  453. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  454. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  455. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  456. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  457. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
  458. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  459. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  460. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  461. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  462. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  463. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  464. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/runner/core.py +0 -0
  465. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  466. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  467. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  468. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  469. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  470. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/specification/validation.py +0 -0
  471. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  472. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
  473. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  474. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  475. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  476. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  477. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  478. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  479. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  480. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  481. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  482. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  483. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  484. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  485. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  486. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  487. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/events.py +0 -0
  488. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  489. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  490. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  491. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
  492. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  493. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  494. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  495. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
  496. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  497. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  498. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  499. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  500. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  501. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  502. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/query.py +0 -0
  503. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  504. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  505. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  506. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/run.py +0 -0
  507. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  508. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  509. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  510. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  511. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/state.py +0 -0
  512. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  513. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  514. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  515. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
  516. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  517. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  518. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  519. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  520. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  521. {agent_lifecycle_kit-2.22.0 → agent_lifecycle_kit-2.23.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.22.0
3
+ Version: 2.23.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.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
44
+ Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
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.22.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.23.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.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
22
+ Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
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.22.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.23.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.22.0"
7
+ version = "2.23.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.22.0"
3
+ __version__ = "2.23.0"
@@ -0,0 +1,197 @@
1
+ """Create-only compact authoring and read-only explanations; no lifecycle authority."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ import stat
7
+ import unicodedata
8
+ from pathlib import Path
9
+ from typing import Any
10
+
11
+ from agent_lifecycle.compiler.task_packets import packet_publication_lock
12
+ from agent_lifecycle.contracts import LifecycleError, canonical_bytes, canonical_digest, load_json_object
13
+ from agent_lifecycle.contracts.authority_io import hold_authority_directory
14
+ from agent_lifecycle.contracts.compact_plan_schemas import MAX_COMPACT_INPUT_BYTES
15
+ from agent_lifecycle.contracts.execution_target import discard_created_output
16
+ from agent_lifecycle.contracts.ownership_paths import (
17
+ normalize_authority_path,
18
+ repository_authority_name,
19
+ require_manifest_authority_paths,
20
+ )
21
+ from agent_lifecycle.contracts.paths import read_stable_repository_file
22
+ from agent_lifecycle.planning.compact_packages import (
23
+ build_plan_package_profiles,
24
+ compile_compact_plan,
25
+ explain_compact_plan,
26
+ )
27
+
28
+ _FD_PATH_IDENTITY_FIELDS = 5 if os.name == "nt" else 6
29
+
30
+ _DRAFT_PREREQUISITE = (
31
+ "Before freeze-prepare: author acceptance-criteria.md from the explicit AC/EV facts "
32
+ "and add it to planFiles. The prepared candidate still needs current independent review before lock-create"
33
+ )
34
+
35
+
36
+ def compact_package_profiles() -> dict[str, Any]:
37
+ """Include filesystem authoring prerequisites in the user-facing tier view."""
38
+ body = build_plan_package_profiles()
39
+ body.pop("profileDigest")
40
+ body["draftCompletionPrerequisites"] = [_DRAFT_PREREQUISITE]
41
+ for profile in body["profiles"]:
42
+ if profile["compactSupported"]:
43
+ profile["requiredArtifacts"].append("acceptance-criteria.md explicitly added to planFiles before freeze")
44
+ return {**body, "profileDigest": canonical_digest(body)}
45
+
46
+
47
+ def compact_plan_command(
48
+ *, input_path: str, repository_root: Path, output_path: str | None = None, explain: bool = False
49
+ ) -> dict[str, Any]:
50
+ """Consume one stable bounded source; publishing never overwrites an artifact."""
51
+ root = repository_root.resolve(strict=True)
52
+ source_name = _name(root, input_path)
53
+ _inspect_path(root, source_name)
54
+ source_version = _version(root / source_name)
55
+ raw = _read(root, source_name)
56
+ if _version(root / source_name) != source_version:
57
+ raise LifecycleError("compact-plan-source-changed", "Compact source changed while being read")
58
+ source = load_json_object(raw, label="compact source")
59
+ package = source.get("package")
60
+ plan_root = package.get("planArtifactRoot") if isinstance(package, dict) else None
61
+ default_output = plan_root + "/plan.manifest.json" if isinstance(plan_root, str) else "plan.manifest.json"
62
+ destination = _name(root, output_path or default_output)
63
+ explanation = None
64
+ if explain:
65
+ explanation = explain_compact_plan(source, source_path=source_name, manifest_path=destination)
66
+ if explanation["status"] != "PASS":
67
+ return explanation
68
+ manifest = compile_compact_plan(source, source_path=source_name, manifest_path=destination)
69
+ require_manifest_authority_paths(manifest, operation_root=root)
70
+ _inspect_manifest_paths(root, manifest)
71
+ if explanation is not None:
72
+ return {**explanation, "nextCommands": [_DRAFT_PREREQUISITE, *explanation["nextCommands"]]}
73
+ prepared = canonical_bytes(manifest) + b"\n"
74
+ _publish(root, source_name, raw, source_version, destination, prepared)
75
+ return {
76
+ "schemaVersion": "agent-compact-plan-compilation.v1",
77
+ "status": "DRAFT",
78
+ "manifestPath": destination,
79
+ "manifestDigest": canonical_digest(manifest),
80
+ "sourcePath": source_name,
81
+ "sourceBytes": len(raw),
82
+ "canonicalOutputBytes": len(prepared),
83
+ "filesWritten": [destination],
84
+ "authorityClaimed": False,
85
+ "modelCallsStarted": False,
86
+ "nextCommands": [_DRAFT_PREREQUISITE, "plan freeze-prepare", "independent plan review", "plan lock-create"],
87
+ }
88
+
89
+
90
+ def _name(root: Path, name: str) -> str:
91
+ return normalize_authority_path(repository_authority_name(root / name, root))
92
+
93
+
94
+ def _read(root: Path, name: str) -> bytes:
95
+ return read_stable_repository_file(root, name, max_bytes=MAX_COMPACT_INPUT_BYTES, label="compact source")
96
+
97
+
98
+ def _inspect_path(root: Path, name: str) -> None:
99
+ """Reject observed link/name ambiguity without probing filesystem rules by writing."""
100
+ current = root
101
+ for part in normalize_authority_path(name).split("/"):
102
+ matches = []
103
+ try:
104
+ with os.scandir(current) as entries:
105
+ for index, entry in enumerate(entries):
106
+ if index >= 10_000:
107
+ raise LifecycleError("compact-plan-directory-too-large", "Directory inspection exceeds limit")
108
+ if unicodedata.normalize("NFC", entry.name).casefold() == part.casefold():
109
+ matches.append(entry.name)
110
+ except FileNotFoundError:
111
+ return
112
+ if not matches:
113
+ return
114
+ if len(matches) != 1 or unicodedata.normalize("NFC", matches[0]) != part:
115
+ raise LifecycleError("compact-plan-path-alias", "Authority path has an ambiguous or aliased name")
116
+ current = current / part
117
+ info = current.lstat()
118
+ if stat.S_ISLNK(info.st_mode) or getattr(info, "st_file_attributes", 0) & 0x400:
119
+ raise LifecycleError("compact-plan-path-alias", "Authority path cannot contain a link")
120
+ if stat.S_ISREG(info.st_mode) and info.st_nlink != 1:
121
+ raise LifecycleError("compact-plan-path-alias", "Authority file has multiple hard links")
122
+
123
+
124
+ def _inspect_manifest_paths(root: Path, manifest: dict[str, Any]) -> None:
125
+ names = [*manifest["planFiles"], manifest["package"]["artifactRoot"]]
126
+ names.extend(manifest["readOnly"])
127
+ names.extend(manifest["forbiddenWrites"])
128
+ for task in manifest["workstreams"]:
129
+ names.extend(task["writes"])
130
+ names.extend(entry["artifactPath"] for entry in manifest["acceptance"]["evidence"])
131
+ for name in sorted(set(names)):
132
+ _inspect_path(root, name)
133
+
134
+
135
+ def _version(path: Path) -> tuple[int, ...]:
136
+ info = path.lstat()
137
+ return (*_identity(info), info.st_nlink)
138
+
139
+
140
+ def _identity(info: os.stat_result) -> tuple[int, ...]:
141
+ """Capture the created descriptor's exact fingerprint for guarded rollback."""
142
+ return info.st_dev, info.st_ino, info.st_mode, info.st_size, info.st_mtime_ns, info.st_ctime_ns
143
+
144
+
145
+ def _created_identity(fd: int, path_info: os.stat_result) -> tuple[int, ...]:
146
+ """Join fd/path metadata, retaining a full path fingerprint for rollback.
147
+
148
+ Windows fstat ctime can be change time while path stat reports birth time.
149
+ All comparable fields must agree before using the path API's fingerprint.
150
+ """
151
+ descriptor = _identity(os.fstat(fd))
152
+ observed = _identity(path_info)
153
+ fields = _FD_PATH_IDENTITY_FIELDS
154
+ return observed if descriptor[:fields] == observed[:fields] else descriptor
155
+
156
+
157
+ def _require_same_source(root: Path, name: str, raw: bytes, version: tuple[int, ...]) -> None:
158
+ _inspect_path(root, name)
159
+ if _version(root / name) != version or _read(root, name) != raw or _version(root / name) != version:
160
+ raise LifecycleError("compact-plan-source-changed", "Compact source changed before publication completed")
161
+
162
+
163
+ def _publish(root: Path, source: str, raw: bytes, version: tuple[int, ...], destination: str, prepared: bytes) -> None:
164
+ path = root / destination
165
+ with packet_publication_lock(path.parent):
166
+ _inspect_path(root, destination)
167
+ if path.exists():
168
+ raise LifecycleError("compact-plan-output-exists", "Canonical output must not already exist")
169
+ _require_same_source(root, source, raw, version)
170
+ created = False
171
+ created_identity = None
172
+ try:
173
+ with hold_authority_directory(path.parent, writable=True) as directory:
174
+ fd = directory.write_child(path.name, append=False, mode=0o644)
175
+ created = True
176
+ created_identity = _created_identity(fd, directory.stat_child(path.name))
177
+ with os.fdopen(fd, "wb") as stream:
178
+ try:
179
+ stream.write(prepared)
180
+ stream.flush()
181
+ os.fsync(stream.fileno())
182
+ finally:
183
+ created_identity = _created_identity(stream.fileno(), directory.stat_child(path.name))
184
+ directory.sync()
185
+ _require_same_source(root, source, raw, version)
186
+ except FileExistsError:
187
+ if created and created_identity is not None:
188
+ discard_created_output(
189
+ root, destination, [prepared], expected_identity=created_identity, allow_partial=True
190
+ )
191
+ raise LifecycleError("compact-plan-output-exists", "Canonical output must not already exist") from None
192
+ except BaseException:
193
+ if created and created_identity is not None:
194
+ discard_created_output(
195
+ root, destination, [prepared], expected_identity=created_identity, allow_partial=True
196
+ )
197
+ raise
@@ -11,6 +11,7 @@ from agent_lifecycle.audit.delta_review import (
11
11
  build_delta_review_packet,
12
12
  )
13
13
  from agent_lifecycle.changesets.snapshot import _baseline_entries
14
+ from agent_lifecycle.cli.compact_plan_commands import compact_package_profiles, compact_plan_command
14
15
  from agent_lifecycle.cli.plan_lock_commands import create_reviewed_plan_lock, prepare_freeze_candidate
15
16
  from agent_lifecycle.compiler import build_phase_packet, compile_small_model_packets, compile_task_packets
16
17
  from agent_lifecycle.contracts import (
@@ -126,6 +127,15 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
126
127
 
127
128
 
128
129
  def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
130
+ if args.plan_command == "package-profiles":
131
+ return compact_package_profiles()
132
+ if args.plan_command in {"compact-compile", "compact-explain"}:
133
+ return compact_plan_command(
134
+ input_path=args.input,
135
+ output_path=getattr(args, "out", None),
136
+ repository_root=Path(args.repository_root),
137
+ explain=args.plan_command == "compact-explain",
138
+ )
129
139
  if args.plan_command == "freeze-prepare":
130
140
  return prepare_freeze_candidate(
131
141
  manifest_path=args.manifest,
@@ -12,6 +12,14 @@ _SMALL_CONTEXT_PROFILE = builtin_profile_path("small-context-profile.v1.json")
12
12
  def _add_plan_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
13
13
  plan = subparsers.add_parser("plan", help="plan commands")
14
14
  plan_sub = plan.add_subparsers(dest="plan_command", required=True)
15
+ plan_sub.add_parser("package-profiles", help="describe tier obligations without granting authority")
16
+ compact = plan_sub.add_parser("compact-compile", help="create a canonical DRAFT from bounded compact input")
17
+ compact.add_argument("--input", required=True)
18
+ compact.add_argument("--out", required=True)
19
+ compact.add_argument("--repository-root", default=".")
20
+ explain = plan_sub.add_parser("compact-explain", help="explain compact input without writing or executing")
21
+ explain.add_argument("--input", required=True)
22
+ explain.add_argument("--repository-root", default=".")
15
23
  prepare = plan_sub.add_parser("freeze-prepare", help="create a new review candidate; never a review or lock")
16
24
  prepare.add_argument("--manifest", required=True)
17
25
  prepare.add_argument("--out", required=True)
@@ -0,0 +1,261 @@
1
+ """Closed, bounded compact authoring input; no review or execution authority."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ import re
7
+ from typing import Any, NoReturn
8
+
9
+ from agent_lifecycle.contracts.canonical import canonical_bytes
10
+ from agent_lifecycle.contracts.errors import LifecycleError
11
+ from agent_lifecycle.contracts.paths import normalize_repo_path
12
+
13
+ COMPACT_PLAN_SCHEMA = "agent-compact-plan.v1"
14
+ MAX_COMPACT_INPUT_BYTES = 65536
15
+ MAX_COMPACT_OUTPUT_BYTES = 262144
16
+ MAX_COMPACT_CHANGES = 12
17
+ MAX_COMPACT_COMMANDS = 32
18
+ COMPACT_RISKS = frozenset(
19
+ (
20
+ "architecture",
21
+ "security",
22
+ "performance",
23
+ "browser",
24
+ "externalEnvironment",
25
+ "data",
26
+ "release",
27
+ "externalSpecification",
28
+ )
29
+ )
30
+ ORCHESTRATION_FIELDS = frozenset(
31
+ (
32
+ "startMode",
33
+ "remediationMode",
34
+ "maxPlanReviewRounds",
35
+ "maxTaskAttempts",
36
+ "maxParallelTasks",
37
+ "maxValidationRunsPerTask",
38
+ "maxToolCallsPerIteration",
39
+ "maxUsageIterationsPerAttempt",
40
+ "maxToolCallsPerTask",
41
+ "maxToolCallsPerRun",
42
+ "maxReportedTokensPerTask",
43
+ "maxReportedTokensPerRun",
44
+ "maxEvidenceArtifactBytes",
45
+ "maxEvidenceBytesPerTask",
46
+ "maxEvidenceBytesPerRun",
47
+ "maxTaskWallSeconds",
48
+ "maxRunWallSeconds",
49
+ "maxContextBytes",
50
+ "maxRenderedPacketBytes",
51
+ )
52
+ )
53
+ _ROOT_FIELDS = frozenset(
54
+ (
55
+ "schemaVersion",
56
+ "tier",
57
+ "mechanical",
58
+ "package",
59
+ "author",
60
+ "baseRevision",
61
+ "owner",
62
+ "riskFlags",
63
+ "changes",
64
+ "orchestration",
65
+ "releaseImpact",
66
+ "readOnly",
67
+ "forbiddenWrites",
68
+ "securityGates",
69
+ "contextLimits",
70
+ )
71
+ )
72
+ _CHANGE_FIELDS = frozenset(
73
+ ("id", "title", "requirement", "acceptance", "evidenceDescription", "evidencePath", "writes", "validationCommands")
74
+ )
75
+ _ID = re.compile(r"[A-Za-z][A-Za-z0-9_-]{0,39}\Z")
76
+ _SHA = re.compile(r"[0-9a-f]{40}\Z")
77
+
78
+
79
+ def load_compact_plan_input(raw: bytes) -> dict[str, Any]:
80
+ """Parse only bounded UTF-8 JSON with unique keys and finite numbers."""
81
+ if not isinstance(raw, bytes) or len(raw) > MAX_COMPACT_INPUT_BYTES:
82
+ _fail("input-too-large", "Compact input must be bytes within 65536 bytes")
83
+ try:
84
+ value = json.loads(raw.decode("utf-8"), object_pairs_hook=_unique_object, parse_constant=_nonfinite)
85
+ except (UnicodeError, ValueError, RecursionError):
86
+ _fail("json-invalid", "Compact input must be finite, bounded UTF-8 JSON")
87
+ return require_compact_plan_input(value)
88
+
89
+
90
+ def require_compact_plan_input(value: Any) -> dict[str, Any]:
91
+ """Validate the exact source shape without inferring low risk or missing facts."""
92
+ source = _object(value, _ROOT_FIELDS, "input")
93
+ if source["schemaVersion"] != COMPACT_PLAN_SCHEMA:
94
+ _fail("schema-unsupported", "Unsupported compact input schema")
95
+ if source["tier"] not in ("S0", "S1"):
96
+ _fail("full-s2-required", "Compact authoring requires explicit S0/S1; use the full S2 route")
97
+ if type(source["mechanical"]) is not bool:
98
+ _fail("mechanical-invalid", "mechanical must be a boolean")
99
+ if source["tier"] == "S0" and source["mechanical"] is not True:
100
+ _fail("full-s2-required", "S0 requires explicitly bounded mechanical work")
101
+ package = _object(source["package"], {"id", "title", "planArtifactRoot", "artifactRoot"}, "package")
102
+ for field in ("id", "title"):
103
+ _text(package[field], "package." + field, 200)
104
+ for field in ("planArtifactRoot", "artifactRoot"):
105
+ _path(package[field], "package." + field)
106
+ for field in ("author", "owner"):
107
+ _text(source[field], field, 200)
108
+ base = _object(source["baseRevision"], {"ref", "sha"}, "baseRevision")
109
+ _text(base["ref"], "baseRevision.ref", 200)
110
+ if not isinstance(base["sha"], str) or _SHA.fullmatch(base["sha"]) is None:
111
+ _fail("base-invalid", "baseRevision.sha must be exactly 40 lowercase hex characters")
112
+ risks = _object(source["riskFlags"], COMPACT_RISKS, "riskFlags")
113
+ if any(type(flag) is not bool for flag in risks.values()):
114
+ _fail("risk-invalid", "Every risk flag must be a strict boolean")
115
+ if any(risks.values()):
116
+ _fail("full-s2-required", "Elevated risk requires the full S2 route")
117
+ changes = _list(source["changes"], "changes", 1, MAX_COMPACT_CHANGES)
118
+ if source["tier"] == "S0" and len(changes) != 1:
119
+ _fail("full-s2-required", "S0 requires exactly one change")
120
+ _changes(changes)
121
+ _orchestration(source["orchestration"])
122
+ _text(source["releaseImpact"], "releaseImpact")
123
+ _paths(source["readOnly"], "readOnly", 0)
124
+ _paths(source["forbiddenWrites"], "forbiddenWrites", 0)
125
+ for gate in _list(source["securityGates"], "securityGates", 1, 32):
126
+ _text(gate, "securityGates[]")
127
+ _context(source["contextLimits"])
128
+ if len(canonical_bytes(source)) > MAX_COMPACT_INPUT_BYTES:
129
+ _fail("input-too-large", "Compact input exceeds 65536 UTF-8 bytes")
130
+ return source
131
+
132
+
133
+ def _changes(changes: list[Any]) -> None:
134
+ seen: set[str] = set()
135
+ command_count = 0
136
+ for item in changes:
137
+ change = _object(item, _CHANGE_FIELDS, "change")
138
+ identity = change["id"]
139
+ if not isinstance(identity, str) or _ID.fullmatch(identity) is None:
140
+ _fail("change-id-invalid", "Change id must be a bounded literal identifier")
141
+ if identity.casefold() in seen:
142
+ _fail("change-id-duplicate", "Change ids must be unique without ambiguous case aliases")
143
+ seen.add(identity.casefold())
144
+ _text(change["title"], "change.title", 200)
145
+ for name in ("requirement", "acceptance", "evidenceDescription"):
146
+ _text(change[name], "change." + name)
147
+ _path(change["evidencePath"], "change.evidencePath")
148
+ _paths(change["writes"], "change.writes", 1)
149
+ commands = _list(change["validationCommands"], "change.validationCommands", 1, MAX_COMPACT_COMMANDS)
150
+ for command in commands:
151
+ _text(command, "change.validationCommands[]")
152
+ command_count += len(commands)
153
+ if command_count > MAX_COMPACT_COMMANDS:
154
+ _fail("commands-too-many", "Total validation command occurrences exceed 32")
155
+
156
+
157
+ def _orchestration(value: Any) -> None:
158
+ policy = _object(value, ORCHESTRATION_FIELDS, "orchestration")
159
+ if policy["startMode"] != "manual-after-freeze" or policy["remediationMode"] not in ("ask", "bounded-auto"):
160
+ _fail("execution-mode-invalid", "Compact plans require reviewed freeze and separate manual authorization")
161
+ for field in ORCHESTRATION_FIELDS - {"startMode", "remediationMode"}:
162
+ _positive_integer(policy[field], "orchestration." + field)
163
+ if policy["maxParallelTasks"] != 1 or policy["maxTaskAttempts"] > 3 or policy["maxPlanReviewRounds"] > 4:
164
+ _fail("execution-limits-invalid", "Compact work is serial with at most 3 attempts and 4 review rounds")
165
+ pairs = (
166
+ ("maxToolCallsPerTask", "maxToolCallsPerRun"),
167
+ ("maxReportedTokensPerTask", "maxReportedTokensPerRun"),
168
+ ("maxTaskWallSeconds", "maxRunWallSeconds"),
169
+ ("maxEvidenceArtifactBytes", "maxEvidenceBytesPerTask"),
170
+ ("maxEvidenceBytesPerTask", "maxEvidenceBytesPerRun"),
171
+ )
172
+ if any(policy[small] > policy[large] for small, large in pairs):
173
+ _fail("execution-limits-invalid", "Per-task and per-artifact caps must fit enclosing caps")
174
+
175
+
176
+ def _context(value: Any) -> None:
177
+ limits = _object(
178
+ value,
179
+ {"targetReviewerPacketTokens", "maxReviewerPacketTokens", "smallContextProfilesRequired"},
180
+ "contextLimits",
181
+ )
182
+ for field in ("targetReviewerPacketTokens", "maxReviewerPacketTokens"):
183
+ _positive_integer(limits[field], "contextLimits." + field)
184
+ if limits["targetReviewerPacketTokens"] > limits["maxReviewerPacketTokens"]:
185
+ _fail("context-invalid", "Target reviewer packet must fit its maximum")
186
+ if limits["smallContextProfilesRequired"] is not True:
187
+ _fail("context-invalid", "Small-context profiles must remain required")
188
+
189
+
190
+ def _object(value: Any, fields: set[str] | frozenset[str], label: str) -> dict[str, Any]:
191
+ if not isinstance(value, dict) or set(value) != fields:
192
+ _fail("fields-invalid", label + " must contain exactly its declared fields")
193
+ return value
194
+
195
+
196
+ def _list(value: Any, label: str, minimum: int, maximum: int) -> list[Any]:
197
+ if not isinstance(value, list) or not minimum <= len(value) <= maximum:
198
+ _fail("list-invalid", label + " has an invalid type or item count")
199
+ return value
200
+
201
+
202
+ def _text(value: Any, label: str, maximum: int = 4096) -> str:
203
+ if not isinstance(value, str) or not value.strip() or len(value) > maximum or "\x00" in value:
204
+ _fail("text-invalid", label + " must be nonempty bounded text without NUL")
205
+ try:
206
+ value.encode("utf-8")
207
+ except UnicodeError:
208
+ _fail("text-invalid", label + " must be valid UTF-8 text")
209
+ return value
210
+
211
+
212
+ def _positive_integer(value: Any, label: str) -> None:
213
+ if type(value) is not int or value <= 0:
214
+ _fail("integer-invalid", label + " must be a strict positive integer")
215
+
216
+
217
+ def _path(value: Any, label: str) -> str:
218
+ _text(value, label, 1024)
219
+ if any(character in value for character in "*?[]"):
220
+ _fail("path-invalid", label + " must be a literal path without wildcards")
221
+ normalized = normalize_repo_path(value, label=label)
222
+ if normalized != value:
223
+ _fail("path-invalid", label + " must already be a canonical literal relative path")
224
+ return normalized
225
+
226
+
227
+ def _paths(value: Any, label: str, minimum: int) -> None:
228
+ paths = _list(value, label, minimum, 128)
229
+ normalized = [_path(path, label + "[]") for path in paths]
230
+ if len({path.casefold() for path in normalized}) != len(normalized):
231
+ _fail("path-duplicate", label + " contains duplicate or ambiguous paths")
232
+
233
+
234
+ def _unique_object(pairs: list[tuple[str, Any]]) -> dict[str, Any]:
235
+ result: dict[str, Any] = {}
236
+ for key, value in pairs:
237
+ if key in result:
238
+ _fail("json-duplicate-key", "Duplicate JSON keys are forbidden")
239
+ result[key] = value
240
+ return result
241
+
242
+
243
+ def _nonfinite(_: str) -> Any:
244
+ _fail("json-nonfinite", "Non-finite JSON numbers are forbidden")
245
+
246
+
247
+ def _fail(code: str, message: str) -> NoReturn:
248
+ raise LifecycleError("compact-plan-" + code, message)
249
+
250
+
251
+ __all__ = [
252
+ "COMPACT_PLAN_SCHEMA",
253
+ "COMPACT_RISKS",
254
+ "MAX_COMPACT_CHANGES",
255
+ "MAX_COMPACT_COMMANDS",
256
+ "MAX_COMPACT_INPUT_BYTES",
257
+ "MAX_COMPACT_OUTPUT_BYTES",
258
+ "ORCHESTRATION_FIELDS",
259
+ "load_compact_plan_input",
260
+ "require_compact_plan_input",
261
+ ]