agent-lifecycle-kit 2.35.0__tar.gz → 2.37.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 (544) hide show
  1. {agent_lifecycle_kit-2.35.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.37.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/guides/ai-sdlc-integration.md +30 -2
  4. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/ru/guides/ai-sdlc-integration.md +34 -2
  5. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/pyproject.toml +1 -1
  6. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/_version.py +1 -1
  7. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/redaction.py +13 -1
  8. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_dialects.py +41 -28
  9. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/planning.py +82 -31
  10. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  11. agent_lifecycle_kit-2.37.0/tests/cli/fixtures/external-consumer-cases.json +50 -0
  12. agent_lifecycle_kit-2.35.0/tests/cli/fixtures/external-consumer-cases.json +0 -18
  13. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/LICENSE +0 -0
  14. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/NOTICE +0 -0
  15. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/README.md +0 -0
  16. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/manifest.json +0 -0
  17. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  18. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  19. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  20. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  21. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  22. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  23. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  24. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  25. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  26. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  27. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/setup.cfg +0 -0
  28. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/__init__.py +0 -0
  29. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/__main__.py +0 -0
  30. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
  31. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
  32. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
  33. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
  34. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
  35. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
  36. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
  37. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
  38. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
  39. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
  40. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
  41. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
  42. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
  43. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/journal.py +0 -0
  44. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
  45. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
  46. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
  47. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
  48. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
  49. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
  50. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
  51. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
  52. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
  53. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
  54. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  55. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  56. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
  57. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
  58. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
  59. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
  60. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
  61. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
  62. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
  63. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  64. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  65. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  66. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  67. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
  68. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
  69. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  70. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  71. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  72. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  73. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
  74. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  75. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
  76. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
  77. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  78. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  79. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
  80. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  81. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
  82. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  83. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  84. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  85. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  86. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  87. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
  88. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  89. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  90. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
  91. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
  92. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
  93. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
  94. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
  95. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
  96. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
  97. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
  98. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  99. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  100. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  101. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  102. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  103. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
  104. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  105. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  106. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  107. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  108. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/delta.py +0 -0
  109. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
  110. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  111. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  112. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  113. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  114. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/package.py +0 -0
  115. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  116. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  117. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  118. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
  119. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  120. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  121. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  122. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  123. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  124. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  125. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  126. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  127. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  128. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  129. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  130. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/git.py +0 -0
  131. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
  132. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  133. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  134. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  135. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  136. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  137. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
  138. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  139. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  140. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  141. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  142. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  143. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  144. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  145. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
  146. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  147. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/errors.py +0 -0
  148. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/followup.py +0 -0
  149. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  150. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
  151. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/main.py +0 -0
  152. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  153. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  154. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  155. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  156. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
  157. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/policy.py +0 -0
  158. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  159. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/project.py +0 -0
  160. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/research.py +0 -0
  161. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/start.py +0 -0
  162. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  163. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  164. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  165. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  166. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  167. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  168. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  169. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  170. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/__init__.py +0 -0
  171. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  172. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  173. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  174. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  175. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/profiles.py +0 -0
  176. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/rendering.py +0 -0
  177. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  178. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  179. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  180. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  181. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  182. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  183. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  184. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  186. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  187. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
  188. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
  189. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
  191. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  192. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  193. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
  194. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
  195. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
  196. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  198. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  199. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  202. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
  204. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
  205. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  206. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
  208. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  209. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  212. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
  213. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  214. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  215. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  216. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  217. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  218. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  220. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  221. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  222. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  223. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  224. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  225. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  226. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  227. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  228. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  229. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  230. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
  231. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  232. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  233. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  234. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  235. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  236. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  237. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  238. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  239. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  240. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  241. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  242. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
  243. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
  244. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
  245. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  246. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
  247. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  248. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  249. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  250. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  251. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  252. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  253. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  254. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  255. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  256. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
  257. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  258. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  259. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
  260. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  261. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  262. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  263. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  264. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  265. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
  266. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  267. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  268. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  269. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  270. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
  271. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
  272. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  273. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  274. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  275. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  276. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  277. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  278. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  279. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  280. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  281. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  282. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  283. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  284. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
  285. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  286. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
  287. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
  288. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  289. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  290. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  291. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
  292. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
  293. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  294. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_state_authority.py +0 -0
  295. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  296. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage.py +0 -0
  297. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_context.py +0 -0
  298. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_io.py +0 -0
  299. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_schemas.py +0 -0
  300. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/__init__.py +0 -0
  301. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  302. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  303. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  304. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  305. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  306. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  307. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  308. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  309. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  310. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  311. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  312. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  313. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  314. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  315. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  316. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  317. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  318. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  319. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  320. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/followup/records.py +0 -0
  321. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  322. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  323. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  324. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
  325. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  326. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/records.py +0 -0
  327. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/view.py +0 -0
  328. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  329. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  330. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  331. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  332. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  333. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  334. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  335. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  336. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  337. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  338. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  339. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  340. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  341. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  342. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  343. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  344. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  345. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  346. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  347. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  348. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  349. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  350. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  351. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
  352. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  353. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  354. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  355. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  356. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  357. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  358. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  359. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  360. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  361. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  362. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  363. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  364. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  365. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  366. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  367. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  368. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  369. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  370. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  371. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  372. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  373. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
  374. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  375. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  376. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
  377. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  378. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  379. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
  380. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  381. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  382. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
  383. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  384. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  385. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
  386. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  387. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
  388. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  389. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  390. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  391. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  392. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  393. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  394. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  395. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  396. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  397. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  398. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  399. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  400. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  401. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  402. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  403. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  404. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  405. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  406. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  407. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  408. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  409. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  410. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  411. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
  412. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  413. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  414. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  415. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  416. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
  417. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  418. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/templates.py +0 -0
  419. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  420. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  421. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/validation.py +0 -0
  422. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/verification.py +0 -0
  423. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  424. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  425. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/apply.py +0 -0
  426. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  427. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  428. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  429. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  430. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  431. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  432. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/__init__.py +0 -0
  433. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  434. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/guidance.py +0 -0
  435. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/merge.py +0 -0
  436. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/presets.py +0 -0
  437. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/principles.py +0 -0
  438. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/profile.py +0 -0
  439. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/py.typed +0 -0
  440. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  441. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
  442. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  443. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  444. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  445. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  446. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  447. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  448. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  449. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/packs.py +0 -0
  450. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  451. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  452. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  453. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  454. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  455. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  456. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  457. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  458. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  459. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  460. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  461. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  462. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  463. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  464. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/__init__.py +0 -0
  465. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/evidence.py +0 -0
  466. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/provenance.py +0 -0
  467. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/validation.py +0 -0
  468. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/resources.py +0 -0
  469. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/__init__.py +0 -0
  470. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/provenance.py +0 -0
  471. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/validation.py +0 -0
  472. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  473. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  474. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  475. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  476. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  477. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
  478. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  479. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  480. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  481. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  482. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
  483. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  484. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/core.py +0 -0
  485. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  486. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  487. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  488. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  489. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  490. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/validation.py +0 -0
  491. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  492. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
  493. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  494. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
  495. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  496. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  497. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  498. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  499. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  500. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  501. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
  502. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
  503. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  504. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  505. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  506. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
  507. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/events.py +0 -0
  508. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  509. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  510. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  511. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
  512. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  513. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  514. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  515. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
  516. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  517. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  518. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  519. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  520. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  521. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  522. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/query.py +0 -0
  523. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  524. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  525. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  526. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/run.py +0 -0
  527. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  528. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  529. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  530. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  531. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/state.py +0 -0
  532. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/storage.py +0 -0
  533. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/storage_io.py +0 -0
  534. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  535. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  536. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  537. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
  538. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  539. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  540. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  541. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +0 -0
  542. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  543. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  544. {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.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.35.0
3
+ Version: 2.37.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
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  **Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
35
35
 
36
- Release 2.35 documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
36
+ ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
37
37
 
38
38
  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.
39
39
 
@@ -42,7 +42,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
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.35.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.37.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
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  **Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
12
12
 
13
- Release 2.35 documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
13
+ ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
14
14
 
15
15
  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.
16
16
 
@@ -19,7 +19,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
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.35.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.37.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
 
@@ -7,7 +7,7 @@ required. ALK owns workflow authority. The client owns process execution,
7
7
  presentation and reconciliation. The host owns model execution and genuine usage
8
8
  attestation; an independent reviewer owns review conclusions.
9
9
 
10
- This guide defines a provider-neutral CLI consumer contract for release 2.35.0.
10
+ This guide defines a provider-neutral CLI consumer contract.
11
11
  It adds no server, daemon, provider broker, runtime API or second state machine.
12
12
  The supported surface below is deliberately bounded. Other operations retain
13
13
  their [CLI contracts](../reference/cli.md).
@@ -16,7 +16,7 @@ their [CLI contracts](../reference/cli.md).
16
16
 
17
17
  The client MUST run `agent-lifecycle version` and require
18
18
  `agent-lifecycle-version.v1`. It MUST compare `version` with its explicitly tested
19
- version mapping. The 2.35.0 contract does not qualify an earlier or later release
19
+ version mapping. A tested contract does not qualify another release
20
20
  merely because its version looks similar. The client MUST refuse mutations for
21
21
  an unknown version, unknown `schemaVersion`, unsupported action or incompatible
22
22
  required field. Read-only diagnostics can remain available, clearly labelled as
@@ -146,6 +146,34 @@ by writing a success event or replaying a host command. Native operation guards
146
146
  do not guarantee exactly-once execution of arbitrary host/model/external side
147
147
  effects; those require their own host-owned reconciliation evidence.
148
148
 
149
+ ## Reference caller resource boundaries
150
+
151
+ The stdlib-only reference in `tests/cli/test_external_consumer_contract.py`
152
+ drains two unbuffered pipes concurrently. Each stream reads at most 1 MiB plus
153
+ one overflow-detection byte; it creates no output capture files. The runtime
154
+ deadline is 20 seconds after process creation returns. A separate cleanup window
155
+ is at most two seconds, covering direct-child stop/reaping and reader joins.
156
+ OS process creation itself is not interruptible by this deadline.
157
+
158
+ Timeout, overflow, invalid UTF-8/JSON, unknown output or unconfirmed cleanup
159
+ records `UNKNOWN`, clears qualification and blocks all further calls. A unique
160
+ bounded state/event match can resolve effect uncertainty; renegotiation is still
161
+ required before mutation. It cannot clear unconfirmed resource cleanup: dispose
162
+ that caller. Never retry a mutation to discover whether it succeeded.
163
+
164
+ Executable hashing streams at most 32 MiB plus one detection byte before launch.
165
+ This is an observed file identity, not attestation of every loaded runtime file.
166
+ Reconciliation admits only regular non-symlink relative artifacts inside its
167
+ working directory: state at most 1 MiB, event log at most 4 MiB, at most 1024 lines,
168
+ and each line at most 65536 bytes including its newline. State is compared again
169
+ after reading events; missing, changed, ambiguous, oversized or malformed input
170
+ stays `UNKNOWN`. These checks are not an atomic filesystem snapshot or a sandbox
171
+ for arbitrary executables, descendants or hostile concurrent filesystem changes.
172
+
173
+ The eight disposable public cases also exercise a legacy v3 state fixture;
174
+ they do not migrate native authority. Source/editable checks are intermediate
175
+ proof. A final installed wheel needs its own exact-version qualification.
176
+
149
177
  ## Keep usage and evidence honest
150
178
 
151
179
  Retain exact source, executable/configuration/input digests, command/exit/time,
@@ -7,7 +7,7 @@ ALK владеет workflow authority. Клиент отвечает за зап
7
7
  и сверку результата. Host отвечает за выполнение модели и подлинную usage
8
8
  attestation; независимый reviewer — за выводы review.
9
9
 
10
- Руководство задаёт provider-neutral контракт CLI-потребителя для release 2.35.0.
10
+ Руководство задаёт provider-neutral контракт CLI-потребителя.
11
11
  Оно не добавляет server, daemon, provider broker, runtime API или вторую state
12
12
  machine. Описанная поверхность намеренно ограничена. Остальные операции сохраняют
13
13
  свои [CLI-контракты](../reference/cli.md).
@@ -16,7 +16,7 @@ machine. Описанная поверхность намеренно огран
16
16
 
17
17
  Клиент MUST выполнить `agent-lifecycle version` и потребовать
18
18
  `agent-lifecycle-version.v1`. Он MUST сравнить `version` с явно протестированной
19
- таблицей версий. Контракт 2.35.0 не квалифицирует более ранний или поздний release
19
+ таблицей версий. Проверенный контракт не квалифицирует более ранний или поздний release
20
20
  только по сходству номера. Клиент MUST отказать в mutation при неизвестной версии,
21
21
  неизвестной `schemaVersion`, неподдерживаемом action или несовместимом обязательном
22
22
  поле. Read-only диагностика может оставаться доступной с явной пометкой об
@@ -152,6 +152,38 @@ revision не доказывает успех.
152
152
  exactly-once исполнение произвольных host/model/external side effects; для них
153
153
  нужны собственные host-owned evidence сверки.
154
154
 
155
+ ## Ограничения эталонного клиента
156
+
157
+ Эталонный клиент `tests/cli/test_external_consumer_contract.py` использует только
158
+ стандартную библиотеку. Он одновременно читает два небуферизованных канала:
159
+ не более 1 МиБ и одного байта для обнаружения переполнения из каждого.
160
+ Файлы захвата вывода не создаются. Срок исполнения — 20 секунд после возврата
161
+ операции создания процесса. Отдельное окно очистки до двух секунд включает
162
+ остановку и ожидание прямого дочернего процесса, а также завершение читателей.
163
+ Само создание процесса средствами ОС этим сроком прервать нельзя.
164
+
165
+ Таймаут, переполнение, неверный UTF-8/JSON, неизвестный ответ или неподтверждённая
166
+ очистка записывают `UNKNOWN`, снимают квалификацию и запрещают следующие вызовы.
167
+ Единственное согласованное событие вместе с state может разрешить неопределённость
168
+ эффекта; перед изменением всё равно нужно повторное согласование версии.
169
+ Совпадение эффекта не снимает запрет при неподтверждённой очистке ресурсов:
170
+ прекратите использование такого клиента. Не повторяйте изменение, чтобы узнать
171
+ результат первого вызова.
172
+
173
+ До запуска отпечаток исполняемого файла считается потоково, не более 32 МиБ
174
+ и одного байта обнаружения. Это наблюдаемая идентичность файла, а не подтверждение
175
+ всех загруженных файлов среды. Сверка принимает только обычные файлы без
176
+ символьных ссылок с относительными путями внутри рабочего каталога: state до
177
+ 1 МиБ, журнал до 4 МиБ, до 1024 строк и до 65536 байт на строку с переводом строки.
178
+ После журнала state читается и сравнивается повторно. Недоступные, изменённые,
179
+ неоднозначные, чрезмерные и повреждённые данные оставляют `UNKNOWN`. Это не
180
+ атомарный снимок файловой системы и не изолированная среда для произвольных
181
+ программ, потомков или враждебных одновременных изменений файлов.
182
+
183
+ Восемь публичных сценариев на временных данных также используют старую fixture
184
+ state v3; они не мигрируют нативные полномочия. Проверка исходного/editable-кода
185
+ промежуточная: итоговый установленный wheel требует проверки своей точной версии.
186
+
155
187
  ## Сохранять подлинные usage и evidence
156
188
 
157
189
  Сохраняйте exact source, digests executable/configuration/inputs, command/exit/time,
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "2.35.0"
7
+ version = "2.37.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.35.0"
3
+ __version__ = "2.37.0"
@@ -19,6 +19,7 @@ _SENSITIVE_EXACT_KEYS = {
19
19
  "api_key",
20
20
  "apikey",
21
21
  "authorization",
22
+ "cookie",
22
23
  "credential",
23
24
  "credentials",
24
25
  "id_token",
@@ -30,6 +31,7 @@ _SENSITIVE_EXACT_KEYS = {
30
31
  "refresh_token",
31
32
  "refreshtoken",
32
33
  "secret",
34
+ "set_cookie",
33
35
  "session_token",
34
36
  "sessiontoken",
35
37
  "token",
@@ -66,6 +68,8 @@ _BARE_TOKEN = re.compile(
66
68
  r"sk-(?:proj-)?[A-Za-z0-9_-]{20,}|"
67
69
  r"eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}|"
68
70
  r"gh[pousr]_[A-Za-z0-9_]{20,}|"
71
+ r"github"
72
+ r"_pat_[A-Za-z0-9_]{20,}|"
69
73
  r"glpat-[A-Za-z0-9_-]{20,}|"
70
74
  r"npm_[A-Za-z0-9]{20,}|"
71
75
  r"(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{16,}|"
@@ -102,6 +106,13 @@ _AUTHORIZATION_HEADER = re.compile(
102
106
  r"(?:" + _AUTH_PARAMETER + r"(?:\s*,\s*" + _AUTH_PARAMETER + r")*|[^\s,;}\]]+)",
103
107
  re.IGNORECASE,
104
108
  )
109
+ _COOKIE_HEADER = re.compile(
110
+ r"(?<![A-Za-z0-9_.-])(?P<key>(?:\\*[\"'])?(?:set[-_])?cookie(?:\\*[\"'])?)"
111
+ r"(?P<separator>\s*[:=]\s*)"
112
+ r"(?P<value>(?P<escaped_quote>\\+[\"'])(?:\\.|[^\\])*?(?P=escaped_quote)|"
113
+ r"\"(?:\\.|[^\"])*\"|'(?:\\.|[^'])*'|[^\r\n]*(?:\r?\n[ \t]+[^\r\n]*)*)",
114
+ re.IGNORECASE,
115
+ )
105
116
  _HTTP_URL = re.compile(r"https?://[^\s\"'<>]+", re.IGNORECASE)
106
117
  _HTTP_AUTHORITY = re.compile(r"https?://[^/?#]*", re.IGNORECASE)
107
118
  _MAX_NESTED_URL_DEPTH = 8
@@ -210,10 +221,11 @@ def _replace_matches(pattern: re.Pattern[str], value: str, replacement: str) ->
210
221
 
211
222
 
212
223
  def _redact_common_secret_markers(value: str) -> tuple[str, int]:
224
+ value, cookie_count = _COOKIE_HEADER.subn(_replace_sensitive_assignment, value)
213
225
  value, private_key_count = _replace_matches(_PRIVATE_KEY, value, REDACTED_VALUE)
214
226
  value, bearer_count = _replace_matches(_BEARER, value, f"Bearer {REDACTED_VALUE}")
215
227
  value, token_count = _replace_matches(_BARE_TOKEN, value, REDACTED_VALUE)
216
- return value, private_key_count + bearer_count + token_count
228
+ return value, cookie_count + private_key_count + bearer_count + token_count
217
229
 
218
230
 
219
231
  def _has_secret_outside_urls(value: str, url_spans: list[tuple[int, int]]) -> bool:
@@ -3,12 +3,14 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import json
6
+ import os
6
7
  import re
7
8
  from pathlib import Path
8
9
  from typing import Any
9
10
 
10
11
  from agent_lifecycle.context.rendering import estimate_tokens
11
12
  from agent_lifecycle.contracts import LifecycleError, canonical_digest, sha256_hex
13
+ from agent_lifecycle.contracts.authority_io import open_authority_read
12
14
  from agent_lifecycle.imports.dialect_profiles import (
13
15
  DEFAULT_PROFILE_ID,
14
16
  external_dialect_profile,
@@ -18,15 +20,15 @@ from agent_lifecycle.imports.dialect_profiles import (
18
20
  from agent_lifecycle.imports.planning import (
19
21
  DEFAULT_MAX_INPUT_BYTES,
20
22
  DEFAULT_TARGET_TOKENS,
23
+ MAX_REQUIREMENT_CHARS,
21
24
  PLANNING_IMPORT_RESULT_SCHEMA,
25
+ import_content_blockers,
22
26
  require_no_import_secrets,
23
27
  validate_import_result,
24
28
  )
25
29
  from agent_lifecycle.planning import validate_plan_manifest
26
30
 
27
31
  EXTERNAL_IMPORT_VALIDATION_SCHEMA = "agent-external-dialect-import-validation.v1"
28
- MAX_REQUIREMENTS = 8
29
- MAX_REQUIREMENT_CHARS = 180
30
32
 
31
33
  _POSIX_USER_PREFIX = "/" + "Users/"
32
34
  _POSIX_VOLUME_PREFIX = "/" + "Volumes/"
@@ -175,14 +177,18 @@ def require_external_import_pass(validation: dict[str, Any]) -> dict[str, Any]:
175
177
 
176
178
 
177
179
  def _read_source(source_path: Path, *, max_input_bytes: int, blockers: list[dict[str, Any]]) -> bytes:
178
- if not source_path.is_file():
180
+ try:
181
+ with open_authority_read(Path(os.path.normpath(source_path.absolute()))) as stream:
182
+ data = stream.read(max_input_bytes + 1)
183
+ except FileNotFoundError:
179
184
  blockers.append({"code": "external-dialect-source-missing", "sourceLabel": source_path.name})
180
185
  return b""
181
- size = source_path.stat().st_size
182
- if size > max_input_bytes:
183
- blockers.append({"code": "external-dialect-input-cap-exceeded", "inputBytes": size, "cap": max_input_bytes})
186
+ if len(data) > max_input_bytes:
187
+ blockers.append(
188
+ {"code": "external-dialect-input-cap-exceeded", "inputBytes": len(data), "cap": max_input_bytes}
189
+ )
184
190
  return b""
185
- return source_path.read_bytes()
191
+ return data
186
192
 
187
193
 
188
194
  def _decode_source(data: bytes, blockers: list[dict[str, Any]]) -> str:
@@ -248,19 +254,23 @@ def _parse_scalar(value: str) -> Any:
248
254
 
249
255
  def _map_family(family: str, parsed: dict[str, Any], text: str, blockers: list[dict[str, Any]]) -> dict[str, Any]:
250
256
  if family == "workflow":
251
- return _map_workflow(parsed, text)
252
- if family == "agent":
253
- return _map_agent(parsed, text)
254
- blockers.append({"code": "external-dialect-family-invalid", "family": family})
255
- return {}
257
+ mapping = _map_workflow(parsed, text)
258
+ elif family == "agent":
259
+ mapping = _map_agent(parsed, text)
260
+ else:
261
+ blockers.append({"code": "external-dialect-family-invalid", "family": family})
262
+ return {}
263
+ for field in ("requirements", "validationHints"):
264
+ blockers.extend(import_content_blockers(mapping[field], prefix="external-dialect", field=field))
265
+ return mapping
256
266
 
257
267
 
258
268
  def _map_workflow(parsed: dict[str, Any], text: str) -> dict[str, Any]:
259
269
  steps = _list_from(parsed, "steps", "jobs", "tasks")
260
270
  validations = _list_from(parsed, "validation", "validations", "checks")
261
271
  requirements = [
262
- f"Review imported workflow step {index + 1}: {_safe_summary(step)}."
263
- for index, step in enumerate(steps[:MAX_REQUIREMENTS])
272
+ f"Review imported workflow step {index + 1}: {_safe_summary(step, limit=None)}."
273
+ for index, step in enumerate(steps)
264
274
  ]
265
275
  if not requirements:
266
276
  requirements = _requirements_from_lines(text, prefix="Review imported workflow instruction")
@@ -268,8 +278,8 @@ def _map_workflow(parsed: dict[str, Any], text: str) -> dict[str, Any]:
268
278
  "family": "workflow",
269
279
  "title": _title(parsed, "Imported workflow draft"),
270
280
  "requirements": requirements,
271
- "workHints": [{"kind": "workflow-step", "summary": _safe_summary(step)} for step in steps[:MAX_REQUIREMENTS]],
272
- "validationHints": [_safe_summary(item) for item in validations[:MAX_REQUIREMENTS]],
281
+ "workHints": [{"kind": "workflow-step", "summary": _safe_summary(step, limit=None)} for step in steps],
282
+ "validationHints": [_safe_summary(item, limit=None) for item in validations],
273
283
  "hostLocalHints": {},
274
284
  "redactions": _redaction_summary(parsed),
275
285
  }
@@ -281,18 +291,19 @@ def _map_agent(parsed: dict[str, Any], text: str) -> dict[str, Any]:
281
291
  role = _first_string(parsed, "role", "description", "purpose")
282
292
  if role:
283
293
  requirements.append(
284
- f"Review imported agent role hint before converting it into ALK task scope: {_safe_summary(role)}."
294
+ "Review imported agent role hint before converting it into ALK task scope: "
295
+ f"{_safe_summary(role, limit=None)}."
285
296
  )
286
297
  requirements.extend(
287
- f"Review imported agent policy hint {index + 1}: {_safe_summary(item)}."
288
- for index, item in enumerate(policies[:MAX_REQUIREMENTS])
298
+ f"Review imported agent policy hint {index + 1}: {_safe_summary(item, limit=None)}."
299
+ for index, item in enumerate(policies)
289
300
  )
290
301
  if not requirements:
291
302
  requirements = _requirements_from_lines(text, prefix="Review imported agent instruction")
292
303
  return {
293
304
  "family": "agent",
294
305
  "title": _title(parsed, "Imported agent draft"),
295
- "requirements": requirements[:MAX_REQUIREMENTS],
306
+ "requirements": requirements,
296
307
  "workHints": [],
297
308
  "validationHints": [],
298
309
  "hostLocalHints": _host_local_hints(parsed),
@@ -309,8 +320,8 @@ def _candidate_plan(
309
320
  profile: dict[str, Any],
310
321
  ) -> dict[str, Any] | None:
311
322
  requirements = [
312
- {"id": f"R-EXT-{index + 1}", "description": _truncate(item, MAX_REQUIREMENT_CHARS)}
313
- for index, item in enumerate(mapping.get("requirements", [])[:MAX_REQUIREMENTS])
323
+ {"id": f"R-EXT-{index + 1}", "description": item}
324
+ for index, item in enumerate(mapping.get("requirements", []))
314
325
  if isinstance(item, str) and item.strip()
315
326
  ]
316
327
  if not requirements:
@@ -456,11 +467,11 @@ def _requirements_from_lines(text: str, *, prefix: str) -> list[str]:
456
467
  for line in text.splitlines():
457
468
  stripped = line.strip()
458
469
  if stripped.startswith(("- ", "* ")):
459
- requirements.append(f"{prefix}: {_safe_summary(stripped[2:])}.")
470
+ requirements.append(f"{prefix}: {_safe_summary(stripped[2:], limit=None)}.")
460
471
  elif re.match(r"^\d+\.\s+", stripped):
461
472
  numbered_text = re.sub(r"^\d+\.\s+", "", stripped)
462
- requirements.append(f"{prefix}: {_safe_summary(numbered_text)}.")
463
- return requirements[:MAX_REQUIREMENTS]
473
+ requirements.append(f"{prefix}: {_safe_summary(numbered_text, limit=None)}.")
474
+ return requirements
464
475
 
465
476
 
466
477
  def _list_from(parsed: dict[str, Any], *keys: str) -> list[Any]:
@@ -488,15 +499,17 @@ def _title(parsed: dict[str, Any], fallback: str) -> str:
488
499
  return _safe_summary(value) if value else fallback
489
500
 
490
501
 
491
- def _safe_summary(value: Any) -> str:
502
+ def _safe_summary(value: Any, *, limit: int | None = MAX_REQUIREMENT_CHARS) -> str:
492
503
  if isinstance(value, dict):
493
- text = " ".join(f"{_clean_key(str(key))} {_safe_summary(item)}" for key, item in sorted(value.items()))
504
+ text = " ".join(
505
+ f"{_clean_key(str(key))} {_safe_summary(item, limit=limit)}" for key, item in sorted(value.items())
506
+ )
494
507
  else:
495
508
  text = str(value)
496
509
  text = _LOCAL_PATH_RE.sub("[redacted-path]", text)
497
510
  text = _SECRET_ASSIGNMENT_RE.sub(r"\1=[redacted]", text)
498
511
  text = re.sub(r"\s+", " ", text).strip()
499
- return _truncate(text, MAX_REQUIREMENT_CHARS)
512
+ return text if limit is None else _truncate(text, limit)
500
513
 
501
514
 
502
515
  def _safe_identifier(value: str) -> str:
@@ -2,12 +2,14 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import os
5
6
  import re
6
7
  from pathlib import Path
7
8
  from typing import Any
8
9
 
9
10
  from agent_lifecycle.context.rendering import estimate_tokens
10
11
  from agent_lifecycle.contracts import LifecycleError, canonical_digest, load_json_object, sha256_hex
12
+ from agent_lifecycle.contracts.authority_io import open_authority_read
11
13
  from agent_lifecycle.contracts.redaction import is_sensitive_key, redact_text_with_stats
12
14
  from agent_lifecycle.planning import validate_plan_manifest
13
15
 
@@ -21,6 +23,12 @@ DEFAULT_TARGET_TOKENS = 4096
21
23
  MAX_REQUIREMENTS = 8
22
24
  MAX_REQUIREMENT_CHARS = 180
23
25
 
26
+ _IMPORT_OVERFLOW_CAPS = {
27
+ f"{prefix}-{kind}-cap-exceeded": cap
28
+ for prefix in ("planning-import", "external-dialect")
29
+ for kind, cap in (("item", MAX_REQUIREMENTS), ("text", MAX_REQUIREMENT_CHARS))
30
+ }
31
+
24
32
  LOCAL_PATH_PATTERNS = (
25
33
  re.compile(r"/" + r"Users/[^\s`'\"<>]+"),
26
34
  re.compile(r"/" + r"Volumes/[^\s`'\"<>]+"),
@@ -47,16 +55,15 @@ def import_planning_input(
47
55
  _check_positive_cap(max_input_bytes, "maxInputBytes")
48
56
  _check_positive_cap(target_tokens, "targetTokens")
49
57
  blockers: list[dict[str, Any]] = []
50
- if not source_path.is_file():
58
+ try:
59
+ with open_authority_read(Path(os.path.normpath(source_path.absolute()))) as stream:
60
+ data = stream.read(max_input_bytes + 1)
61
+ except FileNotFoundError:
51
62
  blockers.append({"code": "planning-import-source-missing", "sourceLabel": source_path.name})
52
63
  data = b""
53
- else:
54
- size = source_path.stat().st_size
55
- if size > max_input_bytes:
56
- blockers.append({"code": "planning-import-input-cap-exceeded", "inputBytes": size, "cap": max_input_bytes})
57
- data = b""
58
- else:
59
- data = source_path.read_bytes()
64
+ if len(data) > max_input_bytes:
65
+ blockers.append({"code": "planning-import-input-cap-exceeded", "inputBytes": len(data), "cap": max_input_bytes})
66
+ data = b""
60
67
  return _build_import_result(
61
68
  data,
62
69
  source_label=source_path.name,
@@ -121,6 +128,7 @@ def _build_import_result(
121
128
  source_label=source_label,
122
129
  native_dialect_profile_digest=native_dialect_profile_digest,
123
130
  dialect_profile=dialect_profile,
131
+ blockers=blockers,
124
132
  )
125
133
  if text and not blockers
126
134
  else None
@@ -191,22 +199,21 @@ def validate_import_result(result: dict[str, Any]) -> dict[str, Any]:
191
199
  """Verify that an import result cannot bypass draft, audit or freeze gates."""
192
200
 
193
201
  blockers: list[dict[str, Any]] = []
194
- if result.get("schemaVersion") != PLANNING_IMPORT_RESULT_SCHEMA:
195
- blockers.append({"code": "planning-import-schema-invalid"})
196
- if result.get("enabledByDefault") is not False:
197
- blockers.append({"code": "planning-import-default-enabled"})
198
- if result.get("activationMode") != "explicit-command":
199
- blockers.append({"code": "planning-import-activation-mode"})
200
- if result.get("sourceTrusted") is not False:
201
- blockers.append({"code": "planning-import-source-trust"})
202
- if result.get("requiresReview") is not True:
203
- blockers.append({"code": "planning-import-review-not-required"})
204
- if result.get("auditRequired") is not True:
205
- blockers.append({"code": "planning-import-audit-not-required"})
206
- if result.get("freezeBlocked") is not True:
207
- blockers.append({"code": "planning-import-freeze-not-blocked"})
202
+ gates = (
203
+ (result.get("schemaVersion") != PLANNING_IMPORT_RESULT_SCHEMA, "planning-import-schema-invalid"),
204
+ (result.get("enabledByDefault") is not False, "planning-import-default-enabled"),
205
+ (result.get("activationMode") != "explicit-command", "planning-import-activation-mode"),
206
+ (result.get("sourceTrusted") is not False, "planning-import-source-trust"),
207
+ (result.get("requiresReview") is not True, "planning-import-review-not-required"),
208
+ (result.get("auditRequired") is not True, "planning-import-audit-not-required"),
209
+ (result.get("freezeBlocked") is not True, "planning-import-freeze-not-blocked"),
210
+ )
211
+ for failed, code in gates:
212
+ if failed:
213
+ blockers.append({"code": code})
208
214
  if result.get("status") != "PASS":
209
215
  blockers.append({"code": "planning-import-result-not-pass"})
216
+ blockers.extend(_import_overflow_blockers(result.get("blockers")))
210
217
  candidate = result.get("candidatePlan")
211
218
  candidate_digest = None
212
219
  _validate_markdown_collection(result.get("markdownCollection"), blockers)
@@ -312,12 +319,17 @@ def _candidate_plan(
312
319
  source_label: str,
313
320
  native_dialect_profile_digest: str | None,
314
321
  dialect_profile: dict[str, Any] | None,
322
+ blockers: list[dict[str, Any]],
315
323
  ) -> dict[str, Any] | None:
316
324
  parsed = _parse_structured_input(data)
317
325
  title = _extract_title(text, parsed)
318
- requirements = _extract_requirements(text, parsed)
319
- if not requirements:
326
+ descriptions = _extract_requirements(text, parsed)
327
+ blockers.extend(import_content_blockers(descriptions, prefix="planning-import", field="requirements"))
328
+ if not descriptions or blockers:
320
329
  return None
330
+ requirements = [
331
+ {"id": f"R-IMPORT-{index + 1}", "description": description} for index, description in enumerate(descriptions)
332
+ ]
321
333
  source_digest = sha256_hex(data)
322
334
  criteria = [
323
335
  {
@@ -412,7 +424,49 @@ def _extract_title(text: str, parsed: dict[str, Any] | None) -> str:
412
424
  return "Imported draft plan"
413
425
 
414
426
 
415
- def _extract_requirements(text: str, parsed: dict[str, Any] | None) -> list[dict[str, str]]:
427
+ def _import_overflow_blockers(value: Any) -> list[dict[str, Any]]:
428
+ if not isinstance(value, list):
429
+ return []
430
+ return [safe for item in value[:2] if (safe := _safe_import_overflow(item)) is not None]
431
+
432
+
433
+ def _safe_import_overflow(value: Any) -> dict[str, Any] | None:
434
+ if not isinstance(value, dict):
435
+ return None
436
+ code, field, cap = value.get("code"), value.get("field"), value.get("cap")
437
+ if not isinstance(code, str) or not isinstance(field, str) or type(cap) is not int:
438
+ return None
439
+ if code not in _IMPORT_OVERFLOW_CAPS or field not in {"requirements", "validationHints"}:
440
+ return None
441
+ if cap != _IMPORT_OVERFLOW_CAPS[code]:
442
+ return None
443
+ safe: dict[str, Any] = {"code": code, "field": field}
444
+ for key in ("count", "cap", "chars", "index"):
445
+ number = value.get(key)
446
+ if type(number) is int and 0 <= number <= 2**63 - 1:
447
+ safe[key] = number
448
+ return safe
449
+
450
+
451
+ def import_content_blockers(values: list[str], *, prefix: str, field: str) -> list[dict[str, Any]]:
452
+ """Refuse discarded content with bounded metadata instead of a partial draft."""
453
+ if len(values) > MAX_REQUIREMENTS:
454
+ return [{"code": f"{prefix}-item-cap-exceeded", "field": field, "count": len(values), "cap": MAX_REQUIREMENTS}]
455
+ for index, value in enumerate(values):
456
+ if len(value) > MAX_REQUIREMENT_CHARS:
457
+ return [
458
+ {
459
+ "code": f"{prefix}-text-cap-exceeded",
460
+ "field": field,
461
+ "index": index + 1,
462
+ "chars": len(value),
463
+ "cap": MAX_REQUIREMENT_CHARS,
464
+ }
465
+ ]
466
+ return []
467
+
468
+
469
+ def _extract_requirements(text: str, parsed: dict[str, Any] | None) -> list[str]:
416
470
  extracted: list[str] = []
417
471
  if parsed is not None:
418
472
  raw_requirements = parsed.get("requirements")
@@ -439,10 +493,7 @@ def _extract_requirements(text: str, parsed: dict[str, Any] | None) -> list[dict
439
493
  )
440
494
  if fallback:
441
495
  extracted.append(fallback)
442
- cleaned = [_clean_line(item, limit=MAX_REQUIREMENT_CHARS) for item in extracted if item.strip()]
443
- return [
444
- {"id": f"R-IMPORT-{index + 1}", "description": item} for index, item in enumerate(cleaned[:MAX_REQUIREMENTS])
445
- ]
496
+ return [_clean_line(item, limit=None) for item in extracted if item.strip()]
446
497
 
447
498
 
448
499
  def _decode_text(data: bytes, blockers: list[dict[str, Any]]) -> str:
@@ -535,11 +586,11 @@ def _safe_identifier(value: str) -> str:
535
586
  return re.sub(r"[^a-z0-9_.-]+", "-", lowered).strip("-")[:80]
536
587
 
537
588
 
538
- def _clean_line(value: str, *, limit: int) -> str:
589
+ def _clean_line(value: str, *, limit: int | None) -> str:
539
590
  cleaned = re.sub(r"\s+", " ", value).strip()
540
591
  for pattern in LOCAL_PATH_PATTERNS:
541
592
  cleaned = pattern.sub("[redacted-path]", cleaned)
542
- return cleaned[:limit]
593
+ return cleaned if limit is None else cleaned[:limit]
543
594
 
544
595
 
545
596
  def _check_positive_cap(value: int, field: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-lifecycle-kit
3
- Version: 2.35.0
3
+ Version: 2.37.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
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  **Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
35
35
 
36
- Release 2.35 documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
36
+ ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
37
37
 
38
38
  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.
39
39
 
@@ -42,7 +42,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
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.35.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.37.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