agent-lifecycle-kit 1.78.0__tar.gz → 1.80.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 (371) hide show
  1. {agent_lifecycle_kit-1.78.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-1.80.0}/PKG-INFO +7 -7
  2. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/README.md +6 -6
  3. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/_version.py +1 -1
  5. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +158 -0
  6. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +26 -8
  7. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/ownership.py +77 -21
  8. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/adapter.py +82 -23
  9. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_planning.py +27 -0
  10. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/planning_parsers.py +9 -0
  11. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +24 -1
  12. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +66 -0
  13. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +524 -0
  14. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/contracts/lifecycle_control_validation.py +729 -0
  15. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/contracts/ownership_paths.py +43 -0
  16. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +51 -3
  17. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/contracts/plan_manifest_schemas.py +139 -0
  18. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/schemas.py +267 -5
  19. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/capabilities.py +72 -20
  20. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/event_capture.py +249 -14
  21. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/host_protocol/lifecycle_control.py +155 -0
  22. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +356 -0
  23. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/host_protocol/lifecycle_gate.py +701 -0
  24. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/external_dialects.py +38 -15
  25. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/planning.py +6 -0
  26. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/completeness.py +192 -24
  27. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/planning/manifest_contract.py +321 -0
  28. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/planning/traceability.py +282 -0
  29. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/validation.py +5 -0
  30. agent_lifecycle_kit-1.80.0/src/agent_lifecycle/planning/verification.py +293 -0
  31. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/finalization.py +73 -7
  32. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/managed_runner.py +143 -2
  33. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/plan_adoption.py +58 -40
  34. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/task_transitions.py +124 -20
  35. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +7 -7
  36. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +12 -0
  37. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/LICENSE +0 -0
  38. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/NOTICE +0 -0
  39. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/README.md +0 -0
  40. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/manifest.json +0 -0
  41. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  42. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  43. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  44. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  45. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  46. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  47. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  48. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  49. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  50. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  51. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/setup.cfg +0 -0
  52. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/__init__.py +0 -0
  53. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/__main__.py +0 -0
  54. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  55. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  56. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  57. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  58. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  59. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  60. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  61. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  62. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  63. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  64. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  65. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  66. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  67. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  68. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  69. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  70. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  71. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  72. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  73. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  74. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  75. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  76. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  77. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  78. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  79. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  80. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  81. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/package.py +0 -0
  82. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  83. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  84. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  85. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  86. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  87. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  88. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  89. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  90. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  91. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  92. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  93. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  94. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  95. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/changesets/git.py +0 -0
  96. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  97. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  98. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  99. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  100. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  101. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  102. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  103. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  104. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  105. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  106. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/errors.py +0 -0
  107. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/followup.py +0 -0
  108. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  109. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
  110. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/main.py +0 -0
  111. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  112. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  113. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  114. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/policy.py +0 -0
  115. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  116. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/project.py +0 -0
  117. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/research.py +0 -0
  118. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/start.py +0 -0
  119. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  120. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  121. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  122. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  123. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  124. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/__init__.py +0 -0
  125. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  126. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  127. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  128. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  129. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/profiles.py +0 -0
  130. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/rendering.py +0 -0
  131. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  132. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  133. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  134. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  135. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  136. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  137. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  138. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  139. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  140. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  141. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  142. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  143. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  144. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  145. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  146. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  147. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  148. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  149. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  150. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  151. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  152. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  153. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  154. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  155. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  156. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  157. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  158. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  159. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  160. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  161. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  162. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  163. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  164. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  165. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  166. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  167. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  168. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  169. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  170. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  171. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  172. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  173. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  174. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  175. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  176. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  177. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  178. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  179. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  180. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  181. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  182. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  183. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  184. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  185. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  186. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  187. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  188. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  189. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  190. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  191. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/__init__.py +0 -0
  192. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  193. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  194. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  195. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  196. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  197. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  198. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  199. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  200. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  201. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  202. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  203. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  204. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  205. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  206. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  207. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  208. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/followup/records.py +0 -0
  209. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  210. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  211. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  212. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  213. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/goal/records.py +0 -0
  214. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/goal/view.py +0 -0
  215. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  216. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  217. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  218. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  219. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  220. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  221. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  222. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  223. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  224. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  225. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  226. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  227. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  228. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  229. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  230. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  231. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  232. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  233. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  234. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  235. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  236. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  237. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  238. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  239. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  240. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  241. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  242. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  243. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  244. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  245. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  246. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  247. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  248. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  249. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  250. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  251. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  252. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  253. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  254. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  255. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  256. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  257. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  258. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  259. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  260. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  261. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  262. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  263. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  264. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  265. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  266. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  267. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  268. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  269. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  270. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  271. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  272. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  273. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  274. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  275. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  276. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  277. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  278. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  279. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  280. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  281. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  282. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  283. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/templates.py +0 -0
  284. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  285. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  286. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  287. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/apply.py +0 -0
  288. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  289. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  290. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  291. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  292. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  293. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  294. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/__init__.py +0 -0
  295. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/guidance.py +0 -0
  296. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/merge.py +0 -0
  297. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/presets.py +0 -0
  298. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/principles.py +0 -0
  299. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/project/profile.py +0 -0
  300. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/py.typed +0 -0
  301. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  302. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  303. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  304. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  305. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  306. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  307. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/quality/packs.py +0 -0
  308. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  309. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  310. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  311. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  312. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  313. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  314. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  315. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  316. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  317. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  318. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/research/__init__.py +0 -0
  319. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/research/evidence.py +0 -0
  320. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/research/provenance.py +0 -0
  321. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/research/validation.py +0 -0
  322. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/resources.py +0 -0
  323. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review/__init__.py +0 -0
  324. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review/validation.py +0 -0
  325. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  326. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  327. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  328. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  329. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  330. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  331. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  332. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  333. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  334. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/runner/attempt_snapshots.py +0 -0
  335. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/runner/core.py +0 -0
  336. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  337. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  338. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  339. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  340. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  341. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/specification/validation.py +0 -0
  342. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  343. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  344. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  345. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  346. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  347. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  348. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  349. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  350. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/events.py +0 -0
  351. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  352. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  353. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  354. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  355. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  356. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  357. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  358. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  359. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/query.py +0 -0
  360. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  361. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  362. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  363. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  364. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  365. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  366. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/workflow/state.py +0 -0
  367. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  368. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  369. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  370. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  371. {agent_lifecycle_kit-1.78.0 → agent_lifecycle_kit-1.80.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: 1.78.0
3
+ Version: 1.80.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==1.78.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==1.80.0`, and common `agent-lifecycle version` errors.
47
47
 
48
48
  For a quick start, run:
49
49
 
@@ -81,11 +81,11 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
81
81
  - Usage visibility: tokens, time, resource counters and structured execution records without sensitive data are native; monetary cost is optional and only used when a metered host reports it.
82
82
  - Project-specific workflow settings: ALK can discover and validate uncommitted local defaults, or apply a built-in workflow preset for a common route, while the frozen plan remains authoritative.
83
83
  - Reproducible Python maintenance: pinned development-only Ruff, mypy and coverage checks, a non-growing quality ratchet, stable redacted CLI errors, installed package resources, an explicit documented Python API, and bounded performance controls that preserve security and evidence rules.
84
+ - Optional adapter lifecycle control: operation-level `GUIDANCE_ONLY`, `OBSERVED` and `ENFORCED` declarations remain separate from general adapter support; bundled adapters currently publish `GUIDANCE_ONLY` with `NO_RECOMMENDATION`, and managed launch remains `WRAPPER_ONLY`. See [optional adapter lifecycle control](docs/adapters/lifecycle-control.md).
84
85
  - Project principles and plan deltas keep long-running work understandable: principles provide bounded defaults, while a digest-bound delta shows which plan authority changed and whether review and a new lock are required. CI also checks an acyclic module/package graph, layer direction and source-size limits; adapter inspection uses bounded literal profiles and fails closed without executing adapter code.
85
- - Read-only progress and managed sessions: host UIs can show lifecycle state,
86
- attested tokens and Git-style change counters; `start` accepts task text,
87
- Markdown, frozen run requests or stored ALK sessions while preserving
88
- review/freeze boundaries.
86
+ - Read-only progress and managed sessions preserve review/freeze boundaries;
87
+ host UIs show lifecycle state and counters, `start` accepts task text,
88
+ Markdown, frozen requests or stored sessions, and `plan verify` only checks plan data.
89
89
 
90
90
  ## Feature areas
91
91
  ### Plan and execute
@@ -194,7 +194,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
194
194
 
195
195
  - Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
196
196
  - Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
197
- - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Research evidence](docs/reference/research-evidence.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
197
+ - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
198
198
  - Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
199
199
  - Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner recovery](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
200
200
  - Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
@@ -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==1.78.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==1.80.0`, and common `agent-lifecycle version` errors.
25
25
 
26
26
  For a quick start, run:
27
27
 
@@ -59,11 +59,11 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
59
59
  - Usage visibility: tokens, time, resource counters and structured execution records without sensitive data are native; monetary cost is optional and only used when a metered host reports it.
60
60
  - Project-specific workflow settings: ALK can discover and validate uncommitted local defaults, or apply a built-in workflow preset for a common route, while the frozen plan remains authoritative.
61
61
  - Reproducible Python maintenance: pinned development-only Ruff, mypy and coverage checks, a non-growing quality ratchet, stable redacted CLI errors, installed package resources, an explicit documented Python API, and bounded performance controls that preserve security and evidence rules.
62
+ - Optional adapter lifecycle control: operation-level `GUIDANCE_ONLY`, `OBSERVED` and `ENFORCED` declarations remain separate from general adapter support; bundled adapters currently publish `GUIDANCE_ONLY` with `NO_RECOMMENDATION`, and managed launch remains `WRAPPER_ONLY`. See [optional adapter lifecycle control](docs/adapters/lifecycle-control.md).
62
63
  - Project principles and plan deltas keep long-running work understandable: principles provide bounded defaults, while a digest-bound delta shows which plan authority changed and whether review and a new lock are required. CI also checks an acyclic module/package graph, layer direction and source-size limits; adapter inspection uses bounded literal profiles and fails closed without executing adapter code.
63
- - Read-only progress and managed sessions: host UIs can show lifecycle state,
64
- attested tokens and Git-style change counters; `start` accepts task text,
65
- Markdown, frozen run requests or stored ALK sessions while preserving
66
- review/freeze boundaries.
64
+ - Read-only progress and managed sessions preserve review/freeze boundaries;
65
+ host UIs show lifecycle state and counters, `start` accepts task text,
66
+ Markdown, frozen requests or stored sessions, and `plan verify` only checks plan data.
67
67
 
68
68
  ## Feature areas
69
69
  ### Plan and execute
@@ -172,7 +172,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
172
172
 
173
173
  - Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
174
174
  - Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
175
- - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Research evidence](docs/reference/research-evidence.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
175
+ - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
176
176
  - Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
177
177
  - Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner recovery](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
178
178
  - Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "1.78.0"
7
+ version = "1.80.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__ = "1.78.0"
3
+ __version__ = "1.80.0"
@@ -0,0 +1,158 @@
1
+ """Adapter-session bridge for host-owned lifecycle-control gates."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import Any
7
+
8
+ from agent_lifecycle.contracts import LifecycleError, read_json_object
9
+ from agent_lifecycle.freeze import plan_integrity_required, verify_plan_package_integrity
10
+ from agent_lifecycle.host_protocol.lifecycle_control import load_lifecycle_control_policy
11
+ from agent_lifecycle.host_protocol.lifecycle_gate import (
12
+ evaluate_post_action_gate,
13
+ evaluate_pre_action_gate,
14
+ evaluate_stop_gate,
15
+ lifecycle_control_selection,
16
+ require_lifecycle_gate_pass,
17
+ )
18
+
19
+
20
+ def pre_action_gate(
21
+ *,
22
+ manifest_path: Path,
23
+ lock_path: Path,
24
+ state_path: Path,
25
+ operation: str,
26
+ action_digest: str,
27
+ paths: list[str],
28
+ requested_level: str | None = None,
29
+ policy_path: Path | None = None,
30
+ next_action: dict[str, Any] | None = None,
31
+ task_id: str | None = None,
32
+ expected_state_revision: int | None = None,
33
+ repository_root: Path | None = None,
34
+ ) -> dict[str, Any]:
35
+ """Return a pre-action decision for a host adapter without launching it."""
36
+
37
+ manifest = read_json_object(manifest_path, label="frozen plan manifest")
38
+ lock = read_json_object(lock_path, label="plan lock")
39
+ state = read_json_object(state_path, label="workflow state")
40
+ selected_level, selected_policy, _ = lifecycle_control_selection(state)
41
+ policy = selected_policy or (load_lifecycle_control_policy(policy_path) if policy_path else None)
42
+ package_integrity: dict[str, Any] | None = None
43
+ if plan_integrity_required(manifest):
44
+ if repository_root is None:
45
+ package_integrity = {
46
+ "status": "FAIL",
47
+ "blockers": [{"code": "repository-root-required"}],
48
+ }
49
+ else:
50
+ try:
51
+ package_integrity = verify_plan_package_integrity(
52
+ manifest,
53
+ lock,
54
+ repository_root=repository_root,
55
+ )
56
+ except LifecycleError as exc:
57
+ package_integrity = {
58
+ "status": "FAIL",
59
+ "blockers": [{"code": exc.code, "message": exc.message}],
60
+ }
61
+ return evaluate_pre_action_gate(
62
+ manifest=manifest,
63
+ lock=lock,
64
+ state=state,
65
+ operation=operation,
66
+ action_digest=action_digest,
67
+ paths=paths,
68
+ requested_level=requested_level or selected_level,
69
+ policy=policy,
70
+ next_action=next_action,
71
+ task_id=task_id,
72
+ expected_state_revision=(
73
+ expected_state_revision if expected_state_revision is not None else 0
74
+ ),
75
+ package_integrity=package_integrity,
76
+ )
77
+
78
+
79
+ def require_pre_action(**kwargs: Any) -> dict[str, Any]:
80
+ """Raise before the host action when the selected gate blocks it."""
81
+
82
+ gate = pre_action_gate(**kwargs)
83
+ return require_lifecycle_gate_pass(gate, gate_type="pre-action")
84
+
85
+
86
+ def post_action_gate(
87
+ *,
88
+ pre_action: dict[str, Any],
89
+ manifest_path: Path,
90
+ actual_changed_paths: list[str],
91
+ outcome: dict[str, Any] | None = None,
92
+ actual_status: str = "PASS",
93
+ event: dict[str, Any] | None = None,
94
+ policy_path: Path | None = None,
95
+ ) -> dict[str, Any]:
96
+ """Validate host output and changed paths after an authorized action."""
97
+
98
+ manifest = read_json_object(manifest_path, label="frozen plan manifest")
99
+ policy = load_lifecycle_control_policy(policy_path) if policy_path else None
100
+ return evaluate_post_action_gate(
101
+ pre_action=pre_action,
102
+ manifest=manifest,
103
+ actual_changed_paths=actual_changed_paths,
104
+ outcome=outcome,
105
+ actual_status=actual_status,
106
+ event=event,
107
+ policy=policy,
108
+ )
109
+
110
+
111
+ def require_post_action(**kwargs: Any) -> dict[str, Any]:
112
+ """Raise when selected post-action evidence does not match the action."""
113
+
114
+ gate = post_action_gate(**kwargs)
115
+ return require_lifecycle_gate_pass(gate, gate_type="post-action")
116
+
117
+
118
+ def stop_gate(
119
+ *,
120
+ state_path: Path,
121
+ final_audit: dict[str, Any] | None = None,
122
+ final_proof: dict[str, Any] | None = None,
123
+ pre_action: dict[str, Any] | None = None,
124
+ post_action: dict[str, Any] | None = None,
125
+ requested_level: str | None = None,
126
+ policy_path: Path | None = None,
127
+ ) -> dict[str, Any]:
128
+ """Evaluate the stop boundary from a durable workflow state snapshot."""
129
+
130
+ state = read_json_object(state_path, label="workflow state")
131
+ selected_level, selected_policy, _ = lifecycle_control_selection(state)
132
+ policy = selected_policy or (load_lifecycle_control_policy(policy_path) if policy_path else None)
133
+ return evaluate_stop_gate(
134
+ state=state,
135
+ final_audit=final_audit,
136
+ final_proof=final_proof,
137
+ pre_action=pre_action,
138
+ post_action=post_action,
139
+ requested_level=requested_level or selected_level,
140
+ policy=policy,
141
+ )
142
+
143
+
144
+ def require_stop(**kwargs: Any) -> dict[str, Any]:
145
+ """Raise when selected stop evidence is incomplete or inconsistent."""
146
+
147
+ gate = stop_gate(**kwargs)
148
+ return require_lifecycle_gate_pass(gate, gate_type="stop")
149
+
150
+
151
+ __all__ = [
152
+ "post_action_gate",
153
+ "pre_action_gate",
154
+ "require_post_action",
155
+ "require_pre_action",
156
+ "require_stop",
157
+ "stop_gate",
158
+ ]
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import os
6
6
  import signal
7
7
  import subprocess
8
+ import time
8
9
  from contextlib import suppress
9
10
  from pathlib import Path
10
11
  from typing import Any
@@ -37,16 +38,19 @@ class ProcessGroupOwner:
37
38
  """Terminate the owned group and return bounded cleanup evidence."""
38
39
 
39
40
  escalation = "none"
40
- if self.process.poll() is None:
41
- if os.name == "posix":
41
+ if os.name == "posix":
42
+ if self.process.poll() is None:
42
43
  with suppress(ProcessLookupError):
43
44
  os.killpg(self.pid, signal.SIGTERM)
44
- if not _wait_process(self.process, grace_seconds):
45
- escalation = "SIGKILL"
46
- with suppress(ProcessLookupError):
47
- os.killpg(self.pid, signal.SIGKILL)
48
- _wait_process(self.process, grace_seconds)
49
- elif self._job_handle is not None:
45
+ _wait_process(self.process, grace_seconds)
46
+ if not _wait_process_group_exit(self.pid, grace_seconds):
47
+ escalation = "SIGKILL"
48
+ with suppress(ProcessLookupError):
49
+ os.killpg(self.pid, signal.SIGKILL)
50
+ _wait_process(self.process, grace_seconds)
51
+ _wait_process_group_exit(self.pid, grace_seconds)
52
+ elif self.process.poll() is None:
53
+ if self._job_handle is not None:
50
54
  _terminate_windows_job(self._job_handle)
51
55
  _wait_process(self.process, grace_seconds)
52
56
  escalation = "job-terminate"
@@ -121,6 +125,20 @@ def _wait_process(process: subprocess.Popen[Any], timeout: float) -> bool:
121
125
  return False
122
126
 
123
127
 
128
+ def _wait_process_group_exit(group_id: int, timeout: float) -> bool:
129
+ """Wait for every observable member of a POSIX process group to exit."""
130
+
131
+ deadline = time.monotonic() + max(0.01, timeout)
132
+ while True:
133
+ alive = _posix_group_has_live_processes(group_id)
134
+ if alive is False:
135
+ return True
136
+ remaining = deadline - time.monotonic()
137
+ if remaining <= 0:
138
+ return False
139
+ time.sleep(min(0.02, remaining))
140
+
141
+
124
142
  def _create_windows_job(process: subprocess.Popen[Any]) -> int | None:
125
143
  if os.name != "nt":
126
144
  return None
@@ -7,7 +7,8 @@ from pathlib import Path
7
7
  from typing import Any
8
8
 
9
9
  from agent_lifecycle.contracts import read_json_object
10
- from agent_lifecycle.contracts.paths import is_under_repo_path, normalize_repo_path
10
+ from agent_lifecycle.contracts.ownership_paths import is_under_authority_path, normalize_authority_path
11
+ from agent_lifecycle.contracts.paths import normalize_repo_path
11
12
 
12
13
 
13
14
  def build_ownership_report(
@@ -17,6 +18,18 @@ def build_ownership_report(
17
18
  base: str | None = None,
18
19
  ) -> dict[str, Any]:
19
20
  manifest = read_json_object(manifest_path, label="plan manifest")
21
+ return build_ownership_report_from_manifest(manifest, paths, manifest_path=manifest_path, base=base)
22
+
23
+
24
+ def build_ownership_report_from_manifest(
25
+ manifest: dict[str, Any],
26
+ paths: list[str],
27
+ *,
28
+ manifest_path: Path | None = None,
29
+ base: str | None = None,
30
+ ) -> dict[str, Any]:
31
+ """Classify changed paths against an already loaded frozen manifest."""
32
+
20
33
  classifiers = _classifiers(manifest, manifest_path)
21
34
  entries = [_classify_path(path, classifiers) for path in sorted(set(paths))]
22
35
  categories = Counter(entry["category"] for entry in entries)
@@ -40,34 +53,70 @@ def report_has_category(report: dict[str, Any], categories: set[str]) -> bool:
40
53
  return any(entry.get("category") in categories for entry in report.get("entries", []))
41
54
 
42
55
 
43
- def _classifiers(manifest: dict[str, Any], manifest_path: Path) -> dict[str, Any]:
44
- package = manifest.get("package", {})
56
+ def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[str, Any]:
57
+ package_value = manifest.get("package")
58
+ package = package_value if isinstance(package_value, dict) else {}
45
59
  plan_root = package.get("planArtifactRoot")
60
+ workstreams = _list_value(manifest.get("workstreams"))
61
+ manifest_lead_owned = _list_value(manifest.get("leadOwned"))
62
+ manifest_read_only = _list_value(manifest.get("readOnly"))
63
+ manifest_forbidden = _list_value(manifest.get("forbiddenWrites"))
64
+ workstream_paths = {
65
+ "readOnly": [
66
+ path
67
+ for workstream in workstreams
68
+ if isinstance(workstream, dict)
69
+ for path in _list_value(workstream.get("readOnly"))
70
+ if isinstance(path, str)
71
+ ],
72
+ "forbiddenWrites": [
73
+ path
74
+ for workstream in workstreams
75
+ if isinstance(workstream, dict)
76
+ for path in _list_value(workstream.get("forbiddenWrites"))
77
+ if isinstance(path, str)
78
+ ],
79
+ "leadOwned": [
80
+ item["path"]
81
+ for workstream in workstreams
82
+ if isinstance(workstream, dict)
83
+ for item in _list_value(workstream.get("leadOwned"))
84
+ if isinstance(item, dict) and isinstance(item.get("path"), str)
85
+ ],
86
+ }
46
87
  return {
47
88
  "manifestPath": _repo_relative(manifest_path),
48
- "planArtifactRoot": normalize_repo_path(plan_root) if isinstance(plan_root, str) else None,
89
+ "planArtifactRoot": normalize_authority_path(plan_root, label="planArtifactRoot")
90
+ if isinstance(plan_root, str)
91
+ else None,
49
92
  "leadOwned": [
50
- normalize_repo_path(item["path"])
51
- for item in manifest.get("leadOwned", [])
93
+ normalize_authority_path(item["path"], label="leadOwned path")
94
+ for item in manifest_lead_owned
52
95
  if isinstance(item, dict) and isinstance(item.get("path"), str)
53
- ],
96
+ ]
97
+ + [normalize_authority_path(path, label="workstream leadOwned path") for path in workstream_paths["leadOwned"]],
54
98
  "readOnly": [
55
- normalize_repo_path(path)
56
- for path in manifest.get("readOnly", [])
99
+ normalize_authority_path(path, label="readOnly path")
100
+ for path in manifest_read_only
57
101
  if isinstance(path, str)
58
- ],
102
+ ]
103
+ + [normalize_authority_path(path, label="workstream readOnly path") for path in workstream_paths["readOnly"]],
59
104
  "forbiddenWrites": [
60
- normalize_repo_path(path)
61
- for path in manifest.get("forbiddenWrites", [])
105
+ normalize_authority_path(path, label="forbiddenWrites path")
106
+ for path in manifest_forbidden
62
107
  if isinstance(path, str)
108
+ ]
109
+ + [
110
+ normalize_authority_path(path, label="workstream forbiddenWrites path")
111
+ for path in workstream_paths["forbiddenWrites"]
63
112
  ],
64
113
  "workstreams": {
65
114
  workstream["id"]: [
66
- normalize_repo_path(path)
67
- for path in workstream.get("writes", [])
115
+ normalize_authority_path(path, label="workstream write path")
116
+ for path in _list_value(workstream.get("writes"))
68
117
  if isinstance(path, str)
69
118
  ]
70
- for workstream in manifest.get("workstreams", [])
119
+ for workstream in workstreams
71
120
  if isinstance(workstream, dict) and isinstance(workstream.get("id"), str)
72
121
  },
73
122
  }
@@ -79,21 +128,21 @@ def _classify_path(path: str, classifiers: dict[str, Any]) -> dict[str, Any]:
79
128
  if isinstance(manifest_path, str) and normalized == manifest_path:
80
129
  return _entry(normalized, "plan-authority", ["controller"])
81
130
  plan_root = classifiers["planArtifactRoot"]
82
- if isinstance(plan_root, str) and is_under_repo_path(normalized, plan_root):
131
+ if isinstance(plan_root, str) and is_under_authority_path(normalized, plan_root):
83
132
  return _entry(normalized, "plan-authority", ["controller"])
84
- lead = [root for root in classifiers["leadOwned"] if is_under_repo_path(normalized, root)]
133
+ lead = [root for root in classifiers["leadOwned"] if is_under_authority_path(normalized, root)]
85
134
  if lead:
86
135
  return _entry(normalized, "lead-owned", ["controller"], matched=lead)
87
- forbidden = [root for root in classifiers["forbiddenWrites"] if is_under_repo_path(normalized, root)]
136
+ forbidden = [root for root in classifiers["forbiddenWrites"] if is_under_authority_path(normalized, root)]
88
137
  if forbidden:
89
138
  return _entry(normalized, "forbidden", [], matched=forbidden)
90
- read_only = [root for root in classifiers["readOnly"] if is_under_repo_path(normalized, root)]
139
+ read_only = [root for root in classifiers["readOnly"] if is_under_authority_path(normalized, root)]
91
140
  if read_only:
92
141
  return _entry(normalized, "read-only", [], matched=read_only)
93
142
  owners = [
94
143
  owner
95
144
  for owner, roots in classifiers["workstreams"].items()
96
- if any(is_under_repo_path(normalized, root) for root in roots)
145
+ if any(is_under_authority_path(normalized, root) for root in roots)
97
146
  ]
98
147
  if owners:
99
148
  return _entry(normalized, "workstream-owned", owners)
@@ -112,8 +161,15 @@ def _entry(
112
161
  value["matched"] = matched
113
162
  return value
114
163
 
115
- def _repo_relative(path: Path) -> str | None:
164
+
165
+ def _repo_relative(path: Path | None) -> str | None:
166
+ if path is None:
167
+ return None
116
168
  try:
117
169
  return normalize_repo_path(str(path.resolve().relative_to(Path.cwd().resolve())))
118
170
  except ValueError:
119
171
  return None
172
+
173
+
174
+ def _list_value(value: Any) -> list[Any]:
175
+ return value if isinstance(value, list) else []