agent-lifecycle-kit 1.85.0__tar.gz → 1.87.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 (383) hide show
  1. {agent_lifecycle_kit-1.85.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-1.87.0}/PKG-INFO +4 -4
  2. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/README.md +3 -3
  3. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/package.py +98 -30
  6. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/proof_findings.py +16 -0
  7. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_planning.py +60 -0
  8. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +3 -39
  9. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/planning_parsers.py +35 -0
  10. agent_lifecycle_kit-1.87.0/src/agent_lifecycle/cli/project.py +450 -0
  11. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +83 -1
  12. agent_lifecycle_kit-1.87.0/src/agent_lifecycle/contracts/finding_check_schemas.py +632 -0
  13. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +194 -0
  14. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +43 -0
  15. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/schemas.py +2 -0
  16. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/event_capture.py +166 -2
  17. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +78 -3
  18. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/deltas.py +83 -22
  19. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/traceability.py +127 -1
  20. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/proposals.py +148 -19
  21. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/merge.py +181 -4
  22. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/artifacts.py +31 -0
  23. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +4 -4
  24. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +1 -0
  25. agent_lifecycle_kit-1.85.0/src/agent_lifecycle/cli/project.py +0 -177
  26. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/LICENSE +0 -0
  27. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/NOTICE +0 -0
  28. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/README.md +0 -0
  29. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/manifest.json +0 -0
  30. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  31. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  32. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  33. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  34. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  35. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  36. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  37. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  38. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  39. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  40. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/setup.cfg +0 -0
  41. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/__init__.py +0 -0
  42. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/__main__.py +0 -0
  43. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  44. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  45. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  46. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  47. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  48. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  49. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  50. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  51. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  52. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  53. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  54. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  55. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  56. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  57. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  58. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  59. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  60. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  61. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  62. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  63. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  64. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  65. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  66. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  67. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  68. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  69. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  70. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  71. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  72. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  73. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  74. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  75. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  76. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  77. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  78. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  79. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  80. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  81. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  82. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  83. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  84. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  85. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/changesets/git.py +0 -0
  86. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  87. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  88. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  89. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  90. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  91. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  92. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  93. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  94. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  95. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  96. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
  97. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  98. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/errors.py +0 -0
  99. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/followup.py +0 -0
  100. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  101. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/main.py +0 -0
  102. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  103. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  104. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  105. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/policy.py +0 -0
  106. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  107. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/research.py +0 -0
  108. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/start.py +0 -0
  109. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  110. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  111. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  112. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  113. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  114. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/__init__.py +0 -0
  115. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  116. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  117. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  118. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  119. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/profiles.py +0 -0
  120. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/rendering.py +0 -0
  121. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  122. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  123. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  124. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  125. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  126. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  127. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  128. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  129. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  130. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  131. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  132. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  133. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  134. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  135. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  136. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  137. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  138. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  139. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  140. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  141. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  142. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  143. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  144. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  145. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  146. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  147. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  148. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  149. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  150. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  151. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  152. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  153. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  154. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  155. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  156. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  157. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  158. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  159. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  160. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  161. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  162. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  163. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  164. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  165. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  166. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  167. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  168. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  169. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  170. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  171. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  172. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  173. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  174. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  175. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  176. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  177. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  178. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  179. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  180. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  181. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  182. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  183. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  184. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  185. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  186. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  187. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  188. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  189. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  190. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/__init__.py +0 -0
  191. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  192. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  193. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  194. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  195. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  196. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  197. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  198. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  199. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  200. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  201. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  202. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  203. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  204. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  205. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  206. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  207. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/followup/records.py +0 -0
  208. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  209. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  210. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  211. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  212. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/goal/records.py +0 -0
  213. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/goal/view.py +0 -0
  214. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  215. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  216. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  217. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  218. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  219. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  220. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  221. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  222. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  223. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  224. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  225. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  226. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  227. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  228. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  229. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  230. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  231. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  232. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  233. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  234. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  235. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  236. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  237. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  238. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  239. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  240. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  241. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  242. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  243. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  244. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  245. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  246. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  247. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  248. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  249. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  250. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/planning.py +0 -0
  251. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  252. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  253. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  254. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  255. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  256. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  257. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  258. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  259. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  260. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  261. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  262. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  263. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  264. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  265. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  266. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  267. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  268. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  269. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  270. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  271. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  272. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  273. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  274. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  275. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  276. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  277. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  278. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  279. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  280. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  281. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  282. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  283. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  284. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  285. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  286. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  287. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  288. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/templates.py +0 -0
  289. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  290. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/validation.py +0 -0
  291. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/planning/verification.py +0 -0
  292. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  293. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  294. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/apply.py +0 -0
  295. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  296. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  297. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  298. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  299. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  300. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/__init__.py +0 -0
  301. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/guidance.py +0 -0
  302. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/presets.py +0 -0
  303. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/principles.py +0 -0
  304. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/project/profile.py +0 -0
  305. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/py.typed +0 -0
  306. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  307. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  308. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  309. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  310. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  311. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  312. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/quality/packs.py +0 -0
  313. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  314. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  315. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  316. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  317. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  318. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  319. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  320. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  321. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  322. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  323. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/research/__init__.py +0 -0
  324. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/research/evidence.py +0 -0
  325. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/research/provenance.py +0 -0
  326. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/research/validation.py +0 -0
  327. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/resources.py +0 -0
  328. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review/__init__.py +0 -0
  329. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review/validation.py +0 -0
  330. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  331. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  332. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  333. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  334. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  335. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  336. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  337. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  338. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  339. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/runner/attempt_snapshots.py +0 -0
  340. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/runner/core.py +0 -0
  341. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  342. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  343. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  344. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  345. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  346. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/specification/validation.py +0 -0
  347. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  348. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  349. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  350. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  351. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  352. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  353. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  354. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  355. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/events.py +0 -0
  356. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  357. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  358. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  359. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  360. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  361. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  362. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  363. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  364. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  365. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  366. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  367. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  368. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/query.py +0 -0
  369. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  370. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  371. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  372. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  373. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  374. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  375. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/state.py +0 -0
  376. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  377. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  378. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  379. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  380. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  381. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  382. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  383. {agent_lifecycle_kit-1.85.0 → agent_lifecycle_kit-1.87.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-lifecycle-kit
3
- Version: 1.85.0
3
+ Version: 1.87.0
4
4
  Summary: Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion.
5
5
  Author: Agent Lifecycle Kit contributors
6
6
  License: Apache-2.0
@@ -43,7 +43,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
43
43
  ## Quick start
44
44
  Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
45
45
 
46
- It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==1.85.0`, and common `agent-lifecycle version` errors.
46
+ It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==1.87.0`, and common `agent-lifecycle version` errors.
47
47
 
48
48
  For a quick start, run:
49
49
 
@@ -68,7 +68,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
68
68
  - The boundaries of [planning-only launch](docs/reference/planning-only-launch.md) and [frozen-task launch through a verified profile](docs/reference/qualified-host-launch.md) are documented in the reference. Shipped planning profiles remain candidates with safe failure until the corresponding profile is verified.
69
69
  - The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
70
70
  - Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
71
- - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md).
71
+ - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md).
72
72
  - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority.
73
73
  ## What it gives you
74
74
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
@@ -194,7 +194,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
194
194
 
195
195
  - Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
196
196
  - Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
197
- - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
197
+ - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
198
198
  - Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
199
199
  - Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner recovery](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
200
200
  - Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
@@ -21,7 +21,7 @@ ALK provides a verifiable finish for external-agent work with proportionate cont
21
21
  ## Quick start
22
22
  Start with [install ALK and make the first run](docs/guides/install-and-first-run.md).
23
23
 
24
- It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==1.85.0`, and common `agent-lifecycle version` errors.
24
+ It includes macOS, Linux and Windows instructions, Python 3.11-3.14, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==1.87.0`, and common `agent-lifecycle version` errors.
25
25
 
26
26
  For a quick start, run:
27
27
 
@@ -46,7 +46,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
46
46
  - The boundaries of [planning-only launch](docs/reference/planning-only-launch.md) and [frozen-task launch through a verified profile](docs/reference/qualified-host-launch.md) are documented in the reference. Shipped planning profiles remain candidates with safe failure until the corresponding profile is verified.
47
47
  - The [system architecture](docs/architecture/system-architecture.md) page explains how the project is organized, and [project comparison](docs/reference/project-comparison.md) shows how it differs from similar tools.
48
48
  - Multiple-agent boundaries, workflow configuration, model choice, prompts, timeouts and retries are described in [workflow customization and execution controls](docs/reference/workflow-customization.md).
49
- - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md).
49
+ - Create a local project profile with `agent-lifecycle project profile init`; see [project workflow profile](docs/reference/project-workflow-profile.md). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md).
50
50
  - For long sessions, use [context checkpoints and compaction recovery](docs/reference/context-checkpoints.md). They preserve a bounded local continuation package without changing plan authority.
51
51
  ## What it gives you
52
52
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
@@ -172,7 +172,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
172
172
 
173
173
  - Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
174
174
  - Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
175
- - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
175
+ - Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
176
176
  - Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
177
177
  - Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner recovery](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
178
178
  - Release assets: [Task templates](templates/tasks/README.md), [Neutrality scanning](docs/reference/neutrality.md), and [Release security](docs/security/release-security.md).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "1.85.0"
7
+ version = "1.87.0"
8
8
  description = "Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11,<3.15"
@@ -1,3 +1,3 @@
1
1
  """Package version."""
2
2
 
3
- __version__ = "1.85.0"
3
+ __version__ = "1.87.0"
@@ -2,8 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from collections.abc import Callable
5
6
  from pathlib import Path
6
- from typing import Any, Callable
7
+ from typing import Any
7
8
 
8
9
  from agent_lifecycle.audit.implementation import (
9
10
  build_final_implementation_audit,
@@ -22,10 +23,10 @@ from agent_lifecycle.planning import (
22
23
  validate_plan_manifest,
23
24
  validate_repository_references,
24
25
  )
26
+ from agent_lifecycle.planning.traceability import validate_finding_check_traceability
25
27
  from agent_lifecycle.workflow.artifacts import package_root
26
28
  from agent_lifecycle.workflow.state import load_state
27
29
 
28
-
29
30
  PACKAGE_AUDIT_SCHEMA = "agent-plan-package-audit-report.v1"
30
31
  _PLAN_FILES = (
31
32
  "README.md",
@@ -66,7 +67,9 @@ def build_package_audit(
66
67
  raise LifecycleError("plan-directory-missing", "plan directory was not found", {"path": str(package_dir)})
67
68
  manifest_path = package_dir / "plan.manifest.json"
68
69
  if manifest_path.is_symlink():
69
- raise LifecycleError("plan-manifest-symlink", "plan manifest must not be a symlink", {"path": str(manifest_path)})
70
+ raise LifecycleError(
71
+ "plan-manifest-symlink", "plan manifest must not be a symlink", {"path": str(manifest_path)}
72
+ )
70
73
  manifest = read_json_object(manifest_path, label="plan manifest")
71
74
  package_id = _package_id(manifest)
72
75
  findings: list[dict[str, Any]] = []
@@ -92,20 +95,24 @@ def build_package_audit(
92
95
  _capture_check_failure("lock", lock_check, findings, blockers)
93
96
 
94
97
  acceptance_path = package_dir / "acceptance-criteria.md"
95
- acceptance_check = _run_check(
96
- lambda: validate_acceptance_checklist(
97
- manifest,
98
- acceptance_path.read_text(encoding="utf-8"),
98
+ acceptance_check = (
99
+ _run_check(
100
+ lambda: validate_acceptance_checklist(
101
+ manifest,
102
+ acceptance_path.read_text(encoding="utf-8"),
103
+ )
104
+ )
105
+ if acceptance_path.is_file() and not acceptance_path.is_symlink()
106
+ else _missing_check(
107
+ "acceptance-checklist-symlink" if acceptance_path.is_symlink() else "acceptance-checklist-missing",
108
+ "acceptance checklist must not be a symlink"
109
+ if acceptance_path.is_symlink()
110
+ else "acceptance checklist was not found",
99
111
  )
100
- ) if acceptance_path.is_file() and not acceptance_path.is_symlink() else _missing_check(
101
- "acceptance-checklist-symlink" if acceptance_path.is_symlink() else "acceptance-checklist-missing",
102
- "acceptance checklist must not be a symlink" if acceptance_path.is_symlink() else "acceptance checklist was not found",
103
112
  )
104
113
  _capture_check_failure("acceptance", acceptance_check, findings, blockers)
105
114
 
106
- references_check = _run_check(
107
- lambda: require_repository_references_pass(validate_repository_references(manifest))
108
- )
115
+ references_check = _run_check(lambda: require_repository_references_pass(validate_repository_references(manifest)))
109
116
  _capture_check_failure("references", references_check, findings, blockers)
110
117
 
111
118
  plan_status = _plan_status(
@@ -188,6 +195,27 @@ def require_package_audit_pass(audit: dict[str, Any]) -> dict[str, Any]:
188
195
  return audit
189
196
 
190
197
 
198
+ def build_finding_check_adoption_audit(
199
+ *,
200
+ findings: list[dict[str, Any]],
201
+ bindings: list[dict[str, Any]],
202
+ plan_deltas: list[dict[str, Any]],
203
+ evidence: list[dict[str, Any]] | None = None,
204
+ active_binding_ids: list[str] | None = None,
205
+ source_revision: str | None = None,
206
+ ) -> dict[str, Any]:
207
+ """Audit finding/check adoption as a read-only package-level gate."""
208
+
209
+ return validate_finding_check_traceability(
210
+ findings=findings,
211
+ bindings=bindings,
212
+ plan_deltas=plan_deltas,
213
+ evidence=evidence,
214
+ active_binding_ids=active_binding_ids,
215
+ source_revision=source_revision,
216
+ )
217
+
218
+
191
219
  def validate_package_audit(audit: dict[str, Any]) -> dict[str, Any]:
192
220
  """Validate the integrity and top-level semantics of a package receipt."""
193
221
 
@@ -200,12 +228,16 @@ def validate_package_audit(audit: dict[str, Any]) -> dict[str, Any]:
200
228
  if audit.get("status") not in {"PASS", "FAIL", "REVIEW_REQUIRED"}:
201
229
  blockers.append({"code": "package-audit-status", "message": "package audit status is unsupported"})
202
230
  if audit.get("productionPromotionClaimed") is not False:
203
- blockers.append({"code": "package-audit-production-claim", "message": "package audit must not claim production promotion"})
231
+ blockers.append(
232
+ {"code": "package-audit-production-claim", "message": "package audit must not claim production promotion"}
233
+ )
204
234
  auditor = audit.get("auditor")
205
235
  if not isinstance(auditor, dict) or auditor.get("independent") is not True:
206
236
  blockers.append({"code": "package-audit-auditor", "message": "package auditor must be independent"})
207
237
  if audit.get("status") == "PASS" and audit.get("blockers"):
208
- blockers.append({"code": "package-audit-open-blockers", "message": "PASS package audit must not contain blockers"})
238
+ blockers.append(
239
+ {"code": "package-audit-open-blockers", "message": "PASS package audit must not contain blockers"}
240
+ )
209
241
  result = {
210
242
  "schemaVersion": "agent-plan-package-audit-validation.v1",
211
243
  "status": "PASS" if not blockers else "FAIL",
@@ -301,10 +333,20 @@ def _build_implementation_section(
301
333
  final_audit = aggregate["result"]
302
334
  final_validation = validate_final_implementation_audit(final_audit, state=state)
303
335
  if final_validation.get("status") != "PASS":
304
- _capture_check_failure("final-implementation-validation", {"status": "FAIL", "blockers": final_validation.get("blockers", []), "result": final_validation}, findings, blockers)
336
+ _capture_check_failure(
337
+ "final-implementation-validation",
338
+ {"status": "FAIL", "blockers": final_validation.get("blockers", []), "result": final_validation},
339
+ findings,
340
+ blockers,
341
+ )
305
342
  report_status = "FAIL"
306
343
  elif final_audit.get("status") != "PASS":
307
- _capture_check_failure("final-implementation", {"status": "FAIL", "blockers": final_audit.get("blockers", []), "result": final_audit}, findings, blockers)
344
+ _capture_check_failure(
345
+ "final-implementation",
346
+ {"status": "FAIL", "blockers": final_audit.get("blockers", []), "result": final_audit},
347
+ findings,
348
+ blockers,
349
+ )
308
350
  report_status = "FAIL"
309
351
  elif require_implementation:
310
352
  _add_finding(
@@ -452,7 +494,9 @@ def _contained_relative_path(root: Path, raw: str) -> str:
452
494
  {"root": str(root), "path": str(resolved)},
453
495
  ) from exc
454
496
  if not resolved.is_file():
455
- raise LifecycleError("implementation-report-missing", "implementation audit report was not found", {"path": str(resolved)})
497
+ raise LifecycleError(
498
+ "implementation-report-missing", "implementation audit report was not found", {"path": str(resolved)}
499
+ )
456
500
  return normalize_repo_path(relative.as_posix(), label="implementation audit report")
457
501
 
458
502
 
@@ -477,10 +521,7 @@ def _package_file_check(
477
521
  )
478
522
  except LifecycleError as exc:
479
523
  return {"status": "FAIL", "blockers": [_error(exc)]}
480
- entries = [
481
- {"path": item["path"], "status": "PASS", "bytes": item["bytes"]}
482
- for item in verification["entries"]
483
- ]
524
+ entries = [{"path": item["path"], "status": "PASS", "bytes": item["bytes"]} for item in verification["entries"]]
484
525
  body = {
485
526
  "schemaVersion": "agent-plan-package-files.v2",
486
527
  "status": "PASS",
@@ -497,8 +538,14 @@ def _package_file_check(
497
538
  exists = path.is_file()
498
539
  is_symlink = path.is_symlink()
499
540
  optional_draft_lock = name == "plan.lock.json" and not exists and not is_symlink
500
- status = "SYMLINK" if is_symlink else ("PASS" if exists else ("REVIEW_REQUIRED" if optional_draft_lock else "MISSING"))
501
- entries.append({"path": name, "status": status, "bytes": path.stat().st_size if exists and not is_symlink else 0})
541
+ status = (
542
+ "SYMLINK"
543
+ if is_symlink
544
+ else ("PASS" if exists else ("REVIEW_REQUIRED" if optional_draft_lock else "MISSING"))
545
+ )
546
+ entries.append(
547
+ {"path": name, "status": status, "bytes": path.stat().st_size if exists and not is_symlink else 0}
548
+ )
502
549
  if (not exists and not optional_draft_lock) or is_symlink:
503
550
  missing.append(name)
504
551
  body = {
@@ -552,29 +599,50 @@ def _missing_check(code: str, message: str) -> dict[str, Any]:
552
599
  return {"status": "FAIL", "blockers": [{"code": code, "message": message, "context": {}}]}
553
600
 
554
601
 
555
- def _capture_check_failure(category: str, check: dict[str, Any], findings: list[dict[str, Any]], blockers: list[dict[str, Any]]) -> None:
602
+ def _capture_check_failure(
603
+ category: str, check: dict[str, Any], findings: list[dict[str, Any]], blockers: list[dict[str, Any]]
604
+ ) -> None:
556
605
  if check.get("status") != "FAIL":
557
606
  return
558
607
  for item in check.get("blockers", []):
559
608
  if not isinstance(item, dict):
560
609
  continue
610
+ context = item.get("context")
611
+ context_payload = context if isinstance(context, dict) else {}
561
612
  _add_finding(
562
613
  findings,
563
614
  blockers,
564
615
  code=str(item.get("code") or f"{category}-failed"),
565
- severity="HIGH" if category in {"manifest", "completeness", "lock", "implementation-state", "implementation-reports"} else "MEDIUM",
616
+ severity="HIGH"
617
+ if category in {"manifest", "completeness", "lock", "implementation-state", "implementation-reports"}
618
+ else "MEDIUM",
566
619
  category=category,
567
620
  message=str(item.get("message") or f"{category} check failed"),
568
- context=item.get("context") if isinstance(item.get("context"), dict) else item,
621
+ context=context_payload,
569
622
  )
570
623
 
571
624
 
572
625
  def _lineage_blockers(state: dict[str, Any], manifest: dict[str, Any], package_id: str) -> list[dict[str, Any]]:
573
626
  expected_digest = canonical_digest(manifest)
574
627
  checks = (
575
- ("implementation-package-mismatch", "workflow state packageId does not match the plan package", state.get("packageId"), package_id),
576
- ("implementation-revision-mismatch", "workflow state planRevision does not match the plan", state.get("planRevision"), manifest.get("planRevision")),
577
- ("implementation-digest-mismatch", "workflow state planDigest does not match the plan", state.get("planDigest"), expected_digest),
628
+ (
629
+ "implementation-package-mismatch",
630
+ "workflow state packageId does not match the plan package",
631
+ state.get("packageId"),
632
+ package_id,
633
+ ),
634
+ (
635
+ "implementation-revision-mismatch",
636
+ "workflow state planRevision does not match the plan",
637
+ state.get("planRevision"),
638
+ manifest.get("planRevision"),
639
+ ),
640
+ (
641
+ "implementation-digest-mismatch",
642
+ "workflow state planDigest does not match the plan",
643
+ state.get("planDigest"),
644
+ expected_digest,
645
+ ),
578
646
  )
579
647
  return [
580
648
  {"code": code, "message": message, "context": {"actual": actual, "expected": expected}}
@@ -2,6 +2,15 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from agent_lifecycle.contracts.finding_check_schemas import (
6
+ FINDING_CHECK_BINDING_SCHEMA,
7
+ FINDING_CHECK_EVIDENCE_SCHEMA,
8
+ build_finding_check_binding,
9
+ build_finding_check_evidence,
10
+ transition_finding_check_binding,
11
+ validate_finding_check_binding,
12
+ validate_finding_check_evidence,
13
+ )
5
14
  from agent_lifecycle.contracts.proof_validation import (
6
15
  FINDING_SCHEMA,
7
16
  ROOT_CAUSE_SCHEMA,
@@ -14,12 +23,19 @@ from agent_lifecycle.contracts.proof_validation import (
14
23
  )
15
24
 
16
25
  __all__ = [
26
+ "FINDING_CHECK_BINDING_SCHEMA",
27
+ "FINDING_CHECK_EVIDENCE_SCHEMA",
17
28
  "FINDING_SCHEMA",
18
29
  "ROOT_CAUSE_SCHEMA",
30
+ "build_finding_check_binding",
31
+ "build_finding_check_evidence",
19
32
  "build_finding_identity",
20
33
  "build_root_cause_evidence",
21
34
  "finding_identity_fields",
22
35
  "stable_finding_id",
36
+ "transition_finding_check_binding",
37
+ "validate_finding_check_binding",
38
+ "validate_finding_check_evidence",
23
39
  "validate_finding_identity",
24
40
  "validate_root_cause_evidence",
25
41
  ]
@@ -12,6 +12,11 @@ from agent_lifecycle.contracts import (
12
12
  read_json_object,
13
13
  write_json_create,
14
14
  )
15
+ from agent_lifecycle.contracts.finding_check_schemas import (
16
+ validate_finding_check_binding,
17
+ validate_finding_check_evidence,
18
+ validate_finding_check_proposal,
19
+ )
15
20
  from agent_lifecycle.freeze import verify_plan_lock
16
21
  from agent_lifecycle.planning import (
17
22
  build_plan_delta,
@@ -33,10 +38,12 @@ from agent_lifecycle.planning.verification import (
33
38
  load_verification_inputs,
34
39
  require_plan_verification_pass,
35
40
  )
41
+ from agent_lifecycle.policy.proposals import accept_finding_check_proposal, build_finding_check_proposal
36
42
  from agent_lifecycle.specification import (
37
43
  build_completion_gate_receipt,
38
44
  validate_specification,
39
45
  )
46
+ from agent_lifecycle.workflow.artifacts import build_finding_check_evidence_artifact
40
47
 
41
48
 
42
49
  def dispatch_planning(args: argparse.Namespace) -> dict[str, Any]:
@@ -194,9 +201,62 @@ def _dispatch_plan(args: argparse.Namespace) -> dict[str, Any]:
194
201
  if args.out:
195
202
  write_json_create(Path(args.out), payload)
196
203
  return payload
204
+ if args.plan_command == "finding-check":
205
+ return _dispatch_finding_check(args)
197
206
  raise LifecycleError("command-not-implemented", "plan command is not implemented")
198
207
 
199
208
 
209
+ def _dispatch_finding_check(args: argparse.Namespace) -> dict[str, Any]:
210
+ def read(path: str, label: str) -> dict[str, Any]:
211
+ return read_json_object(Path(path), label=label)
212
+
213
+ if args.finding_check_command == "propose":
214
+ payload = build_finding_check_proposal(
215
+ finding=read(args.finding, "finding"),
216
+ plan_delta=read(args.delta, "plan delta"),
217
+ check_identity=read(args.check, "check identity"),
218
+ owner=args.owner,
219
+ scope=read(args.scope, "check scope"),
220
+ source_revision=args.source_revision,
221
+ expected_result=args.expected_result,
222
+ proposal_id=args.proposal_id,
223
+ )
224
+ elif args.finding_check_command == "validate":
225
+ if args.binding:
226
+ payload = validate_finding_check_binding(read(args.binding, "finding-check binding"))
227
+ elif args.proposal:
228
+ payload = validate_finding_check_proposal(read(args.proposal, "finding-check proposal"))
229
+ elif args.evidence:
230
+ payload = validate_finding_check_evidence(read(args.evidence, "finding-check evidence"))
231
+ else:
232
+ raise LifecycleError("finding-check-input-required", "binding, proposal or evidence is required")
233
+ elif args.finding_check_command == "accept":
234
+ payload = accept_finding_check_proposal(
235
+ read(args.proposal, "finding-check proposal"), read(args.authorization, "authorization")
236
+ )
237
+ elif args.finding_check_command == "evidence":
238
+ payload = build_finding_check_evidence_artifact(
239
+ read(args.binding, "finding-check binding"),
240
+ result=args.result,
241
+ source_revision=args.source_revision,
242
+ evidence_ids=args.evidence_id,
243
+ )
244
+ elif args.finding_check_command == "transition":
245
+ from agent_lifecycle.contracts.finding_check_schemas import transition_finding_check_binding
246
+
247
+ payload = transition_finding_check_binding(
248
+ read(args.binding, "finding-check binding"),
249
+ args.target_status,
250
+ authorization=read(args.authorization, "authorization"),
251
+ evidence=read(args.evidence, "finding-check evidence") if args.evidence else None,
252
+ )
253
+ else:
254
+ raise LifecycleError("command-not-implemented", "finding-check command is not implemented")
255
+ if args.out:
256
+ write_json_create(Path(args.out), payload)
257
+ return payload
258
+
259
+
200
260
  def _dispatch_task(args: argparse.Namespace) -> dict[str, Any]:
201
261
  if args.task_command == "compile":
202
262
  execution_strategy = (
@@ -6,11 +6,14 @@ import argparse
6
6
 
7
7
  from agent_lifecycle.adapter_sessions import START_MODES
8
8
  from agent_lifecycle.cli.progress_hooks import add_progress_hook_args
9
+ from agent_lifecycle.cli.project import add_project_parser
9
10
  from agent_lifecycle.contracts.lifecycle_action_catalog import COMPATIBILITY_COMMANDS
10
11
  from agent_lifecycle.contracts.review_mesh_schemas import REVIEW_MESH_MODE_IDS
11
12
  from agent_lifecycle.resources import builtin_profile_path
12
13
  from agent_lifecycle.review_mesh.operator_templates import REVIEW_MESH_OPERATOR_TEMPLATE_IDS
13
14
 
15
+ _add_project_parser = add_project_parser
16
+
14
17
  _BASELINE_PROFILE = builtin_profile_path("lifecycle-baselines.v1.json")
15
18
  _MODEL_ROUTING_PROFILE = builtin_profile_path("model-routing-profile.v1.json")
16
19
  _RISK_POLICY = builtin_profile_path("risk-execution-policy.v1.json")
@@ -61,45 +64,6 @@ def _add_start_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentPa
61
64
  )
62
65
 
63
66
 
64
- def _add_project_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
65
- project = subparsers.add_parser("project", help="project-local ALK configuration")
66
- project_sub = project.add_subparsers(dest="project_command", required=True)
67
- profile = project_sub.add_parser("profile", help="project workflow profile commands")
68
- profile_sub = profile.add_subparsers(dest="profile_command", required=True)
69
- init = profile_sub.add_parser("init", help="create a minimal local project profile")
70
- init.add_argument("--project-root", default=".")
71
- init.add_argument("--out", default=".alk/project-profile.json")
72
- init.add_argument("--adapter", help="set the default adapter in the new profile")
73
- check = profile_sub.add_parser("check", help="validate and resolve a project profile")
74
- check.add_argument("--project-root", default=".")
75
- check.add_argument("--profile")
76
- check.add_argument("--manifest")
77
- check.add_argument("--lock")
78
- check.add_argument("--adapter")
79
- check.add_argument("--mode", choices=list(START_MODES))
80
- check.add_argument("--risk", choices=["auto", "S0", "S1", "S2"])
81
- check.add_argument("--out")
82
- principles = project_sub.add_parser("principles", help="check a bounded project-principles artifact")
83
- principles_sub = principles.add_subparsers(dest="principles_command", required=True)
84
- principles_check = principles_sub.add_parser("check", aliases=["validate"])
85
- principles_check.add_argument("--file", "--path", dest="principles_path", required=True)
86
- principles_check.add_argument("--project-root", default=".")
87
- principles_check.add_argument("--out")
88
- preset = project_sub.add_parser("preset", help="inspect and render built-in workflow presets")
89
- preset_sub = preset.add_subparsers(dest="preset_command", required=True)
90
- preset_sub.add_parser("list", help="list built-in workflow presets")
91
- for command in ("inspect", "validate"):
92
- child = preset_sub.add_parser(command, help=f"{command} a built-in workflow preset")
93
- child.add_argument("--preset", required=True)
94
- child.add_argument("--project-root", default=".")
95
- render = preset_sub.add_parser("render", help="render a preset to an explicit profile path")
96
- render.add_argument("--preset", required=True)
97
- render.add_argument("--project-root", default=".")
98
- render.add_argument("--profile-id")
99
- render.add_argument("--adapter")
100
- render.add_argument("--out", required=True)
101
-
102
-
103
67
  def _add_host_launch_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
104
68
  host_launch = subparsers.add_parser("host-launch", help="inspect or preflight an operator-local host profile")
105
69
  host_launch_sub = host_launch.add_subparsers(dest="host_launch_command", required=True)
@@ -59,6 +59,41 @@ def _add_plan_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentPar
59
59
  delta_check = plan_sub.add_parser("delta-check", aliases=["delta-validate"])
60
60
  delta_check.add_argument("--delta", required=True)
61
61
  delta_check.add_argument("--out")
62
+ finding_check = plan_sub.add_parser("finding-check", help="bind accepted findings to deterministic checks")
63
+ finding_check_sub = finding_check.add_subparsers(dest="finding_check_command", required=True)
64
+ propose = finding_check_sub.add_parser("propose")
65
+ propose.add_argument("--finding", required=True)
66
+ propose.add_argument("--delta", required=True)
67
+ propose.add_argument("--check", required=True)
68
+ propose.add_argument("--scope", required=True)
69
+ propose.add_argument("--owner", required=True)
70
+ propose.add_argument("--source-revision", required=True)
71
+ propose.add_argument("--expected-result", choices=["PASS", "FAIL", "BLOCKED"], default="PASS")
72
+ propose.add_argument("--proposal-id", default="finding-check-adoption-proposal")
73
+ propose.add_argument("--out")
74
+ validate = finding_check_sub.add_parser("validate")
75
+ validate.add_argument("--binding")
76
+ validate.add_argument("--proposal")
77
+ validate.add_argument("--evidence")
78
+ validate.add_argument("--out")
79
+ accept = finding_check_sub.add_parser("accept")
80
+ accept.add_argument("--proposal", required=True)
81
+ accept.add_argument("--authorization", required=True)
82
+ accept.add_argument("--out")
83
+ evidence = finding_check_sub.add_parser("evidence")
84
+ evidence.add_argument("--binding", required=True)
85
+ evidence.add_argument("--result", choices=["PASS", "FAIL", "BLOCKED"], required=True)
86
+ evidence.add_argument("--source-revision", required=True)
87
+ evidence.add_argument("--evidence-id", action="append", required=True)
88
+ evidence.add_argument("--out")
89
+ transition = finding_check_sub.add_parser("transition")
90
+ transition.add_argument("--binding", required=True)
91
+ transition.add_argument(
92
+ "--target-status", choices=["PROPOSED", "ACCEPTED", "IMPLEMENTED", "VERIFIED", "RETIRED"], required=True
93
+ )
94
+ transition.add_argument("--authorization", required=True)
95
+ transition.add_argument("--evidence")
96
+ transition.add_argument("--out")
62
97
 
63
98
 
64
99
  def _add_task_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: