agent-lifecycle-kit 2.2.0__tar.gz → 2.4.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 (412) hide show
  1. {agent_lifecycle_kit-2.2.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.4.0}/PKG-INFO +4 -4
  2. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/README.md +3 -3
  3. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/_version.py +1 -1
  5. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/__init__.py +10 -0
  6. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/ownership.py +12 -0
  7. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/audit/security_analysis.py +15 -0
  8. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_contracts.py +34 -0
  9. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_observability.py +113 -31
  10. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/observability_parsers.py +14 -0
  11. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/parsers.py +13 -0
  12. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/contracts/multi_run_view_schemas.py +114 -0
  13. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +20 -1
  14. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/schemas.py +4 -0
  15. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/contracts/security_analysis_schemas.py +306 -0
  16. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/imports/security_findings.py +299 -0
  17. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/manifest_contract.py +57 -0
  18. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/__init__.py +51 -19
  19. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics.py +123 -53
  20. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/quality/security_analysis.py +788 -0
  21. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/__init__.py +9 -3
  22. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/reporting/attention.py +267 -0
  23. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/reporting/multi_run.py +469 -0
  24. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/__init__.py +2 -0
  25. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/assignments.py +47 -0
  26. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +53 -9
  27. agent_lifecycle_kit-2.4.0/src/agent_lifecycle/workflow/implementation_audit_gate.py +459 -0
  28. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/plan_adoption.py +26 -3
  29. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/task_transitions.py +4 -3
  30. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +4 -4
  31. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
  32. agent_lifecycle_kit-2.2.0/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -182
  33. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/LICENSE +0 -0
  34. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/NOTICE +0 -0
  35. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/README.md +0 -0
  36. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/manifest.json +0 -0
  37. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  38. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  39. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  40. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  41. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  42. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  43. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  44. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  45. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  46. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  47. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/setup.cfg +0 -0
  48. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/__init__.py +0 -0
  49. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/__main__.py +0 -0
  50. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  51. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  52. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  53. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  54. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  55. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  56. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  57. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  58. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  59. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  60. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  61. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  62. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  63. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  64. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  65. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  66. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  67. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  68. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  69. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  70. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  71. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  72. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  73. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  74. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  75. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  76. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  77. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  78. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  79. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  80. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  81. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/package.py +0 -0
  82. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  83. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  84. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  85. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  86. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  87. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  88. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  89. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  90. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  91. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  92. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  93. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  94. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  95. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/git.py +0 -0
  96. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  97. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  98. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  99. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  100. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  101. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  102. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  103. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  104. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
  105. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
  106. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  107. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/errors.py +0 -0
  108. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/followup.py +0 -0
  109. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  110. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
  111. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/main.py +0 -0
  112. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
  113. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
  114. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/policy.py +0 -0
  115. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  116. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/project.py +0 -0
  117. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/research.py +0 -0
  118. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/start.py +0 -0
  119. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  120. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  121. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  122. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  123. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  124. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  125. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/__init__.py +0 -0
  126. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  127. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  128. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  129. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  130. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/profiles.py +0 -0
  131. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/rendering.py +0 -0
  132. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  133. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  134. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  135. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  136. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  137. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  138. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  139. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  140. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  141. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  142. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  143. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  144. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  145. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  146. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  147. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  148. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  149. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  150. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  151. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  152. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  153. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  154. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  155. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  156. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  157. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  158. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  159. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  160. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  161. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  162. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  163. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  164. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  165. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  166. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  167. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  168. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
  169. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  170. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  171. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  172. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  173. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  174. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  175. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  176. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  177. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  178. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  179. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  180. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  181. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  182. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  183. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  184. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  185. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  186. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  187. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  188. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  189. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  190. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  191. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  192. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  193. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  194. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  195. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  196. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  198. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  199. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  202. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  203. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  204. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  205. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  206. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  207. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  209. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  210. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/__init__.py +0 -0
  212. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  213. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  214. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  215. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  216. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  217. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  218. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  219. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  220. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  221. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  222. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  223. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  224. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  225. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  226. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  227. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  228. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  229. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  230. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  231. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/followup/records.py +0 -0
  232. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  233. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  234. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  235. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  236. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/records.py +0 -0
  237. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/goal/view.py +0 -0
  238. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  239. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  240. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  241. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  242. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  243. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  244. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  245. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  246. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  247. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  248. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  249. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  250. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  251. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  252. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  253. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  254. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  255. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  256. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  257. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  258. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  259. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  260. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  261. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  262. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  263. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  264. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  265. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  266. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  267. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  268. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  269. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  270. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  271. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  272. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  273. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  274. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  275. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  276. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  277. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  278. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/planning.py +0 -0
  279. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  280. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  281. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
  282. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  283. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  284. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
  285. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  286. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  287. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
  288. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
  289. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
  290. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  291. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  292. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  293. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  294. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  295. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  296. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  297. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  298. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  299. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  300. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  301. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  302. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  303. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  304. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  305. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  306. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  307. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  308. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  309. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  310. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  311. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  312. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  313. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  314. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  315. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  316. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  317. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  318. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/templates.py +0 -0
  319. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  320. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  321. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/validation.py +0 -0
  322. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/planning/verification.py +0 -0
  323. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  324. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  325. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/apply.py +0 -0
  326. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  327. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  328. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  329. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  330. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  331. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  332. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/__init__.py +0 -0
  333. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  334. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/guidance.py +0 -0
  335. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/merge.py +0 -0
  336. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/presets.py +0 -0
  337. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/principles.py +0 -0
  338. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/project/profile.py +0 -0
  339. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/py.typed +0 -0
  340. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  341. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  342. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  343. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  344. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  345. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/quality/packs.py +0 -0
  346. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  347. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  348. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
  349. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  350. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  351. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  352. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  353. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  354. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  355. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/__init__.py +0 -0
  356. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/evidence.py +0 -0
  357. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/provenance.py +0 -0
  358. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/research/validation.py +0 -0
  359. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/resources.py +0 -0
  360. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review/__init__.py +0 -0
  361. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review/validation.py +0 -0
  362. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  363. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  364. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  365. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  366. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  367. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  368. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  369. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  370. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/core.py +0 -0
  371. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  372. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  373. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  374. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  375. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  376. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/specification/validation.py +0 -0
  377. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  378. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  379. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  380. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  381. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  382. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  383. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  384. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  385. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/events.py +0 -0
  386. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  387. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  388. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  389. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  390. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  391. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  392. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  393. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  394. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  395. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  396. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/query.py +0 -0
  397. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  398. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  399. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  400. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/run.py +0 -0
  401. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  402. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  403. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  404. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  405. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/state.py +0 -0
  406. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  407. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  408. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  409. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  410. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  411. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  412. {agent_lifecycle_kit-2.2.0 → agent_lifecycle_kit-2.4.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.2.0
3
+ Version: 2.4.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==2.2.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==2.4.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). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), or track bounded terminology with [project domain language](docs/reference/project-domain-language.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), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
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.
@@ -195,7 +195,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
195
195
 
