agent-lifecycle-kit 2.28.0__tar.gz → 2.30.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 (543) hide show
  1. {agent_lifecycle_kit-2.28.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.30.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +102 -74
  6. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +42 -29
  7. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_observability.py +6 -5
  8. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_planning.py +2 -1
  9. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/followup.py +3 -2
  10. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +12 -0
  11. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/strategy.py +2 -1
  12. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/worktree.py +3 -2
  13. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +329 -0
  14. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_state_authority.py +236 -0
  15. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +32 -1
  16. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage.py +901 -0
  17. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_context.py +380 -0
  18. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_io.py +379 -0
  19. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/contracts/workflow_storage_schemas.py +181 -0
  20. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/cost_collection.py +6 -1
  21. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/__init__.py +2 -1
  22. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/artifacts.py +2 -5
  23. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/authorization.py +141 -0
  24. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/finalization.py +2 -1
  25. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/immutable_input.py +29 -23
  26. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/initialization.py +70 -7
  27. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/operation_kernel.py +146 -11
  28. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/plan_adoption.py +1 -0
  29. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/query.py +40 -35
  30. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/reviews.py +4 -2
  31. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/run_transitions.py +3 -2
  32. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/selectors.py +2 -2
  33. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/state.py +133 -0
  34. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/storage.py +31 -0
  35. agent_lifecycle_kit-2.30.0/src/agent_lifecycle/workflow/storage_io.py +25 -0
  36. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_outcomes.py +2 -2
  37. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_transitions.py +9 -9
  38. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/transactions.py +4 -2
  39. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  40. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
  41. agent_lifecycle_kit-2.28.0/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -114
  42. agent_lifecycle_kit-2.28.0/src/agent_lifecycle/workflow/authorization.py +0 -69
  43. agent_lifecycle_kit-2.28.0/src/agent_lifecycle/workflow/state.py +0 -205
  44. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/LICENSE +0 -0
  45. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/NOTICE +0 -0
  46. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/README.md +0 -0
  47. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/manifest.json +0 -0
  48. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  49. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  50. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  51. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  52. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  53. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  54. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  55. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  56. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  57. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  58. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/setup.cfg +0 -0
  59. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/__init__.py +0 -0
  60. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/__main__.py +0 -0
  61. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  62. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  63. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  64. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  65. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  66. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
  67. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  68. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  69. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  70. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  71. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
  72. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  73. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  74. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  75. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
  76. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  77. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  78. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  79. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  80. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  81. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
  82. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  83. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  84. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  85. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  86. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  87. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  88. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  89. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  90. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  91. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  92. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  93. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  94. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  95. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  96. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  97. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  98. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  99. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  100. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  101. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  102. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  103. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  104. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  105. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  106. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  107. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  108. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  109. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  110. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  111. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
  112. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  113. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  114. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  115. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  116. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  117. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
  118. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  119. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  120. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  121. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  122. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  123. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  124. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  125. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  126. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  127. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  128. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  129. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  130. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  131. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  132. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  133. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  134. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  135. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  136. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  137. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  138. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/delta.py +0 -0
  139. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
  140. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  141. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  142. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  143. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  144. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/package.py +0 -0
  145. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  146. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  147. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  148. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
  149. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  150. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  151. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  152. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  153. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  154. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  155. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  156. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  157. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  158. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  159. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  160. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/git.py +0 -0
  161. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
  162. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  163. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  164. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  165. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  166. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  167. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
  168. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  169. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  170. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  171. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  172. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  173. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  174. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/errors.py +0 -0
  175. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  176. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/main.py +0 -0
  177. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  178. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  179. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  180. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  181. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
  182. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/policy.py +0 -0
  183. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  184. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/project.py +0 -0
  185. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/research.py +0 -0
  186. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/start.py +0 -0
  187. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  188. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  189. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  190. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  191. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  192. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  193. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/__init__.py +0 -0
  194. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  195. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  196. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  197. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  198. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/profiles.py +0 -0
  199. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/rendering.py +0 -0
  200. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  201. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  202. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  204. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  205. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  206. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  209. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  211. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  212. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  213. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  214. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  215. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  216. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  217. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
  218. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
  220. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  221. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  222. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  223. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  224. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  225. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  226. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  227. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
  228. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  229. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  230. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
  231. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  232. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  233. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  234. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  235. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
  236. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  237. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  240. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  241. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  242. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  243. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  244. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  245. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  246. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  247. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  248. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  249. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  250. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  251. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  252. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  253. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  254. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  255. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  256. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  257. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  258. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  259. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  260. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  261. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  262. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  263. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  265. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
  266. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  267. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
  268. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  269. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
  270. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  271. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  272. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  273. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  275. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  276. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  277. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  278. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  279. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  280. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  281. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  282. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  283. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
  284. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  285. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  286. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  287. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  288. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  289. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  290. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  291. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  292. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  293. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  294. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
  295. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  296. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  297. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  298. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  299. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  300. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  301. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  302. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  303. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  304. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  305. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  306. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  307. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  308. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  309. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  310. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  311. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  312. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  313. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  314. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  315. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
  316. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  317. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/__init__.py +0 -0
  318. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  319. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  320. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  321. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  322. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  323. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  324. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  325. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  326. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  327. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  328. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  329. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  330. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  331. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  332. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  333. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  334. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  335. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  336. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  337. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/followup/records.py +0 -0
  338. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  339. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  340. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  341. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
  342. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  343. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/records.py +0 -0
  344. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/goal/view.py +0 -0
  345. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  346. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  347. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  348. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  349. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  350. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  351. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  352. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  353. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  354. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  355. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  356. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  357. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  358. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  359. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  360. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  361. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  362. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  363. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  364. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  365. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  366. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  367. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  368. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
  369. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  370. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  371. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  372. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  373. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  374. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  375. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  376. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  377. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  378. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  379. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  380. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  381. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  382. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  383. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  384. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  385. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  386. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  387. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/planning.py +0 -0
  388. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  389. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  390. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  391. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  392. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  393. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  394. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  395. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
  396. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  397. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
  398. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  399. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  400. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
  401. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  402. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  403. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  404. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  405. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  406. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  407. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  408. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  409. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  410. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  411. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  412. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  413. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  414. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  415. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  416. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  417. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  418. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  419. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  420. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  421. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  422. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  423. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  424. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  425. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  426. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  427. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  428. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  429. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
  430. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  431. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  432. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  433. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  434. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
  435. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  436. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/templates.py +0 -0
  437. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  438. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  439. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/validation.py +0 -0
  440. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/planning/verification.py +0 -0
  441. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  442. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  443. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/apply.py +0 -0
  444. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  445. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  446. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  447. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  448. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  449. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  450. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/__init__.py +0 -0
  451. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  452. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/guidance.py +0 -0
  453. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/merge.py +0 -0
  454. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/presets.py +0 -0
  455. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/principles.py +0 -0
  456. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/project/profile.py +0 -0
  457. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/py.typed +0 -0
  458. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  459. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
  460. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  461. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  462. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  463. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  464. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  465. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  466. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  467. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/packs.py +0 -0
  468. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  469. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  470. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  471. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  472. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  473. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  474. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  475. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  476. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  477. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  478. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  479. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  480. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  481. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  482. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/__init__.py +0 -0
  483. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/evidence.py +0 -0
  484. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/provenance.py +0 -0
  485. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/research/validation.py +0 -0
  486. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/resources.py +0 -0
  487. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/__init__.py +0 -0
  488. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/provenance.py +0 -0
  489. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review/validation.py +0 -0
  490. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  491. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  492. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  493. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  494. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  495. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
  496. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  497. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  498. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  499. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  500. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  501. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  502. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/core.py +0 -0
  503. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  504. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  505. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  506. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  507. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  508. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/specification/validation.py +0 -0
  509. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
  510. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  511. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  512. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  513. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  514. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  515. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  516. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  517. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  518. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  519. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  520. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  521. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  522. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/events.py +0 -0
  523. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  524. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  525. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  526. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  527. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
  528. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  529. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  530. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  531. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  532. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  533. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  534. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/run.py +0 -0
  535. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  536. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  537. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  538. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  539. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  540. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  541. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  542. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  543. {agent_lifecycle_kit-2.28.0 → agent_lifecycle_kit-2.30.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.28.0
3
+ Version: 2.30.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
@@ -35,14 +35,14 @@ Dynamic: license-file
35
35
 
36
36
  The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
37
37
 
38
- 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.
38
+ 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. Release 2.30 adds [bounded workflow history, migration and exact-run authorization renewal](docs/reference/workflow-state-storage.md), preserving history, costs, clocks and the existing review attempt. Install the Python package as well as the plugin for the new CLI commands.
39
39
 
40
40
  Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/performance-and-resource-budgets.md#release-228-lifecycle-and-accounting-baselines). Repository tools measure real read-only operations and separate fixture preparation from operation and subprocess time. The Windows fixture comparison observed a 13.08% median reduction in one six-sample experiment; it is not a universal speed promise. All security and platform checks remain required.
41
41
 
42
42
  ## Quick start
43
43
  Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
44
44
 
45
- It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.28.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).
45
+ It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.30.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
46
 
47
47
  For a quick start, run:
48
48
 
@@ -12,14 +12,14 @@
12
12
 
13
13
  The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
14
14
 
15
- 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.
15
+ 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. Release 2.30 adds [bounded workflow history, migration and exact-run authorization renewal](docs/reference/workflow-state-storage.md), preserving history, costs, clocks and the existing review attempt. Install the Python package as well as the plugin for the new CLI commands.
16
16
 
17
17
  Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/performance-and-resource-budgets.md#release-228-lifecycle-and-accounting-baselines). Repository tools measure real read-only operations and separate fixture preparation from operation and subprocess time. The Windows fixture comparison observed a 13.08% median reduction in one six-sample experiment; it is not a universal speed promise. All security and platform checks remain required.
18
18
 
19
19
  ## Quick start
20
20
  Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
21
21
 
22
- It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.28.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).
22
+ It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.30.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).
23
23
 
24
24
  For a quick start, run:
25
25
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "2.28.0"
7
+ version = "2.30.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.16"
@@ -1,3 +1,3 @@
1
1
  """Package version."""
2
2
 
3
- __version__ = "2.28.0"
3
+ __version__ = "2.30.0"
@@ -20,13 +20,17 @@ from agent_lifecycle.contracts.workflow_authority import (
20
20
  verify_signed_authority_snapshot,
21
21
  )
22
22
  from agent_lifecycle.contracts.workflow_authority_schemas import validate_bootstrap_pin, validate_run_output_anchor
23
+ from agent_lifecycle.contracts.workflow_state_authority import (
24
+ decode_workflow_authority,
25
+ validate_workflow_authority,
26
+ )
23
27
  from agent_lifecycle.contracts.workflow_state_schemas import (
24
- WORKFLOW_STATE_V4,
28
+ has_current_workflow_semantics,
25
29
  validate_adoption_input,
26
30
  validate_adoption_selection,
27
31
  validate_runtime_binding,
28
- validate_workflow_state,
29
32
  )
33
+ from agent_lifecycle.contracts.workflow_storage_context import StorageOperation
30
34
 
31
35
  from .contracts import JournalUnavailable, canonical, digest
32
36
 
@@ -357,10 +361,17 @@ def _validate_v6_storage_receipt(db: sqlite3.Connection) -> None:
357
361
  raise JournalUnavailable("V6 schema differs from migration receipt")
