agent-lifecycle-kit 2.16.0__tar.gz → 2.18.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 (513) hide show
  1. {agent_lifecycle_kit-2.16.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.18.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/pyproject.toml +4 -4
  4. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/external_check.py +5 -8
  6. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/process.py +2 -0
  7. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/process_control.py +33 -2
  8. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +8 -10
  9. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/changesets/git.py +23 -21
  10. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/changesets/git_io.py +358 -0
  11. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/changesets/snapshot.py +8 -14
  12. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch.py +12 -1
  13. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +1 -0
  14. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_planning.py +1 -1
  15. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +1 -0
  16. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/main.py +2 -1
  17. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/compiler/task_packets.py +2 -0
  18. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +34 -10
  19. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/canonical.py +8 -0
  20. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/ed25519.py +11 -4
  21. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/contracts/launch_qualification.py +105 -0
  22. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/contracts/persistence.py +52 -0
  23. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +33 -2
  24. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/contracts/process_lock.py +124 -0
  25. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/redaction.py +34 -1
  26. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +73 -17
  27. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection.py +18 -4
  28. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_common.py +64 -12
  29. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +100 -44
  30. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/host_protocol/opencode_compatibility.py +153 -0
  31. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/authority.py +30 -4
  32. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/neutrality/git_objects.py +208 -0
  33. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/completeness.py +24 -13
  34. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/manifest_contract.py +65 -0
  35. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/planning/prerequisites.py +105 -0
  36. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/validation.py +8 -2
  37. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/quality/dependency_impact.py +609 -0
  38. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/change_summary.py +29 -26
  39. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/authorization.py +5 -1
  40. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/budget_decisions.py +10 -5
  41. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +99 -24
  42. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/events.py +58 -8
  43. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/finalization.py +35 -17
  44. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/initialization.py +10 -3
  45. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/limited_usage.py +67 -13
  46. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/workflow/operation_kernel.py +152 -0
  47. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/plan_adoption.py +13 -5
  48. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/reviews.py +149 -1
  49. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/workflow/run_transitions.py +329 -0
  50. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/state.py +20 -1
  51. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/task_outcomes.py +2 -0
  52. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/task_start.py +2 -0
  53. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/task_transitions.py +8 -1
  54. agent_lifecycle_kit-2.18.0/src/agent_lifecycle/workflow/transactions.py +57 -0
  55. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  56. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +5 -0
  57. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/contracts/launch_qualification.py +0 -47
  58. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/contracts/persistence.py +0 -33
  59. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/neutrality/git_objects.py +0 -177
  60. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/quality/dependency_impact.py +0 -339
  61. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/workflow/operation_kernel.py +0 -91
  62. agent_lifecycle_kit-2.16.0/src/agent_lifecycle/workflow/run_transitions.py +0 -185
  63. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/LICENSE +0 -0
  64. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/NOTICE +0 -0
  65. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/README.md +0 -0
  66. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/manifest.json +0 -0
  67. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  68. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  69. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  70. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  71. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  72. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  73. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  74. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  75. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  76. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  77. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/setup.cfg +0 -0
  78. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/__init__.py +0 -0
  79. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/__main__.py +0 -0
  80. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  81. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  82. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  83. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  84. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  85. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  86. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  87. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  88. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  89. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  90. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  91. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  92. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  93. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  94. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  95. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  96. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  97. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
  98. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  99. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  100. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  101. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  102. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  103. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  104. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  105. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  106. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  107. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  108. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  109. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  110. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  111. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  112. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  113. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  114. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  115. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  116. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  117. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  118. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  119. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  120. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  121. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  122. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  123. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  124. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  125. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  126. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  127. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  128. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  129. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  130. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  131. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  132. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  133. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  134. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  135. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  136. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  137. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  138. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  139. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  140. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  141. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  142. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  143. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  144. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  145. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  146. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  147. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  148. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/delta.py +0 -0
  149. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  150. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  151. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  152. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  153. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/package.py +0 -0
  154. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  155. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  156. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  157. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  158. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  159. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  160. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  161. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  162. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  163. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  164. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  165. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  166. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  167. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  168. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  169. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  170. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  171. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  172. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  173. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  174. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  175. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  176. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  177. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  178. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/errors.py +0 -0
  179. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/followup.py +0 -0
  180. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  181. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  182. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  183. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  184. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  185. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
  186. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/policy.py +0 -0
  187. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  188. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/project.py +0 -0
  189. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/research.py +0 -0
  190. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/start.py +0 -0
  191. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  192. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  193. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  194. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  195. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  196. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  197. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  198. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/__init__.py +0 -0
  199. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  200. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  201. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  202. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  203. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/profiles.py +0 -0
  204. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/rendering.py +0 -0
  205. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  206. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  207. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  209. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  212. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  214. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  215. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  216. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  217. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  218. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  220. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  221. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  222. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  223. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  224. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  225. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  226. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  227. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  228. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  229. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  230. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  231. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  232. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  233. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  234. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  235. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  236. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  237. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  240. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  241. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  242. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  243. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  244. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  245. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  246. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  247. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  248. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  249. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  250. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  251. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  252. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  253. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  254. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  255. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  256. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  257. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  258. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  259. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  260. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  261. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  262. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  263. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  265. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  266. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  267. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  268. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  269. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  270. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  271. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  272. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  273. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  275. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  276. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  277. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  278. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  279. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  280. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  281. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  282. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  283. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
  284. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  285. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  286. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  287. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  288. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  289. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  290. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  291. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  292. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  293. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  294. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  295. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  296. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  297. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  298. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  299. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  300. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  301. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  302. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  303. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  304. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  305. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  306. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  307. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/__init__.py +0 -0
  308. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  309. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  310. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  311. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  312. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  313. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  314. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  315. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  316. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  317. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  318. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  319. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  320. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  321. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  322. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  323. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  324. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  325. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  326. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  327. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/followup/records.py +0 -0
  328. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  329. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  330. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  331. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  332. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/goal/records.py +0 -0
  333. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/goal/view.py +0 -0
  334. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  335. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  336. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  337. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  338. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  339. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  340. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  341. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  342. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  343. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  344. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  345. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  346. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  347. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  348. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  349. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  350. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  351. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  352. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  353. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  354. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  355. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  356. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  357. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  358. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  359. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  360. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  361. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  362. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  363. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  364. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  365. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  366. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  367. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  368. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  369. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  370. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  371. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/planning.py +0 -0
  372. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  373. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  374. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  375. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  376. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  377. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  378. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  379. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  380. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  381. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  382. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  383. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  384. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  385. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  386. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  387. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  388. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  389. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  390. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  391. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  392. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  393. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  394. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  395. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  396. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  397. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  398. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  399. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  400. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  401. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  402. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  403. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  404. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  405. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  406. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  407. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  408. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  409. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  410. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  411. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  412. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/templates.py +0 -0
  413. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  414. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  415. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/planning/verification.py +0 -0
  416. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  417. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  418. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/apply.py +0 -0
  419. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  420. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  421. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  422. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  423. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  424. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  425. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/__init__.py +0 -0
  426. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  427. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/guidance.py +0 -0
  428. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/merge.py +0 -0
  429. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/presets.py +0 -0
  430. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/principles.py +0 -0
  431. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/project/profile.py +0 -0
  432. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/py.typed +0 -0
  433. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  434. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  435. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  436. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  437. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  438. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  439. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  440. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/packs.py +0 -0
  441. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  442. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  443. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  444. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  445. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  446. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  447. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  448. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  449. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  450. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  451. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  452. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  453. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  454. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/research/__init__.py +0 -0
  455. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/research/evidence.py +0 -0
  456. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/research/provenance.py +0 -0
  457. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/research/validation.py +0 -0
  458. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/resources.py +0 -0
  459. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review/__init__.py +0 -0
  460. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review/provenance.py +0 -0
  461. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review/validation.py +0 -0
  462. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  463. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  464. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  465. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  466. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  467. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  468. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  469. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  470. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  471. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  472. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  473. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/runner/core.py +0 -0
  474. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  475. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  476. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  477. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  478. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  479. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/specification/validation.py +0 -0
  480. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  481. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  482. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  483. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  484. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  485. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  486. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  487. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  488. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  489. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  490. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  491. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  492. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  493. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  494. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
  495. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  496. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  497. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  498. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  499. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  500. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  501. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/query.py +0 -0
  502. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  503. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  504. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/run.py +0 -0
  505. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  506. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  507. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  508. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  509. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  510. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  511. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  512. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  513. {agent_lifecycle_kit-2.16.0 → agent_lifecycle_kit-2.18.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.16.0
3
+ Version: 2.18.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.16 adds 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.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.16.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.18.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
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.16 adds 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.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.16.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.18.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
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.16.0"
7
+ version = "2.18.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"
@@ -41,9 +41,9 @@ dependencies = []
41
41
 
42
42
  [dependency-groups]
43
43
  quality = [
44
- "ruff==0.16.5",
45
- "mypy==2.3.1",
46
- "coverage==7.15.4",
44
+ "ruff==0.17.1",
45
+ "mypy==2.4.0",
46
+ "coverage==7.16.2",
47
47
  "jsonschema==4.26.0",
48
48
  ]
49
49
 
@@ -1,3 +1,3 @@
1
1
  """Package version."""
2
2
 
3
- __version__ = "2.16.0"
3
+ __version__ = "2.18.0"
@@ -6,7 +6,6 @@ import hashlib
6
6
  import json
7
7
  import os
8
8
  import shutil
9
- import subprocess
10
9
  from datetime import UTC, datetime
11
10
  from pathlib import Path
12
11
  from typing import Any
@@ -15,6 +14,7 @@ from agent_lifecycle.adapter_sessions.env import resolve_launch_env
15
14
  from agent_lifecycle.adapter_sessions.process import run_process
16
15
  from agent_lifecycle.adapter_sessions.worktree_identity import capture_git_worktree_identity
17
16
  from agent_lifecycle.audit.external_checks import audit_external_check_result
17
+ from agent_lifecycle.changesets.git_io import run_bounded_command
18
18
  from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object
19
19
  from agent_lifecycle.contracts.external_check_schemas import (
20
20
  MAX_ARG_BYTES,
@@ -258,16 +258,13 @@ def _source_snapshot(root: Path, revision: str | None) -> dict[str, Any]:
258
258
 
259
259
  def _source_paths(root: Path) -> list[str]:
260
260
  try:
261
- completed = subprocess.run(
261
+ completed = run_bounded_command(
262
262
  ["git", "ls-files", "--cached", "--others", "--exclude-standard", "-z"],
263
263
  cwd=root,
264
- shell=False,
265
- stdin=subprocess.DEVNULL,
266
- capture_output=True,
267
- timeout=30,
268
- check=False,
264
+ timeout_seconds=30,
265
+ max_stdout_bytes=MAX_SOURCE_FILE_LIST_BYTES,
269
266
  )
270
- except (OSError, subprocess.TimeoutExpired) as exc:
267
+ except (OSError, LifecycleError) as exc:
271
268
  raise LifecycleError("external-check-source-unavailable", "source file set could not be captured") from exc
272
269
  if completed.returncode != 0 or len(completed.stdout) > MAX_SOURCE_FILE_LIST_BYTES:
273
270
  raise LifecycleError("external-check-source-unavailable", "source file set could not be captured")
@@ -704,6 +704,8 @@ def run_process(
704
704
  attempt_id=attempt_id,
705
705
  adapter_id=adapter_id,
706
706
  retry=retry,
707
+ timeout_seconds=timeout_seconds,
708
+ cleanup_grace_seconds=cleanup_grace_seconds,
707
709
  )
708
710
  if invalid is not None:
709
711
  return invalid
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import math
5
6
  import subprocess
6
7
  import threading
7
8
  from typing import Any
@@ -13,6 +14,7 @@ from agent_lifecycle.contracts.process_execution_schemas import build_process_ex
13
14
  DEFAULT_OUTPUT_BYTES = 262_144
14
15
  DEFAULT_CLEANUP_GRACE_SECONDS = 1.0
15
16
 
17
+
16
18
  def _invalid_limit_failure(
17
19
  *,
18
20
  input_bytes: bytes,
@@ -23,7 +25,32 @@ def _invalid_limit_failure(
23
25
  attempt_id: str | None,
24
26
  adapter_id: str | None,
25
27
  retry: dict[str, Any] | None,
28
+ timeout_seconds: float,
29
+ cleanup_grace_seconds: float,
26
30
  ) -> dict[str, Any] | None:
31
+ for name, value in (("timeout", timeout_seconds), ("cleanup-grace", cleanup_grace_seconds)):
32
+ if (
33
+ type(value) not in (int, float)
34
+ or not math.isfinite(value)
35
+ or value < 0
36
+ or (name == "timeout" and value == 0)
37
+ ):
38
+ return _bounded_failure(
39
+ f"adapter-process-{name}-invalid",
40
+ input_bytes=len(input_bytes),
41
+ output_bytes=0,
42
+ process_started=False,
43
+ details={
44
+ "reason": (
45
+ "positive-finite-limit-required" if name == "timeout" else "nonnegative-finite-limit-required"
46
+ )
47
+ },
48
+ command_hash=command_hash,
49
+ operation_id=operation_id,
50
+ attempt_id=attempt_id,
51
+ adapter_id=adapter_id,
52
+ retry=retry,
53
+ )
27
54
  if max_input_bytes is not None and len(input_bytes) > max_input_bytes:
28
55
  return _bounded_failure(
29
56
  "adapter-process-input-limit",
@@ -52,6 +79,7 @@ def _invalid_limit_failure(
52
79
  )
53
80
  return None
54
81
 
82
+
55
83
  def _build_process_result(
56
84
  process: subprocess.Popen[Any],
57
85
  *,
@@ -75,8 +103,9 @@ def _build_process_result(
75
103
  ) -> dict[str, Any]:
76
104
  stdout = capture.captures["stdout"].decode("utf-8", errors="replace")
77
105
  stderr = capture.captures["stderr"].decode("utf-8", errors="replace")
78
- stdout_tail, stdout_redacted = redact_process_text(stdout[-2000:])
79
- stderr_tail, stderr_redacted = redact_process_text(stderr[-2000:])
106
+ safe_stdout, stdout_redacted = redact_process_text(stdout)
107
+ safe_stderr, stderr_redacted = redact_process_text(stderr)
108
+ stdout_tail, stderr_tail = safe_stdout[-2000:], safe_stderr[-2000:]
80
109
  blockers = _process_blockers(
81
110
  capture.output_limit_exceeded,
82
111
  timed_out=timed_out,
@@ -132,6 +161,7 @@ def _build_process_result(
132
161
  "blockers": blockers,
133
162
  }
134
163
 
164
+
135
165
  def _process_blockers(
136
166
  output_limit_exceeded: threading.Event,
137
167
  *,
@@ -155,6 +185,7 @@ def _process_blockers(
155
185
  blockers.append({"code": "adapter-process-cleanup-unverified", "cleanup": cleanup})
156
186
  return blockers
157
187
 
188
+
158
189
  def _bounded_failure(
159
190
  code: str,
160
191
  *,
@@ -4,17 +4,18 @@ from __future__ import annotations
4
4
 
5
5
  import hashlib
6
6
  import os
7
- import subprocess
8
7
  import time
9
8
  from pathlib import Path
10
9
  from typing import Any
11
10
 
11
+ from agent_lifecycle.changesets.git_io import run_bounded_command
12
12
  from agent_lifecycle.contracts import LifecycleError, canonical_digest
13
13
 
14
14
  MAX_UNTRACKED_FILES = 100_000
15
15
  MAX_UNTRACKED_BYTES = 4 * 1024 * 1024 * 1024
16
16
  MAX_HASH_CHUNK_BYTES = 256 * 1024
17
17
  MAX_CAPTURE_SECONDS = 120.0
18
+ MAX_GIT_CAPTURE_BYTES = 128 * 1024 * 1024
18
19
 
19
20
 
20
21
  def capture_git_worktree_identity(project_root: Path) -> dict[str, Any]:
@@ -29,8 +30,8 @@ def capture_git_worktree_identity(project_root: Path) -> dict[str, Any]:
29
30
  root = project_root.resolve()
30
31
  deadline = time.monotonic() + MAX_CAPTURE_SECONDS
31
32
  head = _git_bytes(root, ["rev-parse", "HEAD"], deadline).decode("ascii", errors="strict").strip()
32
- staged = _git_bytes(root, ["diff", "--cached", "--binary", "--no-ext-diff"], deadline)
33
- unstaged = _git_bytes(root, ["diff", "--binary", "--no-ext-diff"], deadline)
33
+ staged = _git_bytes(root, ["diff", "--cached", "--binary", "--no-ext-diff", "--no-textconv"], deadline)
34
+ unstaged = _git_bytes(root, ["diff", "--binary", "--no-ext-diff", "--no-textconv"], deadline)
34
35
  submodules = _git_bytes(root, ["submodule", "status", "--recursive"], deadline)
35
36
  untracked_raw = _git_bytes(root, ["ls-files", "--others", "--exclude-standard", "-z"], deadline)
36
37
  names = sorted(item for item in untracked_raw.split(b"\0") if item)
@@ -131,16 +132,13 @@ def _git_bytes(root: Path, args: list[str], deadline: float) -> bytes:
131
132
  if remaining <= 0:
132
133
  raise LifecycleError("planning-worktree-identity-timeout", "Git identity capture exceeded its deadline")
133
134
  try:
134
- result = subprocess.run(
135
+ result = run_bounded_command(
135
136
  ["git", *args],
136
137
  cwd=root,
137
- shell=False,
138
- stdin=subprocess.DEVNULL,
139
- capture_output=True,
140
- timeout=remaining,
141
- check=False,
138
+ timeout_seconds=remaining,
139
+ max_stdout_bytes=MAX_GIT_CAPTURE_BYTES,
142
140
  )
143
- except (OSError, subprocess.TimeoutExpired) as exc:
141
+ except (OSError, LifecycleError) as exc:
144
142
  raise LifecycleError(
145
143
  "planning-worktree-identity-failed",
146
144
  "Git identity capture failed closed",
@@ -2,9 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import subprocess
6
5
  from pathlib import Path
7
6
 
7
+ from agent_lifecycle.changesets.git_io import run_bounded_command
8
8
  from agent_lifecycle.contracts import LifecycleError
9
9
  from agent_lifecycle.contracts.paths import normalize_git_revision, normalize_repo_path
10
10
 
@@ -63,20 +63,24 @@ def changed_files(cwd: Path, *, base: str | None = None) -> list[str]:
63
63
  def resolve_revision(cwd: Path, revision: str, *, label: str = "revision") -> str:
64
64
  value = normalize_git_revision(revision, label=label)
65
65
  try:
66
- completed = subprocess.run(
66
+ completed = run_bounded_command(
67
67
  ["git", "rev-parse", "--verify", "--end-of-options", f"{value}^{{commit}}"],
68
68
  cwd=cwd,
69
- check=True,
70
- capture_output=True,
71
- text=True,
72
- timeout=GIT_TIMEOUT_SECONDS,
69
+ timeout_seconds=GIT_TIMEOUT_SECONDS,
70
+ max_stdout_bytes=128,
73
71
  )
74
- except (OSError, subprocess.CalledProcessError, subprocess.TimeoutExpired) as exc:
72
+ except (OSError, LifecycleError) as exc:
75
73
  raise LifecycleError("invalid-git-revision", f"{label}: revision cannot be resolved") from exc
76
74
  resolved = completed.stdout.strip().splitlines()
77
- if len(resolved) != 1 or not resolved[0]:
75
+ if completed.returncode or len(resolved) != 1 or len(resolved[0]) not in (40, 64):
78
76
  raise LifecycleError("invalid-git-revision", f"{label}: revision cannot be resolved")
79
- return resolved[0]
77
+ try:
78
+ value = resolved[0].decode("ascii")
79
+ except UnicodeDecodeError as exc:
80
+ raise LifecycleError("invalid-git-revision", f"{label}: revision cannot be resolved") from exc
81
+ if any(char not in "0123456789abcdef" for char in value):
82
+ raise LifecycleError("invalid-git-revision", f"{label}: revision cannot be resolved")
83
+ return value
80
84
 
81
85
 
82
86
  def _resolve_revision(cwd: Path, revision: str, *, label: str = "revision") -> str:
@@ -87,21 +91,19 @@ def _resolve_revision(cwd: Path, revision: str, *, label: str = "revision") -> s
87
91
 
88
92
  def _git_paths(cwd: Path, argv: list[str]) -> list[str]:
89
93
  try:
90
- completed = subprocess.run(
94
+ completed = run_bounded_command(
91
95
  argv,
92
96
  cwd=cwd,
93
- check=True,
94
- capture_output=True,
95
- timeout=GIT_TIMEOUT_SECONDS,
96
- )
97
- except (OSError, subprocess.CalledProcessError, subprocess.TimeoutExpired) as exc:
98
- raise LifecycleError("git-command-failed", f"git command failed: {' '.join(argv)}") from exc
99
- if len(completed.stdout) > MAX_GIT_OUTPUT_BYTES:
100
- raise LifecycleError(
101
- "git-output-limit",
102
- "Git changed-file output exceeds the bounded snapshot limit",
103
- {"maxBytes": MAX_GIT_OUTPUT_BYTES},
97
+ timeout_seconds=GIT_TIMEOUT_SECONDS,
98
+ max_stdout_bytes=MAX_GIT_OUTPUT_BYTES,
104
99
  )
100
+ except LifecycleError as exc:
101
+ code = "git-output-limit" if exc.code == "bounded-process-output-limit" else "git-command-failed"
102
+ raise LifecycleError(code, "Git changed-file command failed closed") from exc
103
+ except OSError as exc:
104
+ raise LifecycleError("git-command-failed", "Git changed-file command could not start") from exc
105
+ if completed.returncode:
106
+ raise LifecycleError("git-command-failed", "Git changed-file command failed")
105
107
  paths = []
106
108
  for raw in completed.stdout.split(b"\0"):
107
109
  if not raw: