agent-lifecycle-kit 2.13.0__tar.gz → 2.14.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 (437) hide show
  1. {agent_lifecycle_kit-2.13.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.14.0}/PKG-INFO +3 -3
  2. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/README.md +2 -2
  3. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/pyproject.toml +1 -1
  4. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/_version.py +1 -1
  5. agent_lifecycle_kit-2.14.0/src/agent_lifecycle/cli/dispatch_metrics.py +85 -0
  6. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_observability.py +13 -13
  7. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/metrics_parser.py +18 -0
  8. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/metric_schemas.py +3 -0
  9. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +2 -0
  10. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +83 -3
  11. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/__init__.py +14 -0
  12. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_efficiency.py +75 -8
  13. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/cost_collection.py +8 -0
  14. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/phase_resources.py +47 -2
  15. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/recommendations.py +101 -12
  16. agent_lifecycle_kit-2.14.0/src/agent_lifecycle/metrics/regression_signals.py +735 -0
  17. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/release_accounting.py +102 -11
  18. agent_lifecycle_kit-2.14.0/src/agent_lifecycle/metrics/workflow_economics.py +218 -0
  19. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/execution_resources.py +43 -3
  20. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
  21. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +1 -0
  22. agent_lifecycle_kit-2.13.0/src/agent_lifecycle/cli/dispatch_metrics.py +0 -34
  23. agent_lifecycle_kit-2.13.0/src/agent_lifecycle/metrics/regression_signals.py +0 -92
  24. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/LICENSE +0 -0
  25. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/NOTICE +0 -0
  26. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/README.md +0 -0
  27. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/manifest.json +0 -0
  28. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
  29. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
  30. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
  31. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
  32. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
  33. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
  34. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
  35. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
  36. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
  37. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
  38. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/setup.cfg +0 -0
  39. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/__init__.py +0 -0
  40. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/__main__.py +0 -0
  41. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
  42. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
  43. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
  44. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
  45. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
  46. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
  47. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
  48. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
  49. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
  50. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
  51. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
  52. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
  53. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
  54. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
  55. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
  56. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
  57. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
  58. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
  59. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
  60. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
  61. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
  62. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
  63. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
  64. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
  65. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
  66. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
  67. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
  68. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
  69. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/__init__.py +0 -0
  70. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
  71. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/delta.py +0 -0
  72. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
  73. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
  74. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/implementation.py +0 -0
  75. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/ownership.py +0 -0
  76. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/package.py +0 -0
  77. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
  78. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
  79. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
  80. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
  81. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
  82. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
  83. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
  84. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
  85. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
  86. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
  87. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
  88. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
  89. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
  90. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
  91. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/git.py +0 -0
  92. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
  93. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/__init__.py +0 -0
  94. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/adapter.py +0 -0
  95. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
  96. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
  97. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
  98. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
  99. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
  100. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
  101. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
  102. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
  103. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
  104. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/errors.py +0 -0
  105. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/followup.py +0 -0
  106. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
  107. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
  108. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/main.py +0 -0
  109. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
  110. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/parsers.py +0 -0
  111. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
  112. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
  113. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/policy.py +0 -0
  114. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
  115. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/project.py +0 -0
  116. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/research.py +0 -0
  117. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/start.py +0 -0
  118. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/strategy.py +0 -0
  119. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
  120. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/cli/worktree.py +0 -0
  121. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
  122. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
  123. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
  124. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
  125. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
  126. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/__init__.py +0 -0
  127. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
  128. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
  129. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
  130. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/external_memory.py +0 -0
  131. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/profiles.py +0 -0
  132. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/rendering.py +0 -0
  133. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
  134. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
  135. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
  136. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
  137. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
  138. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
  139. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
  140. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
  141. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
  142. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
  143. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
  144. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
  145. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
  146. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
  147. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
  148. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
  149. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
  150. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
  151. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
  152. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/errors.py +0 -0
  153. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
  154. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
  155. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
  156. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
  157. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
  158. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
  159. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
  160. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
  161. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
  162. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
  163. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
  164. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
  165. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
  166. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
  167. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
  168. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
  169. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
  170. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
  171. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
  172. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/paths.py +0 -0
  173. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
  174. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
  175. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
  176. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
  177. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
  178. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
  179. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
  180. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
  181. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
  182. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
  183. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
  184. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
  185. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
  186. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
  187. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
  188. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
  189. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
  190. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
  191. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
  192. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
  193. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
  194. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
  195. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
  196. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
  197. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
  198. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
  199. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
  200. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
  201. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
  202. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
  203. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
  204. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
  205. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
  206. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
  207. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
  208. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
  209. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
  210. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
  211. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
  212. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
  213. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
  214. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/validation.py +0 -0
  215. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
  216. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
  217. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
  218. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
  219. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
  220. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
  221. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
  222. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/__init__.py +0 -0
  223. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
  224. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
  225. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
  226. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
  227. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
  228. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
  229. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
  230. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
  231. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
  232. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
  233. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
  234. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
  235. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
  236. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
  237. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
  238. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
  239. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
  240. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
  241. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/followup/__init__.py +0 -0
  242. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/followup/records.py +0 -0
  243. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
  244. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/locks.py +0 -0
  245. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
  246. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/__init__.py +0 -0
  247. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/records.py +0 -0
  248. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/goal/view.py +0 -0
  249. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
  250. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
  251. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
  252. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
  253. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
  254. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
  255. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
  256. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
  257. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
  258. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
  259. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
  260. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
  261. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
  262. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
  263. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
  264. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
  265. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
  266. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
  267. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
  268. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
  269. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
  270. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
  271. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
  272. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
  273. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
  274. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
  275. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
  276. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
  277. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
  278. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
  279. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
  280. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/__init__.py +0 -0
  281. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
  282. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
  283. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
  284. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
  285. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
  286. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
  287. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
  288. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
  289. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
  290. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/planning.py +0 -0
  291. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
  292. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
  293. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
  294. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
  295. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
  296. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/costs.py +0 -0
  297. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
  298. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
  299. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/migration/__init__.py +0 -0
  300. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
  301. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
  302. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
  303. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
  304. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
  305. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
  306. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
  307. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
  308. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
  309. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
  310. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
  311. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
  312. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
  313. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
  314. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
  315. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
  316. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
  317. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
  318. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
  319. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
  320. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/__init__.py +0 -0
  321. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
  322. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/completeness.py +0 -0
  323. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/continuity.py +0 -0
  324. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/deltas.py +0 -0
  325. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
  326. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
  327. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/templates.py +0 -0
  328. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/tiering.py +0 -0
  329. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/traceability.py +0 -0
  330. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/validation.py +0 -0
  331. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/planning/verification.py +0 -0
  332. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/__init__.py +0 -0
  333. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
  334. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/apply.py +0 -0
  335. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
  336. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/proposals.py +0 -0
  337. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
  338. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
  339. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
  340. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
  341. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/__init__.py +0 -0
  342. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/domain_language.py +0 -0
  343. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/guidance.py +0 -0
  344. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/merge.py +0 -0
  345. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/presets.py +0 -0
  346. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/principles.py +0 -0
  347. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/project/profile.py +0 -0
  348. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/py.typed +0 -0
  349. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/__init__.py +0 -0
  350. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
  351. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
  352. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
  353. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
  354. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
  355. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
  356. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
  357. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/packs.py +0 -0
  358. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
  359. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
  360. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
  361. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/attention.py +0 -0
  362. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
  363. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
  364. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
  365. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
  366. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
  367. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
  368. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
  369. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
  370. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
  371. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/__init__.py +0 -0
  372. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/evidence.py +0 -0
  373. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/provenance.py +0 -0
  374. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/research/validation.py +0 -0
  375. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/resources.py +0 -0
  376. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review/__init__.py +0 -0
  377. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review/validation.py +0 -0
  378. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
  379. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
  380. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
  381. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
  382. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
  383. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
  384. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
  385. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
  386. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
  387. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/__init__.py +0 -0
  388. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/core.py +0 -0
  389. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
  390. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/__init__.py +0 -0
  391. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
  392. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
  393. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
  394. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/specification/validation.py +0 -0
  395. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
  396. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
  397. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
  398. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
  399. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
  400. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
  401. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
  402. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
  403. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
  404. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
  405. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/controller.py +0 -0
  406. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/events.py +0 -0
  407. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
  408. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
  409. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/gates.py +0 -0
  410. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
  411. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
  412. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/leases.py +0 -0
  413. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
  414. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
  415. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
  416. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
  417. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
  418. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
  419. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/query.py +0 -0
  420. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
  421. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
  422. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
  423. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/run.py +0 -0
  424. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
  425. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
  426. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
  427. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
  428. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/state.py +0 -0
  429. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
  430. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
  431. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
  432. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
  433. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
  434. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
  435. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
  436. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
  437. {agent_lifecycle_kit-2.13.0 → agent_lifecycle_kit-2.14.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.13.0
3
+ Version: 2.14.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.13.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.14.0`, and common `agent-lifecycle version` errors.
47
47
 
48
48
  For a quick start, run:
49
49
 
@@ -69,7 +69,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
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
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), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.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
- - 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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), compare only compatible evidence through [workflow economics](docs/reference/workflow-economics.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
73
73
  ## What it gives you
74
74
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
75
75
  - One process for different CLIs: adapter-specific commands stay outside the
@@ -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.13.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.14.0`, and common `agent-lifecycle version` errors.
25
25
 
26
26
  For a quick start, run:
27
27
 
@@ -47,7 +47,7 @@ agent-lifecycle start --adapter <adapter-id> --file task.md
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
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), run longer specialized adapter work through [bounded external tool jobs](docs/reference/external-tool-jobs.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
- - 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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
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. Measure phases and releases with [release accounting](docs/reference/release-accounting.md), compare only compatible evidence through [workflow economics](docs/reference/workflow-economics.md), follow the bounded [phase-to-session handoff](docs/guides/phase-session-handoff.md) with [phase packets](docs/reference/phase-packets.md), and choose focused checks through the read-only [validation ladder](docs/reference/validation-ladder.md).
51
51
  ## What it gives you
52
52
  - A finish-oriented lifecycle: plan, execute, review, and prove the result.
53
53
  - One process for different CLIs: adapter-specific commands stay outside the
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "agent-lifecycle-kit"
7
- version = "2.13.0"
7
+ version = "2.14.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.13.0"
3
+ __version__ = "2.14.0"
@@ -0,0 +1,85 @@
1
+ """Metrics-specific dispatch helpers for the observability facade."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ from pathlib import Path
7
+ from typing import Any
8
+
9
+ from agent_lifecycle.contracts import LifecycleError, canonical_digest, read_json_object, write_json_create
10
+ from agent_lifecycle.metrics import require_lifecycle_recommendation_pass
11
+ from agent_lifecycle.metrics.recommendations import recommend_from_workflow_comparison
12
+ from agent_lifecycle.metrics.regression_signals import (
13
+ compare_workflow_economics,
14
+ validate_workflow_economics_comparison_view,
15
+ workflow_comparison_context_from_fixture,
16
+ )
17
+ from agent_lifecycle.reporting.execution_resources import (
18
+ build_execution_resource_report,
19
+ validate_execution_resource_report,
20
+ )
21
+
22
+
23
+ def _dispatch_execution_report(args: argparse.Namespace) -> dict[str, Any]:
24
+ receipts: list[dict[str, Any]] = []
25
+ for item in args.receipt:
26
+ payload = read_json_object(Path(item), label="process execution receipt")
27
+ raw_receipt = payload.get("processReceipt")
28
+ candidate = raw_receipt if isinstance(raw_receipt, dict) else payload
29
+ receipts.append(candidate)
30
+ lineage = {"operationId": args.operation_id} if args.operation_id else None
31
+ report = build_execution_resource_report(receipts, lineage=lineage)
32
+ validation = validate_execution_resource_report(report)
33
+ write_json_create(Path(args.out), report)
34
+ return {
35
+ "schemaVersion": "agent-execution-resource-report-generation.v1",
36
+ "status": validation["status"],
37
+ "reportPath": args.out,
38
+ "reportDigest": canonical_digest(report),
39
+ "validation": validation,
40
+ "liveCallsStarted": False,
41
+ "productionPromotionClaimed": False,
42
+ }
43
+
44
+
45
+ def _dispatch_workflow_compare(args: argparse.Namespace) -> dict[str, Any]:
46
+ before = workflow_comparison_context_from_fixture(
47
+ read_json_object(Path(args.before), label="workflow comparison before fixture")
48
+ )
49
+ after = workflow_comparison_context_from_fixture(
50
+ read_json_object(Path(args.after), label="workflow comparison after fixture")
51
+ )
52
+ comparison_pair = (
53
+ read_json_object(Path(args.comparison_pair), label="workflow comparison pair") if args.comparison_pair else None
54
+ )
55
+ comparison = compare_workflow_economics(before, after, comparison_pair=comparison_pair)
56
+ validation = validate_workflow_economics_comparison_view(comparison)
57
+ if validation["status"] != "PASS":
58
+ raise LifecycleError(
59
+ "workflow-comparison-invalid",
60
+ "workflow economics comparison failed validation",
61
+ {"validation": validation},
62
+ )
63
+ write_json_create(Path(args.out), comparison)
64
+ return comparison
65
+
66
+
67
+ def _dispatch_workflow_recommend(args: argparse.Namespace) -> dict[str, Any]:
68
+ comparison = read_json_object(Path(args.comparison), label="workflow economics comparison")
69
+ validation = validate_workflow_economics_comparison_view(comparison)
70
+ if validation["status"] != "PASS":
71
+ raise LifecycleError(
72
+ "workflow-comparison-invalid",
73
+ "workflow economics comparison failed validation",
74
+ {"validation": validation},
75
+ )
76
+ recommendation = recommend_from_workflow_comparison(
77
+ comparison=comparison,
78
+ task_shape=args.task_shape,
79
+ current_mode=args.current_mode,
80
+ required_mode=args.required_mode,
81
+ protected_work=args.protected_work,
82
+ )
83
+ require_lifecycle_recommendation_pass(recommendation)
84
+ write_json_create(Path(args.out), recommendation)
85
+ return recommendation
@@ -7,7 +7,11 @@ from datetime import UTC, datetime
7
7
  from pathlib import Path
8
8
  from typing import Any
9
9
 
10
- from agent_lifecycle.cli.dispatch_metrics import _dispatch_execution_report
10
+ from agent_lifecycle.cli.dispatch_metrics import (
11
+ _dispatch_execution_report,
12
+ _dispatch_workflow_compare,
13
+ _dispatch_workflow_recommend,
14
+ )
11
15
  from agent_lifecycle.context import check_context, load_context_profile, render_context
12
16
  from agent_lifecycle.context.checkpoint_store import (
13
17
  restore_context_checkpoint,
@@ -452,18 +456,14 @@ def _dispatch_model(args: argparse.Namespace) -> dict[str, Any]:
452
456
  if args.model_command == "route":
453
457
  routing_profile = read_json_object(Path(args.profile), label="model routing profile")
454
458
  host_profile = (
455
- read_json_object(Path(args.host_profile), label="host model profile")
456
- if args.host_profile
457
- else None
459
+ read_json_object(Path(args.host_profile), label="host model profile") if args.host_profile else None
458
460
  )
459
461
  request = read_json_object(Path(args.request), label="model route request")
460
462
  return resolve_model_route(request, routing_profile, host_profile=host_profile)
461
463
  if args.model_command == "usage-check":
462
464
  receipt = read_json_object(Path(args.receipt), label="model usage receipt")
463
465
  decision = (
464
- read_json_object(Path(args.route_decision), label="model route decision")
465
- if args.route_decision
466
- else None
466
+ read_json_object(Path(args.route_decision), label="model route decision") if args.route_decision else None
467
467
  )
468
468
  targets = read_json_object(Path(args.budget_targets), label="budget targets") if args.budget_targets else None
469
469
  result = validate_usage_receipt(receipt, budget_targets=targets, route_decision=decision)
@@ -512,6 +512,10 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
512
512
  return _dispatch_phase_resources(args)
513
513
  if args.metrics_command == "release-accounting":
514
514
  return _dispatch_release_accounting(args)
515
+ if args.metrics_command == "workflow-compare":
516
+ return _dispatch_workflow_compare(args)
517
+ if args.metrics_command == "workflow-recommend":
518
+ return _dispatch_workflow_recommend(args)
515
519
  if args.metrics_command == "usage-export":
516
520
  export = build_usage_export(
517
521
  artifact_paths=[Path(item) for item in args.artifact],
@@ -591,9 +595,7 @@ def _dispatch_metrics(args: argparse.Namespace) -> dict[str, Any] | str:
591
595
  if args.metrics_command == "audit-proposal":
592
596
  report = read_json_object(Path(args.report), label="audit optimization report")
593
597
  raw_recommendation = report.get("recommendation")
594
- proposal_recommendation: dict[str, Any] = (
595
- raw_recommendation if isinstance(raw_recommendation, dict) else {}
596
- )
598
+ proposal_recommendation: dict[str, Any] = raw_recommendation if isinstance(raw_recommendation, dict) else {}
597
599
  proposal = build_optimization_proposal(
598
600
  proposal_recommendation,
599
601
  approved=args.approved,
@@ -648,9 +650,7 @@ def _dispatch_phase_resources(args: argparse.Namespace) -> dict[str, Any]:
648
650
 
649
651
  def _dispatch_release_accounting(args: argparse.Namespace) -> dict[str, Any]:
650
652
  declared_provenance = (
651
- read_json_object(Path(args.provenance), label="release accounting provenance")
652
- if args.provenance
653
- else None
653
+ read_json_object(Path(args.provenance), label="release accounting provenance") if args.provenance else None
654
654
  )
655
655
  accounting = build_release_accounting(
656
656
  args.release_id,
@@ -31,6 +31,24 @@ def add_metrics_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentP
31
31
  release_accounting.add_argument("--project-root", default=".")
32
32
  release_accounting.add_argument("--provenance")
33
33
  release_accounting.add_argument("--out", required=True)
34
+ workflow_compare = metrics_sub.add_parser(
35
+ "workflow-compare",
36
+ help="compare two explicitly bound workflow economics fixtures",
37
+ )
38
+ workflow_compare.add_argument("--before", required=True)
39
+ workflow_compare.add_argument("--after", required=True)
40
+ workflow_compare.add_argument("--comparison-pair")
41
+ workflow_compare.add_argument("--out", required=True)
42
+ workflow_recommend = metrics_sub.add_parser(
43
+ "workflow-recommend",
44
+ help="build an advisory recommendation from a workflow comparison",
45
+ )
46
+ workflow_recommend.add_argument("--comparison", required=True)
47
+ workflow_recommend.add_argument("--task-shape", default="feature")
48
+ workflow_recommend.add_argument("--current-mode", choices=MODES, required=True)
49
+ workflow_recommend.add_argument("--required-mode", choices=MODES, required=True)
50
+ workflow_recommend.add_argument("--protected-work", action="store_true")
51
+ workflow_recommend.add_argument("--out", required=True)
34
52
  usage_export = metrics_sub.add_parser("usage-export")
35
53
  usage_export.add_argument("--artifact", action="append", default=[])
36
54
  usage_export.add_argument("--project-root", default=".")
@@ -17,6 +17,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
17
17
  "sourceArtifacts": {"type": "array", "items": {"type": "object"}},
18
18
  "lineage": {"type": "object"},
19
19
  "usageConfidence": {"type": "object"},
20
+ "workflowEconomics": {"type": "array", "items": {"type": "object"}},
20
21
  "compactSummary": {"type": "object"},
21
22
  "limits": {"type": "object"},
22
23
  "overLimitReason": {"type": "string"},
@@ -79,6 +80,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
79
80
  "categoryTotals": {"type": "object"},
80
81
  "ratios": {"type": "object"},
81
82
  "usageConfidence": {"type": "object"},
83
+ "workflowEconomics": {"type": "array", "items": {"type": "object"}},
82
84
  "usefulWorkTokens": {"type": "integer", "minimum": 0},
83
85
  "processOverheadTokens": {"type": "integer", "minimum": 0},
84
86
  },
@@ -294,6 +296,7 @@ METRIC_SCHEMAS: dict[str, dict[str, Any]] = {
294
296
  "phases": {"type": "array", "minItems": 1, "maxItems": 256, "items": {"type": "object"}},
295
297
  "usageExport": {"type": "object"},
296
298
  "totals": {"type": "object"},
299
+ "workflowEconomics": {"type": "object"},
297
300
  "blockers": {"type": "array", "items": {"type": "object"}},
298
301
  "productionPromotionClaimed": {"const": False},
299
302
  "measurementDigest": {"type": "string", "minLength": 64, "maxLength": 64},
@@ -28,6 +28,7 @@ RELEASE_ACCOUNTING_SCHEMAS: dict[str, dict[str, Any]] = {
28
28
  "releaseId": {"type": "string", "minLength": 1, "maxLength": 256},
29
29
  "entryCount": {"type": "integer", "minimum": 1, "maximum": 1024},
30
30
  "entries": {"type": "array", "minItems": 1, "maxItems": 1024, "items": {"type": "object"}},
31
+ "workflowEconomics": {"type": "object"},
31
32
  "provenance": {"type": "object"},
32
33
  "blockers": _BLOCKERS,
33
34
  "productionPromotionClaimed": {"const": False},
@@ -64,6 +65,7 @@ RELEASE_ACCOUNTING_SCHEMAS: dict[str, dict[str, Any]] = {
64
65
  "views": {"type": "object"},
65
66
  "categoryTotals": {"type": "object"},
66
67
  "totals": {"type": "object"},
68
+ "workflowEconomics": {"type": "object"},
67
69
  "exclusions": {"type": "array", "items": {"type": "object"}},
68
70
  "provenance": {"type": "object"},
69
71
  "blockers": _BLOCKERS,
@@ -9,8 +9,90 @@ from agent_lifecycle.contracts.schema_builders import open_object_schema
9
9
 
10
10
  _DIGEST = {"type": "string", "minLength": 64, "maxLength": 64}
11
11
  _IMPLEMENTATION_REQUIRED = ["role", "sourceRevision", "coreVersion", "publicationVersions"]
12
+ _SOURCE_STATUS = ["MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "UNAVAILABLE"]
13
+ _AGGREGATE_STATUS = [*_SOURCE_STATUS, "MIXED", "PARTIAL"]
14
+ _NON_WINDOW_AGGREGATE_STATUS = [status for status in _AGGREGATE_STATUS if status != "TIME_WINDOW_ONLY"]
15
+ _WORKFLOW_METRIC_KEYS = (
16
+ "modelInputTokens",
17
+ "modelCachedInputTokens",
18
+ "modelOutputTokens",
19
+ "modelTurns",
20
+ "toolCalls",
21
+ "toolWallMs",
22
+ "toolOutputBytes",
23
+ "packetBytes",
24
+ "controllerTransitions",
25
+ "requiredGateCount",
26
+ "passedGateCount",
27
+ "failedGateCount",
28
+ "elapsedWallMs",
29
+ "parallelComputeMs",
30
+ )
31
+ _METRIC_VALUE = {"type": ["integer", "null"], "minimum": 0, "maximum": (1 << 63) - 1}
32
+ _SOURCE_METRIC = {
33
+ "type": "object",
34
+ "required": ["status", "value"],
35
+ "properties": {"status": {"enum": _SOURCE_STATUS}, "value": _METRIC_VALUE},
36
+ "additionalProperties": False,
37
+ }
38
+ _AGGREGATE_METRIC = {
39
+ "type": "object",
40
+ "required": ["status", "value"],
41
+ "properties": {"status": {"enum": _AGGREGATE_STATUS}, "value": _METRIC_VALUE},
42
+ "additionalProperties": False,
43
+ }
44
+
45
+
46
+ def _aggregate_metric_schema(name: str) -> dict[str, Any]:
47
+ statuses = _AGGREGATE_STATUS if name in {"elapsedWallMs", "toolWallMs"} else _NON_WINDOW_AGGREGATE_STATUS
48
+ return {
49
+ "type": "object",
50
+ "required": ["status", "value"],
51
+ "properties": {"status": {"enum": statuses}, "value": _METRIC_VALUE},
52
+ "additionalProperties": False,
53
+ }
54
+
12
55
 
13
56
  WORKFLOW_ECONOMICS_SCHEMAS: dict[str, dict[str, Any]] = {
57
+ "agent-workflow-resource-summary.v1": open_object_schema(
58
+ "agent-workflow-resource-summary.v1",
59
+ required=[
60
+ "schemaVersion",
61
+ "status",
62
+ "sourceAvailabilityStatuses",
63
+ "derivedAggregateStatuses",
64
+ "sourceCount",
65
+ "enclosingElapsedWall",
66
+ "metrics",
67
+ "productionPromotionClaimed",
68
+ "summaryDigest",
69
+ ],
70
+ properties={
71
+ "status": {"const": "PASS"},
72
+ "sourceAvailabilityStatuses": {"const": _SOURCE_STATUS},
73
+ "derivedAggregateStatuses": {"const": ["MIXED", "PARTIAL"]},
74
+ "sourceCount": {"type": "integer", "minimum": 0, "maximum": 1024},
75
+ "enclosingElapsedWall": _SOURCE_METRIC,
76
+ "metrics": {
77
+ "type": "object",
78
+ "required": list(_WORKFLOW_METRIC_KEYS),
79
+ "properties": {name: _aggregate_metric_schema(name) for name in _WORKFLOW_METRIC_KEYS},
80
+ "additionalProperties": False,
81
+ },
82
+ "productionPromotionClaimed": {"const": False},
83
+ "summaryDigest": _DIGEST,
84
+ },
85
+ ),
86
+ "agent-workflow-resource-summary-validation.v1": open_object_schema(
87
+ "agent-workflow-resource-summary-validation.v1",
88
+ required=["schemaVersion", "status", "blockers", "summaryDigest", "validationDigest"],
89
+ properties={
90
+ "status": {"enum": ["PASS", "FAIL"]},
91
+ "blockers": {"type": "array", "items": {"type": "object"}},
92
+ "summaryDigest": {"type": ["string", "null"], "minLength": 64, "maxLength": 64},
93
+ "validationDigest": _DIGEST,
94
+ },
95
+ ),
14
96
  "agent-comparable-workload-identity.v1": open_object_schema(
15
97
  "agent-comparable-workload-identity.v1",
16
98
  required=[
@@ -154,9 +236,7 @@ def validate_workflow_economics_comparison(
154
236
  workload_identity = {}
155
237
  blockers.append({"code": "comparison-workload-identity-invalid"})
156
238
  else:
157
- identity_body = {
158
- key: value for key, value in workload_identity.items() if key != "workloadIdentityDigest"
159
- }
239
+ identity_body = {key: value for key, value in workload_identity.items() if key != "workloadIdentityDigest"}
160
240
  if workload_identity.get("workloadIdentityDigest") != canonical_digest(identity_body):
161
241
  blockers.append({"code": "comparison-workload-identity-digest-invalid"})
162
242
 
@@ -47,15 +47,26 @@ from agent_lifecycle.metrics.usage_export import (
47
47
  usage_export_totals,
48
48
  validate_usage_export,
49
49
  )
50
+ from agent_lifecycle.metrics.workflow_economics import (
51
+ DERIVED_AGGREGATE_STATUSES,
52
+ SOURCE_AVAILABILITY_STATUSES,
53
+ WORKFLOW_METRIC_KEYS,
54
+ build_workflow_metric_set,
55
+ build_workflow_resource_summary,
56
+ validate_workflow_resource_summary,
57
+ )
50
58
 
51
59
  __all__ = [
52
60
  "ACCOUNTING_VIEWS",
53
61
  "COST_CATEGORIES",
54
62
  "DEFAULT_MODE_LIMITS",
63
+ "DERIVED_AGGREGATE_STATUSES",
55
64
  "MAX_PHASE_RESOURCE_ENTRIES",
56
65
  "MAX_RELEASE_ACCOUNTING_ARTIFACTS",
57
66
  "MAX_RELEASE_ACCOUNTING_ENTRIES",
58
67
  "PROVENANCE_FIELDS",
68
+ "SOURCE_AVAILABILITY_STATUSES",
69
+ "WORKFLOW_METRIC_KEYS",
59
70
  "build_lifecycle_cost_summary",
60
71
  "build_lifecycle_recommendation_summary",
61
72
  "build_phase_resource_measurement",
@@ -65,6 +76,8 @@ __all__ = [
65
76
  "build_release_accounting_source",
66
77
  "build_task_outcome_index",
67
78
  "build_usage_export",
79
+ "build_workflow_metric_set",
80
+ "build_workflow_resource_summary",
68
81
  "generate_lifecycle_cost_report",
69
82
  "recommend_from_quality_cost_signals",
70
83
  "recommend_lifecycle_mode",
@@ -82,6 +95,7 @@ __all__ = [
82
95
  "validate_release_accounting",
83
96
  "validate_release_accounting_source",
84
97
  "validate_usage_export",
98
+ "validate_workflow_resource_summary",
85
99
  ]
86
100
 
87
101
  _LAZY_AUDIT_OPTIMIZATION_EXPORTS = {
@@ -9,8 +9,12 @@ from agent_lifecycle.contracts.audit_optimization_schemas import (
9
9
  AUDIT_EFFICIENCY_INPUT_SCHEMA,
10
10
  AUDIT_EFFICIENCY_REPORT_SCHEMA,
11
11
  )
12
+ from agent_lifecycle.metrics.regression_signals import (
13
+ compare_workflow_economics,
14
+ validate_workflow_economics_comparison_view,
15
+ )
12
16
 
13
- METRIC_STATUSES = ("MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "MIXED", "UNAVAILABLE")
17
+ METRIC_STATUSES = ("MEASURED", "ESTIMATED", "TIME_WINDOW_ONLY", "UNAVAILABLE")
14
18
  _VIEW_NAMES = ("alkProcess", "implementation", "audit", "postAuditRemediation")
15
19
  _VIEW_METRICS = ("tokens", "elapsedWallMs", "computeMs")
16
20
  _OUTCOME_METRICS = (
@@ -31,6 +35,8 @@ def build_audit_efficiency_input(
31
35
  views: dict[str, Any],
32
36
  outcomes: dict[str, Any],
33
37
  totals: dict[str, Any],
38
+ comparison_context: dict[str, Any] | None = None,
39
+ comparison_pair: dict[str, Any] | None = None,
34
40
  ) -> dict[str, Any]:
35
41
  """Build a portable accounting input without inventing unavailable values."""
36
42
 
@@ -45,6 +51,10 @@ def build_audit_efficiency_input(
45
51
  "totals": totals,
46
52
  "productionPromotionClaimed": False,
47
53
  }
54
+ if comparison_context is not None:
55
+ body["comparisonContext"] = comparison_context
56
+ if comparison_pair is not None:
57
+ body["comparisonPair"] = comparison_pair
48
58
  result = {**body, "inputDigest": canonical_digest(body)}
49
59
  validation = validate_audit_efficiency_input(result)
50
60
  if validation["status"] != "PASS":
@@ -107,6 +117,7 @@ def validate_audit_efficiency_input(value: Any) -> dict[str, Any]:
107
117
  blockers,
108
118
  code="audit-efficiency-total-metric-invalid",
109
119
  location="totals.elapsedWallMs",
120
+ allow_derived=True,
110
121
  )
111
122
  if value.get("productionPromotionClaimed") is not False:
112
123
  blockers.append({"code": "audit-efficiency-production-claim"})
@@ -181,6 +192,15 @@ def validate_audit_efficiency_report(report: Any) -> dict[str, Any]:
181
192
  metric = comparison.get(field)
182
193
  if metric != _unavailable("comparison-sample-required"):
183
194
  blockers.append({"code": "audit-efficiency-single-sample-reduction", "field": field})
195
+ workflow_comparison = comparison.get("workflowComparison")
196
+ if workflow_comparison is not None:
197
+ workflow_validation = validate_workflow_economics_comparison_view(workflow_comparison)
198
+ if workflow_validation["status"] != "PASS":
199
+ blockers.append({"code": "audit-efficiency-workflow-comparison-invalid"})
200
+ if workflow_comparison.get("status") != "IMPROVED":
201
+ for field in ("tokenReductionPercent", "wallReductionPercent"):
202
+ if _available(comparison.get(field)):
203
+ blockers.append({"code": "audit-efficiency-unproven-reduction", "field": field})
184
204
  expected = canonical_digest({key: item for key, item in report.items() if key != "reportDigest"})
185
205
  if report.get("reportDigest") != expected:
186
206
  blockers.append({"code": "audit-efficiency-report-digest-mismatch"})
@@ -265,16 +285,61 @@ def _comparison(
265
285
  "wallReductionPercent": _unavailable("comparison-telemetry-unavailable"),
266
286
  "qualityFloorPreserved": True,
267
287
  }
288
+ before_context = baseline.get("comparisonContext")
289
+ after_context = measurement.get("comparisonContext")
290
+ if not isinstance(before_context, dict) or not isinstance(after_context, dict):
291
+ blockers.append({"code": "audit-efficiency-comparison-context-unavailable"})
292
+ return {
293
+ "sampleCount": sample_count,
294
+ "workflowStatus": "NO_COMPARABLE_BASELINE",
295
+ "tokenReductionPercent": _unavailable("comparison-context-unavailable"),
296
+ "wallReductionPercent": _unavailable("comparison-context-unavailable"),
297
+ "qualityFloorPreserved": True,
298
+ }
299
+ before_pair = baseline.get("comparisonPair")
300
+ after_pair = measurement.get("comparisonPair")
301
+ pair = before_pair if before_pair == after_pair and isinstance(before_pair, dict) else None
302
+ if (before_pair is None) != (after_pair is None) or (
303
+ before_pair is not None and after_pair is not None and before_pair != after_pair
304
+ ):
305
+ blockers.append({"code": "audit-efficiency-comparison-pair-mismatch"})
306
+ workflow_comparison = compare_workflow_economics(before_context, after_context, comparison_pair=pair)
307
+ workflow_validation = validate_workflow_economics_comparison_view(workflow_comparison)
308
+ if workflow_validation["status"] != "PASS":
309
+ blockers.append({"code": "audit-efficiency-workflow-comparison-invalid", "validation": workflow_validation})
310
+ if workflow_comparison["status"] == "NO_COMPARABLE_BASELINE":
311
+ blockers.append(
312
+ {
313
+ "code": "audit-efficiency-workflow-baseline-not-comparable",
314
+ "comparisonBlockers": workflow_comparison["blockers"],
315
+ }
316
+ )
317
+ if workflow_comparison["assurance"]["status"] == "WEAKER":
318
+ blockers.append(
319
+ {
320
+ "code": "audit-efficiency-assurance-weakened",
321
+ "reasons": workflow_comparison["assurance"]["reasons"],
322
+ }
323
+ )
324
+ reductions_allowed = workflow_comparison["status"] == "IMPROVED" and not blockers
268
325
  return {
269
326
  "sampleCount": sample_count,
270
- "tokenReductionPercent": _reduction(
271
- baseline["views"]["audit"]["tokens"], measurement["views"]["audit"]["tokens"]
327
+ "workflowStatus": workflow_comparison["status"],
328
+ "workflowComparison": workflow_comparison,
329
+ "tokenReductionPercent": (
330
+ _reduction(baseline["views"]["audit"]["tokens"], measurement["views"]["audit"]["tokens"])
331
+ if reductions_allowed
332
+ else _unavailable("workflow-improvement-not-proven")
272
333
  ),
273
- "wallReductionPercent": _reduction(
274
- baseline["views"]["audit"]["elapsedWallMs"],
275
- measurement["views"]["audit"]["elapsedWallMs"],
334
+ "wallReductionPercent": (
335
+ _reduction(
336
+ baseline["views"]["audit"]["elapsedWallMs"],
337
+ measurement["views"]["audit"]["elapsedWallMs"],
338
+ )
339
+ if reductions_allowed
340
+ else _unavailable("workflow-improvement-not-proven")
276
341
  ),
277
- "qualityFloorPreserved": True,
342
+ "qualityFloorPreserved": workflow_comparison["assurance"]["status"] != "WEAKER",
278
343
  }
279
344
 
280
345
 
@@ -322,8 +387,10 @@ def _validate_metric(
322
387
  code: str,
323
388
  location: str,
324
389
  integer: bool = False,
390
+ allow_derived: bool = False,
325
391
  ) -> None:
326
- if not isinstance(metric, dict) or metric.get("status") not in METRIC_STATUSES:
392
+ allowed_statuses = {*METRIC_STATUSES, "MIXED", "PARTIAL"} if allow_derived else set(METRIC_STATUSES)
393
+ if not isinstance(metric, dict) or metric.get("status") not in allowed_statuses:
327
394
  blockers.append({"code": code, "location": location})
328
395
  return
329
396
  value = metric.get("value")
@@ -48,6 +48,9 @@ def generate_lifecycle_cost_report(
48
48
  "lineage": _lineage(source_artifacts, payloads),
49
49
  "entries": entries,
50
50
  "usageConfidence": summarize_usage_confidence(entries),
51
+ "workflowEconomics": [
52
+ entry["workflowEconomics"] for entry in entries if isinstance(entry.get("workflowEconomics"), dict)
53
+ ],
51
54
  "productionPromotionClaimed": False,
52
55
  }
53
56
  report["compactSummary"] = build_lifecycle_cost_summary(report)
@@ -91,6 +94,7 @@ def build_lifecycle_cost_summary(report: dict[str, Any]) -> dict[str, Any]:
91
94
  "categoryTotals": totals,
92
95
  "ratios": ratios,
93
96
  "usageConfidence": usage_confidence,
97
+ "workflowEconomics": report.get("workflowEconomics", []),
94
98
  "usefulWorkTokens": totals["implementation"]["tokens"] + totals["productValidation"]["tokens"],
95
99
  "processOverheadTokens": totals["pipelineCompliance"]["tokens"] + totals["coordination"]["tokens"],
96
100
  }
@@ -140,6 +144,10 @@ def _entry_from_artifact(index: int, source: dict[str, Any], payload: dict[str,
140
144
  value = payload.get(field)
141
145
  if isinstance(value, (str, int)):
142
146
  entry[field] = value
147
+ if payload.get("schemaVersion") == PHASE_RESOURCE_MEASUREMENT_SCHEMA and isinstance(
148
+ payload.get("workflowEconomics"), dict
149
+ ):
150
+ entry["workflowEconomics"] = payload["workflowEconomics"]
143
151
  return entry
144
152
 
145
153