358
362
 
359
363
 
360
- def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
364
+ def validate_legacy_adoption_history(
365
+ state: dict,
366
+ events: list[dict],
367
+ *,
368
+ root: Path | None = None,
369
+ state_path: Path | None = None,
370
+ operation: StorageOperation | None = None,
371
+ ) -> dict:
361
372
  """Refuse split or incomplete legacy history before any Journal adoption write."""
362
- validate_workflow_state(state)
363
- if state["schemaVersion"] != WORKFLOW_STATE_V4:
373
+ validate_workflow_authority(state, root=root, state_path=state_path, operation=operation)
374
+ if not has_current_workflow_semantics(state):
364
375
  raise LifecycleError("workflow-adoption-invalid", "Legacy state must complete explicit v4 migration")
365
376
  if type(events) is not list:
366
377
  raise LifecycleError("workflow-adoption-invalid", "Complete ordered event history is required")
@@ -369,48 +380,9 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
369
380
  if len(events) != revision - 1 or len(ledger) != len(events):
370
381
  raise LifecycleError("workflow-adoption-invalid", "Event and operation history are incomplete")
371
382
  seen: set[str] = set()
372
- fields = {
373
- "schemaVersion",
374
- "runId",
375
- "packageId",
376
- "stateRevision",
377
- "operationId",
378
- "eventType",
379
- "payload",
380
- "recordedAt",
381
- }
382
383
  for expected_revision, event in enumerate(events, start=2):
383
- if type(event) is not dict or set(event) != fields:
384
- raise LifecycleError("workflow-adoption-invalid", "Legacy event has missing or unknown fields")
385
- operation_id = event["operationId"]
386
- if (
387
- event["schemaVersion"] != "agent-workflow-event.v1"
388
- or event["runId"] != state["runId"]
389
- or event["packageId"] != state["packageId"]
390
- or type(event["stateRevision"]) is not int
391
- or event["stateRevision"] != expected_revision
392
- or type(operation_id) is not str
393
- or not 1 <= len(operation_id) <= 256
394
- or operation_id in seen
395
- or type(event["eventType"]) is not str
396
- or not event["eventType"]
397
- or type(event["payload"]) is not dict
398
- or type(event["recordedAt"]) is not str
399
- or not event["recordedAt"]
400
- ):
401
- raise LifecycleError("workflow-adoption-invalid", "Legacy event identity or order differs")
402
- entry = ledger.get(operation_id)
403
- if (
404
- type(entry) is not dict
405
- or set(entry) != {"stateRevision", "eventType", "recordedAt"}
406
- or type(entry["stateRevision"]) is not int
407
- or entry["stateRevision"] != expected_revision
408
- or entry["eventType"] != event["eventType"]
409
- or type(entry["recordedAt"]) is not str
410
- or not entry["recordedAt"]
411
- or entry["recordedAt"] != event["recordedAt"]
412
- ):
413
- raise LifecycleError("workflow-adoption-invalid", "Operation ledger differs from event history")
384
+ operation_id = _require_legacy_event_identity(event, state, expected_revision, seen)
385
+ _require_legacy_ledger_entry(ledger.get(operation_id), event, expected_revision)
414
386
  seen.add(operation_id)
415
387
  return {
416
388
  "schemaVersion": "agent-workflow-legacy-history-check.v1",
@@ -425,6 +397,53 @@ def validate_legacy_adoption_history(state: dict, events: list[dict]) -> dict:
425
397
  }
426
398
 
427
399
 
400
+ def _require_legacy_event_identity(event: dict, state: dict, expected_revision: int, seen: set[str]) -> str:
401
+ fields = {
402
+ "schemaVersion",
403
+ "runId",
404
+ "packageId",
405
+ "stateRevision",
406
+ "operationId",
407
+ "eventType",
408
+ "payload",
409
+ "recordedAt",
410
+ }
411
+ if type(event) is not dict or set(event) != fields:
412
+ raise LifecycleError("workflow-adoption-invalid", "Legacy event has missing or unknown fields")
413
+ operation_id = event["operationId"]
414
+ if (
415
+ event["schemaVersion"] != "agent-workflow-event.v1"
416
+ or event["runId"] != state["runId"]
417
+ or event["packageId"] != state["packageId"]
418
+ or type(event["stateRevision"]) is not int
419
+ or event["stateRevision"] != expected_revision
420
+ or type(operation_id) is not str
421
+ or not 1 <= len(operation_id) <= 256
422
+ or operation_id in seen
423
+ or type(event["eventType"]) is not str
424
+ or not event["eventType"]
425
+ or type(event["payload"]) is not dict
426
+ or type(event["recordedAt"]) is not str
427
+ or not event["recordedAt"]
428
+ ):
429
+ raise LifecycleError("workflow-adoption-invalid", "Legacy event identity or order differs")
430
+ return operation_id
431
+
432
+
433
+ def _require_legacy_ledger_entry(entry: object, event: dict, expected_revision: int) -> None:
434
+ if (
435
+ type(entry) is not dict
436
+ or set(entry) != {"stateRevision", "eventType", "recordedAt"}
437
+ or type(entry["stateRevision"]) is not int
438
+ or entry["stateRevision"] != expected_revision
439
+ or entry["eventType"] != event["eventType"]
440
+ or type(entry["recordedAt"]) is not str
441
+ or not entry["recordedAt"]
442
+ or entry["recordedAt"] != event["recordedAt"]
443
+ ):
444
+ raise LifecycleError("workflow-adoption-invalid", "Operation ledger differs from event history")
445
+
446
+
428
447
  def _adoption_artifact(root: Path, ref: dict) -> bytes:
429
448
  relative = normalize_repo_path(ref["path"], label="adoption artifact")
430
449
  raw = read_authority_bytes(root / relative, max_bytes=8_388_608, root=root)
@@ -459,10 +478,10 @@ def prepare_legacy_adoption_candidate(
459
478
  binding["canonicalStatePath"], label="bound state"
460
479
  ):
461
480
  raise LifecycleError("workflow-adoption-invalid", "Legacy state path differs from binding")
462
- state = load_json_object(_adoption_artifact(root, state_ref), label="legacy workflow state")
463
- validate_workflow_state(state)
481
+ state_raw = _adoption_artifact(root, state_ref)
482
+ state = load_json_object(state_raw, label="legacy workflow state")
464
483
  if (
465
- state["schemaVersion"] != WORKFLOW_STATE_V4
484
+ not has_current_workflow_semantics(state)
466
485
  or state["runId"] != binding["runId"]
467
486
  or state["packageId"] != binding["packageId"]
468
487
  or state.get("planDigest") != binding["planDigest"]
@@ -471,31 +490,12 @@ def prepare_legacy_adoption_candidate(
471
490
  raise LifecycleError("workflow-adoption-invalid", "Legacy state identity differs from binding")
472
491
  state_path = root / state_ref["path"]
473
492
  anchor = resolve_authority_anchor(state_path, state.get("packageRoot", "."), root=root)
474
- event_path = anchor / normalize_repo_path(state["eventLog"], label="legacy event log")
475
- try:
476
- event_relative = event_path.relative_to(root).as_posix()
477
- except ValueError:
478
- raise LifecycleError("workflow-adoption-invalid", "Legacy event log escapes selected root") from None
479
- event_ref = adoption_input["legacyEventLogRef"]
480
- if event_ref is None:
481
- if state["stateRevision"] != 1 or state["operationLedger"]:
482
- raise LifecycleError("workflow-adoption-invalid", "Missing legacy event prefix")
483
- try:
484
- read_authority_bytes(root / event_relative, max_bytes=8_388_608, root=root)
485
- except FileNotFoundError:
486
- event_raw = b""
487
- else:
488
- raise LifecycleError("workflow-adoption-invalid", "Existing event log requires an exact ref")
489
- else:
490
- if normalize_repo_path(event_ref["path"], label="event ref") != event_relative:
491
- raise LifecycleError("workflow-adoption-invalid", "Legacy event path differs from state")
492
- event_raw = _adoption_artifact(root, event_ref)
493
- events = []
494
- for line in event_raw.splitlines():
495
- if not line.strip():
496
- raise LifecycleError("workflow-adoption-invalid", "Blank legacy event line")
497
- events.append(load_json_object(line, label="legacy event"))
498
- history = validate_legacy_adoption_history(state, events)
493
+ events = _read_adoption_events(root, anchor, state, adoption_input)
494
+ with StorageOperation(anchor, state_path=state_path, run_id=state["runId"]) as operation:
495
+ state = decode_workflow_authority(state_raw, root=anchor, state_path=state_path, operation=operation)
496
+ history = validate_legacy_adoption_history(
497
+ state, events, root=anchor, state_path=state_path, operation=operation
498
+ )
499
499
  snapshot_raw = _adoption_artifact(root, adoption_input["initialSnapshotRef"])
500
500
  if len(snapshot_raw) > 1_048_576:
501
501
  raise LifecycleError("workflow-adoption-invalid", "Initial snapshot exceeds authority byte limit")
@@ -541,6 +541,34 @@ def prepare_legacy_adoption_candidate(
541
541
  }
542
542
 
543
543
 
544
+ def _read_adoption_events(root: Path, anchor: Path, state: dict, adoption_input: dict) -> list[dict]:
545
+ event_path = anchor / normalize_repo_path(state["eventLog"], label="legacy event log")
546
+ try:
547
+ event_relative = event_path.relative_to(root).as_posix()
548
+ except ValueError:
549
+ raise LifecycleError("workflow-adoption-invalid", "Legacy event log escapes selected root") from None
550
+ event_ref = adoption_input["legacyEventLogRef"]
551
+ if event_ref is None:
552
+ if state["stateRevision"] != 1 or state["operationLedger"]:
553
+ raise LifecycleError("workflow-adoption-invalid", "Missing legacy event prefix")
554
+ try:
555
+ read_authority_bytes(root / event_relative, max_bytes=8_388_608, root=root)
556
+ except FileNotFoundError:
557
+ event_raw = b""
558
+ else:
559
+ raise LifecycleError("workflow-adoption-invalid", "Existing event log requires an exact ref")
560
+ else:
561
+ if normalize_repo_path(event_ref["path"], label="event ref") != event_relative:
562
+ raise LifecycleError("workflow-adoption-invalid", "Legacy event path differs from state")
563
+ event_raw = _adoption_artifact(root, event_ref)
564
+ events = []
565
+ for line in event_raw.splitlines():
566
+ if not line.strip():
567
+ raise LifecycleError("workflow-adoption-invalid", "Blank legacy event line")
568
+ events.append(load_json_object(line, label="legacy event"))
569
+ return events
570
+
571
+
544
572
  def _loaded_root(db: sqlite3.Connection, binding: dict, binding_digest: str) -> dict:
545
573
  """A missing qualified bootstrap is unavailable, never a new self-selected root."""
546
574
  row = db.execute(
@@ -38,6 +38,7 @@ from agent_lifecycle.workflow import (
38
38
  next_action,
39
39
  pause_for_budget_decision,
40
40
  pause_for_external_action,
41
+ renew_execution_authorization,
41
42
  resolve_blocker,
42
43
  resume_external_action,
43
44
  rework_task,
@@ -47,9 +48,11 @@ from agent_lifecycle.workflow import (
47
48
  status,
48
49
  validate_budget_exceeded_policy,
49
50
  )
50
- from agent_lifecycle.workflow.artifacts import build_current_task_change_set
51
+ from agent_lifecycle.workflow.artifacts import build_current_task_change_set, package_root
51
52
  from agent_lifecycle.workflow.closing_window import operator_claim_refusal
52
53
  from agent_lifecycle.workflow.initialization import initialize_compiled_workflow, project_workflow_initialization
54
+ from agent_lifecycle.workflow.state import load_state
55
+ from agent_lifecycle.workflow.storage import task_evidence
53
56
 
54
57
 
55
58
  def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
@@ -61,6 +64,34 @@ def dispatch_lifecycle(args: argparse.Namespace) -> dict[str, Any]:
61
64
  raise LifecycleError("command-not-implemented", "lifecycle command is not implemented")
62
65
 
63
66
 
67
+ def _dispatch_workflow_query(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
68
+ if args.workflow_command == "next":
69
+ return next_action(status(state_path, full=True)["state"])
70
+ payload = status(state_path, full=args.full)
71
+ prefix = getattr(args, "digest_prefix_length", None)
72
+ return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
73
+
74
+
75
+ def _dispatch_execution_grant(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
76
+ if args.workflow_command == "run-start":
77
+ return start_execution(
78
+ state_path,
79
+ operation_id=args.operation_id,
80
+ expected_revision=args.expected_revision,
81
+ source_revision=args.source_revision,
82
+ reason=args.reason,
83
+ )
84
+ authorize = {"authorize": authorize_execution, "authorization-renew": renew_execution_authorization}
85
+ return authorize[args.workflow_command](
86
+ state_path,
87
+ operation_id=args.operation_id,
88
+ expected_revision=args.expected_revision,
89
+ source_revision=args.source_revision,
90
+ receipt_path=args.receipt,
91
+ reason=args.reason,
92
+ )
93
+
94
+
64
95
  def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any]:
65
96
  if args.workflow_command == "init":
66
97
  if getattr(args, "manifest", None) is not None:
@@ -83,6 +114,7 @@ def _dispatch_workflow_initialization(args: argparse.Namespace) -> dict[str, Any
83
114
  operation_id=args.operation_id,
84
115
  expected_revision=args.expected_revision,
85
116
  source_revision=args.source_revision,
117
+ target_schema=args.target_schema,
86
118
  )
87
119
  if args.workflow_command == "migrate-runner-artifact":
88
120
  from agent_lifecycle.migration.legacy_runner import convert_legacy_runner_artifact
@@ -121,12 +153,8 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
121
153
  if args.workflow_command in {"init", "state-migrate", "migrate-runner-artifact"}:
122
154
  return _dispatch_workflow_initialization(args)
123
155
  state_path = Path(args.state)
124
- if args.workflow_command == "status":
125
- payload = status(state_path, full=args.full)
126
- prefix = getattr(args, "digest_prefix_length", None)
127
- return build_digest_display_view(payload, minimum_length=prefix) if prefix is not None else payload
128
- if args.workflow_command == "next":
129
- return next_action(status(state_path, full=True)["state"])
156
+ if args.workflow_command in {"status", "next"}:
157
+ return _dispatch_workflow_query(args, state_path)
130
158
  if args.workflow_command == "validation-select":
131
159
  return _dispatch_validation_select(args, state_path)
132
160
  if args.workflow_command == "run":
@@ -158,23 +186,8 @@ def _dispatch_workflow(args: argparse.Namespace) -> dict[str, Any]:
158
186
  start_mode=args.start_mode,
159
187
  authorized_by=args.authorized_by,
160
188
  )
161
- if args.workflow_command == "run-start":
162
- return start_execution(
163
- state_path,
164
- operation_id=args.operation_id,
165
- expected_revision=args.expected_revision,
166
- source_revision=args.source_revision,
167
- reason=args.reason,
168
- )
169
- if args.workflow_command == "authorize":
170
- return authorize_execution(
171
- state_path,
172
- operation_id=args.operation_id,
173
- expected_revision=args.expected_revision,
174
- source_revision=args.source_revision,
175
- receipt_path=args.receipt,
176
- reason=args.reason,
177
- )
189
+ if args.workflow_command in {"run-start", "authorize", "authorization-renew"}:
190
+ return _dispatch_execution_grant(args, state_path)
178
191
  if args.workflow_command in {"external-pause", "pause-external"}:
179
192
  return pause_for_external_action(
180
193
  state_path,
@@ -369,11 +382,11 @@ def _dispatch_task_snapshot(args: argparse.Namespace, state_path: Path) -> dict[
369
382
  "phase-packet-required-fact-missing",
370
383
  "task snapshot phase packet requires --manifest, --lock, --phase-packet-purpose and --phase-packet-out",
371
384
  )
372
- state = read_json_object(state_path, label="workflow state") if packet_requested else None
385
+ state = load_state(state_path) if packet_requested else None
373
386
  task = _state_task(state, args.task) if isinstance(state, dict) else None
374
387
  if args.phase_packet_purpose == "TASK_AUDIT" and isinstance(task, dict) and task.get("status") == "VERIFYING":
375
388
  assert state is not None
376
- payload = _result_bound_task_change_set(state, task)
389
+ payload = _result_bound_task_change_set(state, task, package_root(state_path, state))
377
390
  else:
378
391
  payload = build_current_task_change_set(state_path, task_id=args.task)
379
392
  if args.out:
@@ -395,8 +408,8 @@ def _dispatch_task_snapshot(args: argparse.Namespace, state_path: Path) -> dict[
395
408
  return payload
396
409
 
397
410
 
398
- def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any]) -> dict[str, Any]:
399
- evidence = task.get("resultChangeSetEvidence")
411
+ def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any], root: Path) -> dict[str, Any]:
412
+ evidence = task_evidence(root, state, task, "resultChangeSetEvidence")
400
413
  if not isinstance(evidence, dict):
401
414
  raise LifecycleError("phase-packet-required-fact-missing", "task audit result change-set evidence is missing")
402
415
  required = ("provider", "baselineSha", "fileSetHash", "diffHash", "snapshotHash")
@@ -424,7 +437,7 @@ def _result_bound_task_change_set(state: dict[str, Any], task: dict[str, Any]) -
424
437
 
425
438
 
426
439
  def _dispatch_validation_select(args: argparse.Namespace, state_path: Path) -> dict[str, Any]:
427
- state = read_json_object(state_path, label="workflow state")
440
+ state = load_state(state_path)
428
441
  task = _state_task(state, args.task)
429
442
  snapshot = read_json_object(Path(args.snapshot), label="task snapshot")
430
443
  if snapshot.get("taskId") != task.get("id"):
@@ -99,6 +99,7 @@ from agent_lifecycle.reporting import (
99
99
  render_usage_export_json,
100
100
  render_usage_export_table,
101
101
  )
102
+ from agent_lifecycle.workflow.state import load_state
102
103
 
103
104
 
104
105
  def dispatch_observability(args: argparse.Namespace) -> dict[str, Any] | str:
@@ -335,7 +336,7 @@ def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
335
336
  if args.context_command == "checkpoint":
336
337
  return _dispatch_context_checkpoint(args)
337
338
  if args.context_command == "restore":
338
- state = read_json_object(Path(args.state), label="workflow state")
339
+ state = load_state(Path(args.state))
339
340
  payload = restore_context_checkpoint(
340
341
  Path(args.checkpoint),
341
342
  state=state,
@@ -355,7 +356,7 @@ def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
355
356
 
356
357
 
357
358
  def _dispatch_context_checkpoint(args: argparse.Namespace) -> dict[str, Any]:
358
- state = read_json_object(Path(args.state), label="workflow state")
359
+ state = load_state(Path(args.state))
359
360
  manifest = read_json_object(Path(args.plan), label="context checkpoint plan")
360
361
  input_payload = read_json_object(Path(args.input), label="context checkpoint input")
361
362
  reason = str(args.reason)
@@ -407,10 +408,10 @@ def _require_checkpoint_output_root(root: Path) -> None:
407
408
  def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
408
409
  record = read_json_object(Path(args.record), label="goal record")
409
410
  if args.goal_command == "check":
410
- state = read_json_object(Path(args.state), label="workflow state") if args.state else None
411
+ state = load_state(Path(args.state)) if args.state else None
411
412
  return validate_goal_record(record, state=state, require_current=args.current)
412
413
  if args.goal_command == "summarize":
413
- state = read_json_object(Path(args.state), label="workflow state")
414
+ state = load_state(Path(args.state))
414
415
  profile = read_json_object(Path(args.profile), label="context profile") if args.profile else None
415
416
  return build_objective_snapshot(record, state, profile=profile, window=args.target_window)
416
417
  if args.goal_command == "view":
@@ -427,7 +428,7 @@ def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
427
428
  return render_goal_view_terminal(payload)
428
429
  return payload
429
430
  if args.goal_command == "update":
430
- state = read_json_object(Path(args.state), label="workflow state")
431
+ state = load_state(Path(args.state))
431
432
  updated = update_goal_record(
432
433
  record,
433
434
  state,
@@ -56,6 +56,7 @@ from agent_lifecycle.workflow.artifact_builders import (
56
56
  inspect_artifact,
57
57
  )
58
58
  from agent_lifecycle.workflow.artifacts import build_finding_check_evidence_artifact
59
+ from agent_lifecycle.workflow.state import load_state
59
60
 
60
61
 
61
62
  def dispatch_planning(args: argparse.Namespace) -> dict[str, Any]:
@@ -83,7 +84,7 @@ def _dispatch_specification(args: argparse.Namespace) -> dict[str, Any]:
83
84
  if args.specification_command == "completion-gate":
84
85
  gate_input = read_json_object(Path(args.input), label="completion gate input") if args.input else {}
85
86
  payload = build_completion_gate_receipt(
86
- state=read_json_object(Path(args.state), label="workflow state"),
87
+ state=load_state(Path(args.state)),
87
88
  final_audit=read_json_object(Path(args.final_audit), label="final audit") if args.final_audit else None,
88
89
  follow_up_register=(
89
90
  read_json_object(Path(args.follow_up_register), label="follow-up register")
@@ -15,6 +15,7 @@ from agent_lifecycle.followup import (
15
15
  validate_followup_register,
16
16
  write_followup_register,
17
17
  )
18
+ from agent_lifecycle.workflow.state import load_state
18
19
 
19
20
 
20
21
  def add_followup_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
@@ -49,7 +50,7 @@ def dispatch_followup(args: argparse.Namespace) -> dict[str, Any]:
49
50
  register_path = Path(args.register)
50
51
  register = load_followup_register(register_path)
51
52
  if args.followup_command == "check":
52
- state = read_json_object(Path(args.state), label="workflow state") if args.state else None
53
+ state = load_state(Path(args.state)) if args.state else None
53
54
  validation = validate_followup_register(register, state=state, root=Path(args.root))
54
55
  if args.fail_on_finalization_blockers and validation["finalizationBlockers"]:
55
56
  raise LifecycleError(
@@ -83,7 +84,7 @@ def dispatch_followup(args: argparse.Namespace) -> dict[str, Any]:
83
84
  "registerDigest": validation["registerDigest"],
84
85
  }
85
86
  if args.followup_command == "sweep":
86
- state = read_json_object(Path(args.state), label="workflow state") if args.state else None
87
+ state = load_state(Path(args.state)) if args.state else None
87
88
  profile = read_json_object(Path(args.profile), label="context profile") if args.profile else None
88
89
  return build_followup_summary(register, state=state, profile=profile, window=args.target_window)
89
90
  raise LifecycleError("command-not-implemented", "followup command is not implemented")
@@ -261,6 +261,11 @@ def _add_workflow_state_parsers(
261
261
  workflow_migrate.add_argument("--operation-id", required=True)
262
262
  workflow_migrate.add_argument("--expected-revision", required=True, type=int)
263
263
  workflow_migrate.add_argument("--source-revision", required=True)
264
+ workflow_migrate.add_argument(
265
+ "--target-schema",
266
+ choices=["agent-workflow-state.v4", "agent-workflow-state.v5"],
267
+ default="agent-workflow-state.v4",
268
+ )
264
269
  workflow_legacy = workflow_sub.add_parser(
265
270
  "migrate-runner-artifact",
266
271
  help="convert one legacy runner artifact into a non-authoritative archival record",
@@ -319,6 +324,13 @@ def _add_workflow_control_parsers(
319
324
  workflow_authorize.add_argument("--source-revision", required=True)
320
325
  workflow_authorize.add_argument("--receipt", required=True)
321
326
  workflow_authorize.add_argument("--reason", required=True)
327
+ workflow_renew = workflow_sub.add_parser("authorization-renew")
328
+ workflow_renew.add_argument("--state", required=True)
329
+ workflow_renew.add_argument("--operation-id", required=True)
330
+ workflow_renew.add_argument("--expected-revision", required=True, type=int)
331
+ workflow_renew.add_argument("--source-revision", required=True)
332
+ workflow_renew.add_argument("--receipt", required=True)
333
+ workflow_renew.add_argument("--reason", required=True)
322
334
  workflow_external_pause = workflow_sub.add_parser("external-pause", aliases=["pause-external"])
323
335
  workflow_external_pause.add_argument("--state", required=True)
324
336
  workflow_external_pause.add_argument("--operation-id", required=True)
@@ -12,6 +12,7 @@ from agent_lifecycle.contracts import LifecycleError, read_json_object, write_js
12
12
  from agent_lifecycle.policy.execution_strategy import resolve_execution_strategy
13
13
  from agent_lifecycle.workflow.artifacts import package_root
14
14
  from agent_lifecycle.workflow.selectors import find_task
15
+ from agent_lifecycle.workflow.state import load_state
15
16
 
16
17
 
17
18
  def dispatch_strategy(args: argparse.Namespace) -> dict[str, Any]:
@@ -21,7 +22,7 @@ def dispatch_strategy(args: argparse.Namespace) -> dict[str, Any]:
21
22
  args.adapter,
22
23
  Path(args.descriptor) if args.descriptor else None,
23
24
  )
24
- state = read_json_object(Path(args.state), label="workflow state")
25
+ state = load_state(Path(args.state))
25
26
  manifest = read_json_object(Path(args.manifest), label="frozen plan manifest")
26
27
  root = package_root(Path(args.state), state)
27
28
  payload = resolve_execution_strategy(
@@ -7,6 +7,7 @@ from pathlib import Path
7
7
  from typing import Any
8
8
 
9
9
  from agent_lifecycle.contracts import read_json_object, write_json_create
10
+ from agent_lifecycle.workflow.state import load_state
10
11
  from agent_lifecycle.worktree import (
11
12
  build_attempt_isolation_receipt,
12
13
  validate_attempt_isolation_receipt,
@@ -43,7 +44,7 @@ def dispatch_worktree(args: argparse.Namespace) -> dict[str, Any]:
43
44
  if args.worktree_command == "policy-check":
44
45
  return validate_worktree_policy(read_json_object(Path(args.policy), label="worktree policy"))
45
46
  if args.worktree_command == "receipt":
46
- state = read_json_object(Path(args.state), label="workflow state")
47
+ state = load_state(Path(args.state))
47
48
  policy = read_json_object(Path(args.policy), label="worktree policy")
48
49
  authorization = (
49
50
  read_json_object(Path(args.operator_authorization), label="operator authorization")
@@ -68,7 +69,7 @@ def dispatch_worktree(args: argparse.Namespace) -> dict[str, Any]:
68
69
  return receipt
69
70
  if args.worktree_command == "check":
70
71
  receipt = read_json_object(Path(args.receipt), label="worktree receipt")
71
- checked_state = read_json_object(Path(args.state), label="workflow state") if args.state else None
72
+ checked_state = load_state(Path(args.state)) if args.state else None
72
73
  checked_policy = read_json_object(Path(args.policy), label="worktree policy") if args.policy else None
73
74
  return validate_attempt_isolation_receipt(receipt, workflow_state=checked_state, policy=checked_policy)
74
75
  raise AssertionError("unreachable worktree command")