agent-lifecycle-kit 2.14.0__tar.gz → 2.15.0__tar.gz

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