196
196
  - 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).
197
197
  - 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).
198
- - 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), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.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
+ - 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), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.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).
199
199
  - 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).
200
200
  - 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 migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
201
201
  - 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==2.2.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==2.4.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). Explain the selected profile, plan constraints and adapter capability lineage with [effective configuration](docs/reference/effective-configuration.md), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), or track bounded terminology with [project domain language](docs/reference/project-domain-language.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), [structured result qualification](docs/reference/structured-result-qualification.md) and [adapter action evidence](docs/reference/adapter-action-evidence.md). Add optional project-owned architecture and dependency evidence with [external verification checks](docs/reference/external-verification-checks.md), track bounded terminology with [project domain language](docs/reference/project-domain-language.md), coordinate several runs with the read-only [multi-run attention view](docs/reference/multi-run-attention-view.md), or use the optional [security analysis profile](docs/reference/security-analysis-profile.md) for untrusted findings and independently verified remediation.
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.
@@ -173,7 +173,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
173
173
 
174
174
  - 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).
175
175
  - 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).
176
- - 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), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.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
+ - 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), [External verification checks](docs/reference/external-verification-checks.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.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).
177
177
  - 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).
178
178
  - 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 migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
179
179
  - 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 = "2.2.0"
7
+ version = "2.4.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__ = "2.2.0"
3
+ __version__ = "2.4.0"
@@ -44,6 +44,12 @@ from agent_lifecycle.audit.review_verdict import (
44
44
  require_review_verdict_pass,
45
45
  validate_review_verdict,
46
46
  )
47
+ from agent_lifecycle.audit.security_analysis import (
48
+ build_security_analysis_audit,
49
+ build_security_verification_assignment,
50
+ validate_security_analysis_audit,
51
+ validate_security_verification_assignment,
52
+ )
47
53
 
48
54
  __all__ = [
49
55
  "build_bug_forensics_audit",
@@ -58,6 +64,8 @@ __all__ = [
58
64
  "build_proof_integrity_receipt",
59
65
  "build_receipt_hash_chain",
60
66
  "build_root_cause_evidence",
67
+ "build_security_analysis_audit",
68
+ "build_security_verification_assignment",
61
69
  "compact_review_routing",
62
70
  "finding_identity_fields",
63
71
  "require_bug_forensics_audit_pass",
@@ -78,4 +86,6 @@ __all__ = [
78
86
  "validate_receipt_hash_chain",
79
87
  "validate_review_verdict",
80
88
  "validate_root_cause_evidence",
89
+ "validate_security_analysis_audit",
90
+ "validate_security_verification_assignment",
81
91
  ]
@@ -53,6 +53,18 @@ def report_has_category(report: dict[str, Any], categories: set[str]) -> bool:
53
53
  return any(entry.get("category") in categories for entry in report.get("entries", []))
54
54
 
55
55
 
56
+ def declared_ownership_paths(manifest: dict[str, Any]) -> list[str]:
57
+ """Return literal workstream ownership paths for read-only projections."""
58
+
59
+ classifiers = _classifiers(manifest, None)
60
+ paths = {
61
+ path
62
+ for roots in classifiers["workstreams"].values()
63
+ for path in roots
64
+ }
65
+ return sorted(paths)
66
+
67
+
56
68
  def _classifiers(manifest: dict[str, Any], manifest_path: Path | None) -> dict[str, Any]:
57
69
  package_value = manifest.get("package")
58
70
  package = package_value if isinstance(package_value, dict) else {}
@@ -0,0 +1,15 @@
1
+ """Compatibility exports for security-analysis verification evidence."""
2
+
3
+ from agent_lifecycle.quality.security_analysis import (
4
+ build_security_analysis_audit,
5
+ build_security_verification_assignment,
6
+ validate_security_analysis_audit,
7
+ validate_security_verification_assignment,
8
+ )
9
+
10
+ __all__ = [
11
+ "build_security_analysis_audit",
12
+ "build_security_verification_assignment",
13
+ "validate_security_analysis_audit",
14
+ "validate_security_verification_assignment",
15
+ ]
@@ -37,6 +37,7 @@ from agent_lifecycle.imports import (
37
37
  validate_import_result,
38
38
  validate_skill_improvement_proposal,
39
39
  )
40
+ from agent_lifecycle.imports.security_findings import import_security_findings, validate_security_finding_import
40
41
  from agent_lifecycle.planning import (
41
42
  build_task_template_library,
42
43
  require_task_template_validation_pass,
@@ -52,6 +53,10 @@ from agent_lifecycle.quality import (
52
53
  validate_bug_forensics_recipe_library,
53
54
  validate_quality_pack,
54
55
  )
56
+ from agent_lifecycle.quality.security_analysis import (
57
+ build_security_analysis_profile,
58
+ validate_security_finding,
59
+ )
55
60
  from agent_lifecycle.review_mesh import (
56
61
  build_quorum_from_synthesis,
57
62
  build_review_mesh_assignment_packet,
@@ -142,6 +147,17 @@ def _dispatch_evidence(args: argparse.Namespace) -> dict[str, Any]:
142
147
 
143
148
 
144
149
  def _dispatch_import(args: argparse.Namespace) -> dict[str, Any]:
150
+ if args.import_command in {"security-findings", "security"}:
151
+ payload = import_security_findings(
152
+ Path(args.source),
153
+ source_revision=args.source_revision,
154
+ expected_source_revision=args.expected_source_revision,
155
+ source_lineage_digest=args.source_lineage_digest,
156
+ max_input_bytes=args.max_input_bytes,
157
+ )
158
+ if args.out:
159
+ write_json_create(Path(args.out), payload)
160
+ return payload
145
161
  if args.import_command == "profile-list":
146
162
  payload = external_dialect_registry()
147
163
  if args.out:
@@ -222,6 +238,24 @@ def _planning_import_profile(
222
238
 
223
239
 
224
240
  def _dispatch_quality(args: argparse.Namespace) -> dict[str, Any]:
241
+ if args.quality_command in {"security-profile", "security-analysis-profile"}:
242
+ payload = build_security_analysis_profile()
243
+ if args.out:
244
+ write_json_create(Path(args.out), payload)
245
+ return payload
246
+ if args.quality_command in {"security-finding-check", "security-analysis-check"}:
247
+ candidate = read_json_object(Path(args.candidate), label="security finding import")
248
+ if candidate.get("schemaVersion") == "agent-security-finding-import.v1":
249
+ payload = validate_security_finding_import(
250
+ candidate, expected_source_revision=args.expected_source_revision
251
+ )
252
+ else:
253
+ payload = validate_security_finding(
254
+ candidate, expected_source_revision=args.expected_source_revision
255
+ )
256
+ if args.out:
257
+ write_json_create(Path(args.out), payload)
258
+ return payload
225
259
  if args.quality_command == "pack-check":
226
260
  manifest = (
227
261
  read_json_object(Path(args.manifest), label="quality pack")
@@ -3,9 +3,11 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import argparse
6
+ from datetime import UTC, datetime
6
7
  from pathlib import Path
7
8
  from typing import Any
8
9
 
10
+ from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
9
11
  from agent_lifecycle.context import check_context, load_context_profile, render_context
10
12
  from agent_lifecycle.context.checkpoint_store import (
11
13
  restore_context_checkpoint,
@@ -33,6 +35,7 @@ from agent_lifecycle.host_protocol.thread_bridge import (
33
35
  prepare_thread_request,
34
36
  validate_thread_exchange,
35
37
  )
38
+ from agent_lifecycle.imports.security_findings import import_security_findings
36
39
  from agent_lifecycle.metrics import (
37
40
  build_lifecycle_cost_summary,
38
41
  build_lifecycle_recommendation_summary,
@@ -54,7 +57,6 @@ from agent_lifecycle.metrics.audit_optimization import (
54
57
  validate_audit_optimization_report,
55
58
  )
56
59
  from agent_lifecycle.metrics.audit_samples import build_audit_samples
57
- from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
58
60
  from agent_lifecycle.model_routing import (
59
61
  resolve_model_route,
60
62
  validate_host_model_profile,
@@ -66,10 +68,12 @@ from agent_lifecycle.policy.proposals import (
66
68
  build_optimization_proposal,
67
69
  require_optimization_proposal_pass,
68
70
  )
71
+ from agent_lifecycle.quality.security_analysis import build_security_analysis_profile
69
72
  from agent_lifecycle.reporting import (
70
73
  build_change_summary_receipt,
71
74
  build_lifecycle_progress_view,
72
75
  build_lifecycle_progress_watch,
76
+ build_multi_run_attention_view,
73
77
  build_progress_bridge_receipt,
74
78
  build_status_view,
75
79
  build_workflow_event_feed,
@@ -127,7 +131,8 @@ def _dispatch_thread(args: argparse.Namespace) -> dict[str, Any]:
127
131
  "thread request and receipt lineage validation failed",
128
132
  {"validation": validation},
129
133
  )
130
- limits = request.get("limits") if isinstance(request.get("limits"), dict) else {}
134
+ raw_limits = request.get("limits")
135
+ limits: dict[str, Any] = raw_limits if isinstance(raw_limits, dict) else {}
131
136
  imported = prepare_thread_context_import(
132
137
  operation_id=request["operationId"],
133
138
  source_receipt_digest=receipt["receiptDigest"],
@@ -148,6 +153,31 @@ def _dispatch_thread(args: argparse.Namespace) -> dict[str, Any]:
148
153
 
149
154
 
150
155
  def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
156
+ if args.report_command == "security-analysis":
157
+ findings = []
158
+ imports = []
159
+ for item in args.finding:
160
+ imported = import_security_findings(
161
+ Path(item),
162
+ source_revision=args.source_revision,
163
+ expected_source_revision=args.expected_source_revision,
164
+ )
165
+ imports.append(imported)
166
+ findings.extend(imported.get("findings", []))
167
+ payload = {
168
+ "schemaVersion": "agent-security-analysis-report.v1",
169
+ "status": "PASS" if all(item.get("status") == "PASS" for item in imports) else "FAIL",
170
+ "profile": build_security_analysis_profile() if args.profile else None,
171
+ "imports": imports,
172
+ "findings": findings,
173
+ "trusted": False,
174
+ "authorityClaimed": False,
175
+ "productionPromotionClaimed": False,
176
+ }
177
+ payload["reportDigest"] = canonical_digest(payload)
178
+ if args.out:
179
+ write_json_create(Path(args.out), payload)
180
+ return payload
151
181
  if args.report_command == "status-view":
152
182
  payload = build_status_view(
153
183
  project_root=Path(args.project_root),
@@ -181,6 +211,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
181
211
  if args.out:
182
212
  write_json_create(Path(args.out), payload)
183
213
  return payload
214
+ if args.report_command in {"multi-run", "attention"}:
215
+ payload = build_multi_run_attention_view(
216
+ project_root=Path(args.project_root),
217
+ run_roots=[Path(item) for item in args.run_root],
218
+ max_runs=args.max_runs,
219
+ max_bytes_per_run=args.max_bytes_per_run,
220
+ stale_after_seconds=args.stale_after_seconds,
221
+ now=_parse_report_time(args.now),
222
+ )
223
+ if args.out:
224
+ write_json_create(Path(args.out), payload)
225
+ return payload
184
226
  if args.report_command == "progress":
185
227
  if args.watch:
186
228
  payload = build_lifecycle_progress_watch(
@@ -215,6 +257,18 @@ def _dispatch_report(args: argparse.Namespace) -> dict[str, Any] | str:
215
257
  raise LifecycleError("command-not-implemented", "report command is not implemented")
216
258
 
217
259
 
260
+ def _parse_report_time(value: str | None) -> datetime | None:
261
+ if value is None:
262
+ return None
263
+ try:
264
+ parsed = datetime.fromisoformat(value.replace("Z", "+00:00"))
265
+ except ValueError as exc:
266
+ raise LifecycleError("multi-run-invalid-time", "--now must be an ISO-8601 timestamp") from exc
267
+ if parsed.tzinfo is None:
268
+ return parsed.replace(tzinfo=UTC)
269
+ return parsed.astimezone(UTC)
270
+
271
+
218
272
  def _dispatch_context(args: argparse.Namespace) -> dict[str, Any]:
219
273
  if args.context_command == "profile-check":
220
274
  return load_context_profile(Path(args.profile))
@@ -328,7 +382,10 @@ def _dispatch_context_checkpoint(args: argparse.Namespace) -> dict[str, Any]:
328
382
  def _require_checkpoint_output_root(root: Path) -> None:
329
383
  resolved = root.resolve()
330
384
  if ".alk" not in resolved.parts or not resolved.name == "checkpoints":
331
- raise LifecycleError("context-checkpoint-output-root-invalid", "checkpoint output must remain in a .alk/context/checkpoints directory")
385
+ raise LifecycleError(
386
+ "context-checkpoint-output-root-invalid",
387
+ "checkpoint output must remain in a .alk/context/checkpoints directory",
388
+ )
332
389
 
333
390
 
334
391
  def _dispatch_goal(args: argparse.Namespace) -> dict[str, Any] | str:
@@ -383,12 +440,20 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
383
440
  return validate_model_routing_profile(profile)
384
441
  if args.model_command == "route":
385
442
  routing_profile = read_json_object(Path(args.profile), label="model routing profile")
386
- host_profile = read_json_object(Path(args.host_profile), label="host model profile") if args.host_profile else None
443
+ host_profile = (
444
+ read_json_object(Path(args.host_profile), label="host model profile")
445
+ if args.host_profile
446
+ else None
447
+ )
387
448
  request = read_json_object(Path(args.request), label="model route request")
388
449
  return resolve_model_route(request, routing_profile, host_profile=host_profile)
389
450
  if args.model_command == "usage-check":
390
451
  receipt = read_json_object(Path(args.receipt), label="model usage receipt")
391
- decision = read_json_object(Path(args.route_decision), label="model route decision") if args.route_decision else None
452
+ decision = (
453
+ read_json_object(Path(args.route_decision), label="model route decision")
454
+ if args.route_decision
455
+ else None
456
+ )
392
457
  targets = read_json_object(Path(args.budget_targets), label="budget targets") if args.budget_targets else None
393
458
  result = validate_usage_receipt(receipt, budget_targets=targets, route_decision=decision)
394
459
  if result["status"] == "FAIL":
@@ -401,7 +466,7 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
401
466
  raise LifecycleError("command-not-implemented", "model command is not implemented")
402
467
 
403
468
 
404
- def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
469
+ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
405
470
  if args.metrics_command == "cost-check":
406
471
  report = read_json_object(Path(args.receipt), label="lifecycle cost report")
407
472
  return require_lifecycle_cost_pass(validate_lifecycle_cost_report(report))
@@ -505,32 +570,15 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
505
570
  write_json_create(Path(args.out), payload)
506
571
  return payload
507
572
  if args.metrics_command == "audit-report":
508
- samples = _read_audit_samples(args.sample)
509
- candidates = _read_json_items(args.candidate_profile, label="candidate profile")
510
- references = _read_json_items(args.reference_task, label="reference task")
511
- holdouts = _read_json_items(args.holdout_task, label="holdout task")
512
- current = read_json_object(Path(args.current_profile), label="current optimization profile") if args.current_profile else None
513
- report = build_audit_optimization_report(
514
- samples,
515
- candidate_profiles=candidates,
516
- reference_tasks=references,
517
- holdout_tasks=holdouts,
518
- task_shape=args.task_shape,
519
- quality_floor=args.quality_floor,
520
- current_profile=current,
521
- )
522
- validation = validate_audit_optimization_report(report)
523
- if validation["status"] != "PASS":
524
- raise LifecycleError("audit-optimization-report-invalid", "audit optimization report validation failed", {"validation": validation})
525
- write_json_create(Path(args.out), report)
526
- if args.terminal:
527
- return render_audit_optimization_terminal(report)
528
- return report
573
+ return _dispatch_audit_report(args)
529
574
  if args.metrics_command == "audit-proposal":
530
575
  report = read_json_object(Path(args.report), label="audit optimization report")
531
- recommendation = report.get("recommendation") if isinstance(report.get("recommendation"), dict) else {}
576
+ raw_recommendation = report.get("recommendation")
577
+ proposal_recommendation: dict[str, Any] = (
578
+ raw_recommendation if isinstance(raw_recommendation, dict) else {}
579
+ )
532
580
  proposal = build_optimization_proposal(
533
- recommendation,
581
+ proposal_recommendation,
534
582
  approved=args.approved,
535
583
  target_kind=args.target_kind,
536
584
  target_revision=args.target_revision,
@@ -545,11 +593,44 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any]:
545
593
  raise LifecycleError("command-not-implemented", "metrics command is not implemented")
546
594
 
547
595
 
596
+ def _dispatch_audit_report(args: argparse.Namespace) -> dict[str, Any] | str:
597
+ samples = _read_audit_samples(args.sample)
598
+ candidates = _read_json_items(args.candidate_profile, label="candidate profile")
599
+ references = _read_json_items(args.reference_task, label="reference task")
600
+ holdouts = _read_json_items(args.holdout_task, label="holdout task")
601
+ current = (
602
+ read_json_object(Path(args.current_profile), label="current optimization profile")
603
+ if args.current_profile
604
+ else None
605
+ )
606
+ report = build_audit_optimization_report(
607
+ samples,
608
+ candidate_profiles=candidates,
609
+ reference_tasks=references,
610
+ holdout_tasks=holdouts,
611
+ task_shape=args.task_shape,
612
+ quality_floor=args.quality_floor,
613
+ current_profile=current,
614
+ )
615
+ validation = validate_audit_optimization_report(report)
616
+ if validation["status"] != "PASS":
617
+ raise LifecycleError(
618
+ "audit-optimization-report-invalid",
619
+ "audit optimization report validation failed",
620
+ {"validation": validation},
621
+ )
622
+ write_json_create(Path(args.out), report)
623
+ if args.terminal:
624
+ return render_audit_optimization_terminal(report)
625
+ return report
626
+
627
+
548
628
  def _read_audit_samples(paths: list[str]) -> list[dict[str, Any]]:
549
629
  samples: list[dict[str, Any]] = []
550
630
  for item in paths:
551
631
  payload = read_json_object(Path(item), label="audit sample")
552
- rows = payload.get("samples") if isinstance(payload.get("samples"), list) else [payload]
632
+ raw_samples = payload.get("samples")
633
+ rows = raw_samples if isinstance(raw_samples, list) else [payload]
553
634
  samples.extend(row for row in rows if isinstance(row, dict))
554
635
  return samples
555
636
 
@@ -558,7 +639,8 @@ def _read_json_items(paths: list[str], *, label: str) -> list[dict[str, Any]]:
558
639
  items: list[dict[str, Any]] = []
559
640
  for item in paths:
560
641
  payload = read_json_object(Path(item), label=label)
561
- rows = payload if isinstance(payload, list) else payload.get("items") if isinstance(payload.get("items"), list) else [payload]
642
+ raw_items = payload.get("items")
643
+ rows = raw_items if isinstance(raw_items, list) else [payload]
562
644
  items.extend(row for row in rows if isinstance(row, dict))
563
645
  return items
564
646
 
@@ -17,6 +17,14 @@ def _add_report_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
17
17
  event_feed = report_sub.add_parser("event-feed")
18
18
  event_feed.add_argument("--state", required=True)
19
19
  event_feed.add_argument("--out")
20
+ multi_run = report_sub.add_parser("multi-run", aliases=["attention"])
21
+ multi_run.add_argument("--project-root", default=".")
22
+ multi_run.add_argument("--run-root", "--run", dest="run_root", action="append", default=[])
23
+ multi_run.add_argument("--max-runs", type=int, default=32)
24
+ multi_run.add_argument("--max-bytes-per-run", type=int, default=1_048_576)
25
+ multi_run.add_argument("--stale-after-seconds", type=int, default=86_400)
26
+ multi_run.add_argument("--now")
27
+ multi_run.add_argument("--out")
20
28
  progress = report_sub.add_parser("progress")
21
29
  progress.add_argument("--state", required=True)
22
30
  progress.add_argument("--usage-receipt", action="append", default=[])
@@ -57,3 +65,9 @@ def _add_report_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
57
65
  change_summary.add_argument("--staged", action="store_true")
58
66
  change_summary.add_argument("--path", action="append", default=[])
59
67
  change_summary.add_argument("--out")
68
+ security = report_sub.add_parser("security-analysis")
69
+ security.add_argument("--finding", action="append", default=[])
70
+ security.add_argument("--source-revision")
71
+ security.add_argument("--expected-source-revision")
72
+ security.add_argument("--profile", action="store_true")
73
+ security.add_argument("--out")
@@ -235,6 +235,13 @@ def _add_import_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
235
235
  external_check.add_argument("--candidate", required=True)
236
236
  proposal_check = import_sub.add_parser("proposal-check")
237
237
  proposal_check.add_argument("--proposal", required=True)
238
+ security_import = import_sub.add_parser("security-findings", aliases=["security"])
239
+ security_import.add_argument("--source", required=True)
240
+ security_import.add_argument("--source-revision")
241
+ security_import.add_argument("--expected-source-revision")
242
+ security_import.add_argument("--source-lineage-digest")
243
+ security_import.add_argument("--max-input-bytes", type=int, default=4 * 1024 * 1024)
244
+ security_import.add_argument("--out")
238
245
 
239
246
 
240
247
  def _add_quality_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
@@ -271,6 +278,12 @@ def _add_quality_parser(subparsers: argparse._SubParsersAction[argparse.Argument
271
278
  external_check.add_argument("--operation-id", required=True)
272
279
  external_check.add_argument("--blocking-required", action="store_true")
273
280
  external_check.add_argument("--out")
281
+ security_profile = quality_sub.add_parser("security-profile", aliases=["security-analysis-profile"])
282
+ security_profile.add_argument("--out")
283
+ security_check = quality_sub.add_parser("security-finding-check", aliases=["security-analysis-check"])
284
+ security_check.add_argument("--candidate", required=True)
285
+ security_check.add_argument("--expected-source-revision")
286
+ security_check.add_argument("--out")
274
287
 
275
288
 
276
289
  def _add_review_mesh_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None: