agentic-devtools 0.2.266__tar.gz → 0.2.268__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 (4940) hide show
  1. agentic_devtools-0.2.268/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +4375 -0
  2. agentic_devtools-0.2.268/.github/scripts/speckit-trigger/lib/spec-validation.sh +871 -0
  3. agentic_devtools-0.2.268/.github/scripts/speckit-trigger/templates/specify-skeleton-epic.md +33 -0
  4. agentic_devtools-0.2.268/.github/workflows/audit-review-feedback-apply.yml +164 -0
  5. agentic_devtools-0.2.268/.github/workflows/speckit-issue-trigger.yml +207 -0
  6. agentic_devtools-0.2.268/.github/workflows/speckit-phase-progression.yml +1132 -0
  7. agentic_devtools-0.2.268/.gitignore +185 -0
  8. agentic_devtools-0.2.268/PKG-INFO +971 -0
  9. agentic_devtools-0.2.268/agentic_devtools/_version.py +24 -0
  10. agentic_devtools-0.2.268/agentic_devtools/cli/audit/apply.py +663 -0
  11. agentic_devtools-0.2.268/agentic_devtools/cli/audit/dispatch.py +159 -0
  12. agentic_devtools-0.2.268/agentic_devtools/cli/git/remote_push.py +144 -0
  13. agentic_devtools-0.2.268/agentic_devtools/config.py +308 -0
  14. agentic_devtools-0.2.268/docs/ci-secrets.md +101 -0
  15. agentic_devtools-0.2.268/specs/1774-subtask-implement-normalize-githubissuesadapter/checklists/requirements.md +44 -0
  16. agentic_devtools-0.2.268/specs/1774-subtask-implement-normalize-githubissuesadapter/spec.md +247 -0
  17. agentic_devtools-0.2.268/specs/1775-subtask-implement-normalize-jiraadapter/checklists/requirements.md +51 -0
  18. agentic_devtools-0.2.268/specs/1775-subtask-implement-normalize-jiraadapter/spec.md +242 -0
  19. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/analysis-report.md +79 -0
  20. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/checklists/requirements.md +47 -0
  21. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/plan.md +112 -0
  22. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/spec.md +248 -0
  23. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/tasks.md +101 -0
  24. agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter/test-coverage.json +178 -0
  25. agentic_devtools-0.2.268/specs/1778-subtask-implement-schema-discovery/spec.md +199 -0
  26. agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section/analysis-report.md +55 -0
  27. agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section/plan.md +124 -0
  28. agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section/spec.md +249 -0
  29. agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section/tasks.md +85 -0
  30. agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section/test-coverage.json +194 -0
  31. agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact/analysis-report.md +89 -0
  32. agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact/tasks.md +127 -0
  33. agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact/test-coverage.json +239 -0
  34. agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy/checklists/requirements.md +47 -0
  35. agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy/plan.md +346 -0
  36. agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy/spec.md +421 -0
  37. agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy/tasks.md +149 -0
  38. agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy/test-coverage.json +148 -0
  39. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/analysis-report.md +96 -0
  40. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/checklists/requirements.md +49 -0
  41. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/plan.md +242 -0
  42. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/spec.md +383 -0
  43. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/tasks.md +117 -0
  44. agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy/test-coverage.json +161 -0
  45. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/checklists/requirements.md +55 -0
  46. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/data-model.md +78 -0
  47. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/plan.md +290 -0
  48. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/quickstart.md +80 -0
  49. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/research.md +44 -0
  50. agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph/spec.md +408 -0
  51. agentic_devtools-0.2.268/specs/1915-review-scaffolding-403-cross/fr-coverage.json +1 -0
  52. agentic_devtools-0.2.268/specs/2029-agent-batch-audit-reviews/fr-coverage.json +1 -0
  53. agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature/checklists/requirements.md +49 -0
  54. agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature/plan.md +254 -0
  55. agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature/spec.md +344 -0
  56. agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature/tasks.md +180 -0
  57. agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature/test-coverage.json +189 -0
  58. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/analysis-report.md +68 -0
  59. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/checklists/requirements.md +47 -0
  60. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/plan.md +130 -0
  61. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/spec.md +257 -0
  62. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/tasks.md +86 -0
  63. agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default/test-coverage.json +167 -0
  64. agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking/checklists/requirements.md +42 -0
  65. agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking/plan.md +211 -0
  66. agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking/spec.md +254 -0
  67. agentic_devtools-0.2.268/specs/2106-load-config-driven-validation/checklists/requirements.md +48 -0
  68. agentic_devtools-0.2.268/specs/2106-load-config-driven-validation/plan.md +208 -0
  69. agentic_devtools-0.2.268/specs/2106-load-config-driven-validation/spec.md +305 -0
  70. agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github/checklists/requirements.md +48 -0
  71. agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github/plan.md +338 -0
  72. agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github/spec.md +368 -0
  73. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/checklists/requirements.md +49 -0
  74. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/fr-coverage.json +1 -0
  75. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/plan.md +119 -0
  76. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/spec.md +278 -0
  77. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/tasks.md +121 -0
  78. agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup/test-coverage.json +247 -0
  79. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/checklists/requirements.md +47 -0
  80. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/data-model.md +81 -0
  81. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/plan.md +196 -0
  82. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/quickstart.md +82 -0
  83. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/research.md +85 -0
  84. agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature/spec.md +279 -0
  85. agentic_devtools-0.2.268/specs/2301-feature-context-aware-conditional/fr-coverage.json +1 -0
  86. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/checklists/requirements.md +46 -0
  87. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/fr-coverage.json +1 -0
  88. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/plan.md +160 -0
  89. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/spec.md +292 -0
  90. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/tasks.md +58 -0
  91. agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure/test-coverage.json +212 -0
  92. agentic_devtools-0.2.268/specs/2307-feature-setup-observability-substrate/fr-coverage.json +1 -0
  93. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/checklists/requirements.md +50 -0
  94. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/fr-coverage.json +1 -0
  95. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/plan.md +171 -0
  96. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/spec.md +252 -0
  97. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/tasks.md +102 -0
  98. agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code/test-coverage.json +163 -0
  99. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/checklists/requirements.md +48 -0
  100. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/data-model.md +74 -0
  101. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/plan.md +195 -0
  102. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/quickstart.md +66 -0
  103. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/research.md +104 -0
  104. agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write/spec.md +206 -0
  105. agentic_devtools-0.2.268/specs/2313-feature-one-command-agdt/fr-coverage.json +1 -0
  106. agentic_devtools-0.2.268/specs/2319-feature-setup-robustness-conditional/fr-coverage.json +1 -0
  107. agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/.markdownlint.json +5 -0
  108. agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/checklists/requirements.md +49 -0
  109. agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/plan.md +255 -0
  110. agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/spec.md +258 -0
  111. agentic_devtools-0.2.268/specs/2326-subtask-adopt-backing-jira/.markdownlint.json +5 -0
  112. agentic_devtools-0.2.268/specs/2326-subtask-adopt-backing-jira/fr-coverage.json +1 -0
  113. agentic_devtools-0.2.268/tests/unit/cli/audit/apply/test_audit_apply.py +1690 -0
  114. agentic_devtools-0.2.268/tests/unit/cli/audit/commands/test_audit_review_feedback_workflows.py +92 -0
  115. agentic_devtools-0.2.268/tests/unit/cli/git/remote_push/test_commit_and_push_branch.py +361 -0
  116. agentic_devtools-0.2.268/tests/unit/config/test__validate_phase_0.py +174 -0
  117. agentic_devtools-0.2.268/tests/unit/config/test_load_platform_config.py +298 -0
  118. agentic_devtools-0.2.268/tests/unit/config/test_save_platform_config.py +220 -0
  119. agentic_devtools-0.2.268/tests/unit/tools/__init__.py +0 -0
  120. agentic_devtools-0.2.268/tests/unit/tools/azure_devops/__init__.py +0 -0
  121. agentic_devtools-0.2.268/tests/unit/tools/git/__init__.py +0 -0
  122. agentic_devtools-0.2.268/tests/unit/tools/jira/__init__.py +0 -0
  123. agentic_devtools-0.2.268/tests/workflows/__init__.py +0 -0
  124. agentic_devtools-0.2.268/tests/workflows/test_minimized_ci_workflows.py +139 -0
  125. agentic_devtools-0.2.266/.github/scripts/speckit-trigger/generate-spec-from-issue.sh +0 -4079
  126. agentic_devtools-0.2.266/.github/scripts/speckit-trigger/lib/spec-validation.sh +0 -861
  127. agentic_devtools-0.2.266/.github/workflows/audit-review-feedback-apply.yml +0 -162
  128. agentic_devtools-0.2.266/.github/workflows/speckit-issue-trigger.yml +0 -189
  129. agentic_devtools-0.2.266/.github/workflows/speckit-phase-progression.yml +0 -1047
  130. agentic_devtools-0.2.266/.gitignore +0 -176
  131. agentic_devtools-0.2.266/PKG-INFO +0 -971
  132. agentic_devtools-0.2.266/agentic_devtools/_version.py +0 -24
  133. agentic_devtools-0.2.266/agentic_devtools/cli/audit/apply.py +0 -654
  134. agentic_devtools-0.2.266/agentic_devtools/cli/audit/dispatch.py +0 -166
  135. agentic_devtools-0.2.266/agentic_devtools/config.py +0 -232
  136. agentic_devtools-0.2.266/docs/ci-secrets.md +0 -88
  137. agentic_devtools-0.2.266/specs/1775-subtask-implement-normalize-jiraadapter/spec.md +0 -205
  138. agentic_devtools-0.2.266/specs/1776-subtask-implement-normalize-markdownadapter/spec.md +0 -182
  139. agentic_devtools-0.2.266/specs/1796-subtask-phase-configuration-section/spec.md +0 -223
  140. agentic_devtools-0.2.266/specs/1881-implement-execution-safety-policy/spec.md +0 -317
  141. agentic_devtools-0.2.266/specs/1882-implement-autonomous-decision-policy/spec.md +0 -331
  142. agentic_devtools-0.2.266/specs/1884-implement-minimal-observability-langgraph/spec.md +0 -304
  143. agentic_devtools-0.2.266/specs/2103-auto-derive-epic-feature/spec.md +0 -285
  144. agentic_devtools-0.2.266/specs/2104-resolve-execution-order-default/spec.md +0 -208
  145. agentic_devtools-0.2.266/specs/2105-resolve-and-validate-blocking/spec.md +0 -192
  146. agentic_devtools-0.2.266/specs/2106-load-config-driven-validation/spec.md +0 -214
  147. agentic_devtools-0.2.266/specs/2108-provider-adapter-layer-github/spec.md +0 -303
  148. agentic_devtools-0.2.266/specs/2294-subtask-output-sanitizer-setup/spec.md +0 -202
  149. agentic_devtools-0.2.266/specs/2295-subtask-deterministic-error-signature/spec.md +0 -224
  150. agentic_devtools-0.2.266/specs/2302-subtask-classification-reader-pure/spec.md +0 -219
  151. agentic_devtools-0.2.266/specs/2308-subtask-setup-exit-code/spec.md +0 -219
  152. agentic_devtools-0.2.266/specs/2309-subtask-collector-atomic-write/spec.md +0 -165
  153. agentic_devtools-0.2.266/specs/2320-subtask-conditional-npm-cert/spec.md +0 -215
  154. agentic_devtools-0.2.266/tests/unit/cli/audit/apply/test_audit_apply.py +0 -1527
  155. agentic_devtools-0.2.266/tests/unit/cli/audit/commands/test_audit_review_feedback_workflows.py +0 -88
  156. agentic_devtools-0.2.266/tests/unit/config/test_load_platform_config.py +0 -229
  157. agentic_devtools-0.2.266/tests/unit/config/test_save_platform_config.py +0 -164
  158. agentic_devtools-0.2.266/tests/workflows/test_minimized_ci_workflows.py +0 -117
  159. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/.gitignore +0 -0
  160. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/agentic-devtools-complete-setup.py +0 -0
  161. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/agentic-devtools-configured-setup.py +0 -0
  162. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/agentic-devtools-required-setup.py +0 -0
  163. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/config/commit-template.j2 +0 -0
  164. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/config/pr-title-template.j2 +0 -0
  165. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/config/project.json +0 -0
  166. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.agdt/config/pull-request-template.j2 +0 -0
  167. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.devcontainer/README.md +0 -0
  168. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.devcontainer/devcontainer.json +0 -0
  169. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.githooks/pre-push +0 -0
  170. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/CODEOWNERS +0 -0
  171. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/ISSUE_TEMPLATE/speckit-test.md +0 -0
  172. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/MARKDOWN_LINTING.md +0 -0
  173. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agdt-config.json +0 -0
  174. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/.markdownlint.json +0 -0
  175. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.README.md +0 -0
  176. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.add-jira-comment.agent.md +0 -0
  177. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.add-pull-request-comment.agent.md +0 -0
  178. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.add-users-to-project-role-batch.agent.md +0 -0
  179. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.add-users-to-project-role.agent.md +0 -0
  180. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.address-copilot-review.agent.md +0 -0
  181. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.address-copilot-review.ci-repair.agent.md +0 -0
  182. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.address-copilot-review.evaluate-and-respond.agent.md +0 -0
  183. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.address-own-review-feedback.agent.md +0 -0
  184. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.address-pr-review-comments.agent.md +0 -0
  185. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.advance-workflow.agent.md +0 -0
  186. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.analyze-workflow.agent.md +0 -0
  187. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.apply-pr-suggestions.initiate.agent.md +0 -0
  188. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.approve-pull-request.agent.md +0 -0
  189. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.autonomous-issue-refinement.agent.md +0 -0
  190. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.azure-context-current.agent.md +0 -0
  191. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.azure-context-ensure-login.agent.md +0 -0
  192. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.azure-context-status.agent.md +0 -0
  193. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.azure-context-use.agent.md +0 -0
  194. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.break-down-issue-into-subtasks.initiate.agent.md +0 -0
  195. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.check-user-exists.agent.md +0 -0
  196. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.check-users-exist.agent.md +0 -0
  197. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.clear-workflow.agent.md +0 -0
  198. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.clear.agent.md +0 -0
  199. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.confirm-suggestion-addressed.agent.md +0 -0
  200. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.copilot-auto-start.agent.md +0 -0
  201. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-agdt-bug-issue.agent.md +0 -0
  202. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-agdt-documentation-issue.agent.md +0 -0
  203. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-agdt-feature-issue.agent.md +0 -0
  204. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-agdt-issue.agent.md +0 -0
  205. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-agdt-task-issue.agent.md +0 -0
  206. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-checklist.agent.md +0 -0
  207. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-epic.agent.md +0 -0
  208. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-issue.agent.md +0 -0
  209. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-issues-from-analysis.agent.md +0 -0
  210. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-jira-epic.initiate.agent.md +0 -0
  211. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-jira-issue.initiate.agent.md +0 -0
  212. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-jira-subtask.initiate.agent.md +0 -0
  213. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-pipeline.agent.md +0 -0
  214. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-pull-request.agent.md +0 -0
  215. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.create-subtask.agent.md +0 -0
  216. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.delete.agent.md +0 -0
  217. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.find-role-id-by-name.agent.md +0 -0
  218. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.fix-workflow.agent.md +0 -0
  219. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-jira-issue.agent.md +0 -0
  220. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-next-workflow-prompt.agent.md +0 -0
  221. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-pipeline-id.agent.md +0 -0
  222. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-project-role-details.agent.md +0 -0
  223. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-pull-request-details.agent.md +0 -0
  224. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-pull-request-threads.agent.md +0 -0
  225. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-run-details.agent.md +0 -0
  226. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get-workflow.agent.md +0 -0
  227. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.get.agent.md +0 -0
  228. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-force-push.agent.md +0 -0
  229. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-publish.agent.md +0 -0
  230. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-push.agent.md +0 -0
  231. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-save-work.agent.md +0 -0
  232. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-stage.agent.md +0 -0
  233. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.git-sync.agent.md +0 -0
  234. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.list-pipelines.agent.md +0 -0
  235. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.list-project-roles.agent.md +0 -0
  236. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.mark-pull-request-draft.agent.md +0 -0
  237. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.network-status.agent.md +0 -0
  238. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.optimize-issue-for-ai-agent.initiate.agent.md +0 -0
  239. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.parse-jira-error-report.agent.md +0 -0
  240. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pr-merge-execute.agent.md +0 -0
  241. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pr-merge-manager.agent.md +0 -0
  242. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.publish-pull-request.agent.md +0 -0
  243. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.completion.agent.md +0 -0
  244. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.decision.agent.md +0 -0
  245. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.file-reviewer.agent.md +0 -0
  246. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.initiate.agent.md +0 -0
  247. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.orchestrator.agent.md +0 -0
  248. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.rubber-duck.agent.md +0 -0
  249. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.pull-request-review.triage.agent.md +0 -0
  250. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.query-app-insights.agent.md +0 -0
  251. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.query-fabric-dap-errors.agent.md +0 -0
  252. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.query-fabric-dap-provisioning.agent.md +0 -0
  253. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.query-fabric-dap-timeline.agent.md +0 -0
  254. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.reject-suggestion-resolution.agent.md +0 -0
  255. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.release-pypi.agent.md +0 -0
  256. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.reply-to-pull-request-thread.agent.md +0 -0
  257. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.resolve-merge-conflicts.agent.md +0 -0
  258. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.resolve-thread.agent.md +0 -0
  259. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.review-feedback-audit.evaluate.agent.md +0 -0
  260. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.run-e2e-tests-fabric.agent.md +0 -0
  261. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.run-e2e-tests-synapse.agent.md +0 -0
  262. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.run-wb-patch.agent.md +0 -0
  263. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.set.agent.md +0 -0
  264. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup-certs.agent.md +0 -0
  265. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup-check.agent.md +0 -0
  266. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup-copilot-cli.agent.md +0 -0
  267. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup-gh-cli.agent.md +0 -0
  268. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup-worktree-background.agent.md +0 -0
  269. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.setup.agent.md +0 -0
  270. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.show-checklist.agent.md +0 -0
  271. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.show-other-incomplete-tasks.agent.md +0 -0
  272. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.show.agent.md +0 -0
  273. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.squash-commits.agent.md +0 -0
  274. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.task-log.agent.md +0 -0
  275. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.task-status.agent.md +0 -0
  276. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.task-wait.agent.md +0 -0
  277. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.tasks-clean.agent.md +0 -0
  278. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.tasks.agent.md +0 -0
  279. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.test-file.agent.md +0 -0
  280. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.test-pattern.agent.md +0 -0
  281. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.test-quick.agent.md +0 -0
  282. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.test-workflow.agent.md +0 -0
  283. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.test.agent.md +0 -0
  284. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.update-checklist.agent.md +0 -0
  285. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.update-jira-issue.agent.md +0 -0
  286. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.update-jira-issue.initiate.agent.md +0 -0
  287. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.update-pipeline.agent.md +0 -0
  288. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.vpn-off.agent.md +0 -0
  289. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.vpn-on.agent.md +0 -0
  290. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.vpn-run.agent.md +0 -0
  291. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.vpn-status.agent.md +0 -0
  292. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.wait-for-run.agent.md +0 -0
  293. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.checklist-creation.agent.md +0 -0
  294. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.commit.agent.md +0 -0
  295. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.completion.agent.md +0 -0
  296. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.implementation-review.agent.md +0 -0
  297. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.implementation.agent.md +0 -0
  298. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.initiate.agent.md +0 -0
  299. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.planning.agent.md +0 -0
  300. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.pull-request.agent.md +0 -0
  301. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.retrieve.agent.md +0 -0
  302. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.setup.agent.md +0 -0
  303. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/agdt.work-on-jira-issue.verification.agent.md +0 -0
  304. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/copilot-instructions.md +0 -0
  305. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/security-scan.agent.md +0 -0
  306. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/senior-python-developer.md +0 -0
  307. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.analyze.agent.md +0 -0
  308. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.checklist.agent.md +0 -0
  309. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.clarify.agent.md +0 -0
  310. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.constitution.agent.md +0 -0
  311. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.implement.agent.md +0 -0
  312. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.plan.agent.md +0 -0
  313. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.specify.agent.md +0 -0
  314. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.tasks.agent.md +0 -0
  315. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/agents/speckit.taskstoissues.agent.md +0 -0
  316. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/copilot-instructions.md +0 -0
  317. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/copilot-setup-steps.yml +0 -0
  318. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/instructions/code-review.instructions.md +0 -0
  319. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/instructions/pre-push-hook.instructions.md +0 -0
  320. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/instructions/workflow-development.instructions.md +0 -0
  321. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/instructions/workflow-expectations.instructions.md +0 -0
  322. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/.markdownlint.json +0 -0
  323. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.README.md +0 -0
  324. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.add-jira-comment.prompt.md +0 -0
  325. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.add-pull-request-comment.prompt.md +0 -0
  326. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.add-users-to-project-role-batch.prompt.md +0 -0
  327. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.add-users-to-project-role.prompt.md +0 -0
  328. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.address-copilot-review.ci-repair.prompt.md +0 -0
  329. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.address-copilot-review.evaluate-and-respond.prompt.md +0 -0
  330. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.address-copilot-review.prompt.md +0 -0
  331. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.address-own-review-feedback.prompt.md +0 -0
  332. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.address-pr-review-comments.prompt.md +0 -0
  333. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.advance-workflow.prompt.md +0 -0
  334. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.analyze-workflow.prompt.md +0 -0
  335. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.apply-pr-suggestions.initiate.prompt.md +0 -0
  336. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.approve-pull-request.prompt.md +0 -0
  337. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.autonomous-issue-refinement.prompt.md +0 -0
  338. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.azure-context-current.prompt.md +0 -0
  339. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.azure-context-ensure-login.prompt.md +0 -0
  340. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.azure-context-status.prompt.md +0 -0
  341. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.azure-context-use.prompt.md +0 -0
  342. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.break-down-issue-into-subtasks.initiate.prompt.md +0 -0
  343. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.check-user-exists.prompt.md +0 -0
  344. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.check-users-exist.prompt.md +0 -0
  345. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.clear-workflow.prompt.md +0 -0
  346. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.clear.prompt.md +0 -0
  347. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.confirm-suggestion-addressed.prompt.md +0 -0
  348. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.copilot-auto-start.prompt.md +0 -0
  349. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-agdt-bug-issue.prompt.md +0 -0
  350. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-agdt-documentation-issue.prompt.md +0 -0
  351. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-agdt-feature-issue.prompt.md +0 -0
  352. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-agdt-issue.prompt.md +0 -0
  353. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-agdt-task-issue.prompt.md +0 -0
  354. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-checklist.prompt.md +0 -0
  355. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-epic.prompt.md +0 -0
  356. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-issue.prompt.md +0 -0
  357. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-issues-from-analysis.prompt.md +0 -0
  358. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-jira-epic.initiate.prompt.md +0 -0
  359. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-jira-issue.initiate.prompt.md +0 -0
  360. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-jira-subtask.initiate.prompt.md +0 -0
  361. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-pipeline.prompt.md +0 -0
  362. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-pull-request.prompt.md +0 -0
  363. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.create-subtask.prompt.md +0 -0
  364. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.delete.prompt.md +0 -0
  365. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.find-role-id-by-name.prompt.md +0 -0
  366. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.fix-workflow.prompt.md +0 -0
  367. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-jira-issue.prompt.md +0 -0
  368. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-next-workflow-prompt.prompt.md +0 -0
  369. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-pipeline-id.prompt.md +0 -0
  370. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-project-role-details.prompt.md +0 -0
  371. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-pull-request-details.prompt.md +0 -0
  372. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-pull-request-threads.prompt.md +0 -0
  373. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-run-details.prompt.md +0 -0
  374. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get-workflow.prompt.md +0 -0
  375. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.get.prompt.md +0 -0
  376. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-force-push.prompt.md +0 -0
  377. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-publish.prompt.md +0 -0
  378. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-push.prompt.md +0 -0
  379. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-save-work.prompt.md +0 -0
  380. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-stage.prompt.md +0 -0
  381. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.git-sync.prompt.md +0 -0
  382. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.list-pipelines.prompt.md +0 -0
  383. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.list-project-roles.prompt.md +0 -0
  384. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.mark-pull-request-draft.prompt.md +0 -0
  385. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.network-status.prompt.md +0 -0
  386. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.optimize-issue-for-ai-agent.initiate.prompt.md +0 -0
  387. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.parse-jira-error-report.prompt.md +0 -0
  388. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.pr-merge-manager.prompt.md +0 -0
  389. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.publish-pull-request.prompt.md +0 -0
  390. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.pull-request-review.completion.prompt.md +0 -0
  391. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.pull-request-review.decision.prompt.md +0 -0
  392. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.pull-request-review.initiate.prompt.md +0 -0
  393. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.query-app-insights.prompt.md +0 -0
  394. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.query-fabric-dap-errors.prompt.md +0 -0
  395. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.query-fabric-dap-provisioning.prompt.md +0 -0
  396. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.query-fabric-dap-timeline.prompt.md +0 -0
  397. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.reject-suggestion-resolution.prompt.md +0 -0
  398. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.release-pypi.prompt.md +0 -0
  399. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.reply-to-pull-request-thread.prompt.md +0 -0
  400. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.resolve-merge-conflicts.cloud-agent.prompt.md +0 -0
  401. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.resolve-merge-conflicts.prompt.md +0 -0
  402. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.resolve-thread.prompt.md +0 -0
  403. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.run-e2e-tests-fabric.prompt.md +0 -0
  404. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.run-e2e-tests-synapse.prompt.md +0 -0
  405. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.run-wb-patch.prompt.md +0 -0
  406. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.set.prompt.md +0 -0
  407. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup-certs.prompt.md +0 -0
  408. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup-check.prompt.md +0 -0
  409. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup-copilot-cli.prompt.md +0 -0
  410. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup-gh-cli.prompt.md +0 -0
  411. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup-worktree-background.prompt.md +0 -0
  412. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.setup.prompt.md +0 -0
  413. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.show-checklist.prompt.md +0 -0
  414. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.show-other-incomplete-tasks.prompt.md +0 -0
  415. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.show.prompt.md +0 -0
  416. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.squash-commits.prompt.md +0 -0
  417. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.task-log.prompt.md +0 -0
  418. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.task-status.prompt.md +0 -0
  419. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.task-wait.prompt.md +0 -0
  420. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.tasks-clean.prompt.md +0 -0
  421. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.tasks.prompt.md +0 -0
  422. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.test-file.prompt.md +0 -0
  423. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.test-pattern.prompt.md +0 -0
  424. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.test-quick.prompt.md +0 -0
  425. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.test-workflow.prompt.md +0 -0
  426. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.test.prompt.md +0 -0
  427. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.update-checklist.prompt.md +0 -0
  428. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.update-jira-issue.initiate.prompt.md +0 -0
  429. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.update-jira-issue.prompt.md +0 -0
  430. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.update-pipeline.prompt.md +0 -0
  431. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.vpn-off.prompt.md +0 -0
  432. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.vpn-on.prompt.md +0 -0
  433. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.vpn-run.prompt.md +0 -0
  434. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.vpn-status.prompt.md +0 -0
  435. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.wait-for-run.prompt.md +0 -0
  436. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.checklist-creation.prompt.md +0 -0
  437. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.commit.prompt.md +0 -0
  438. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.completion.prompt.md +0 -0
  439. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.implementation-review.prompt.md +0 -0
  440. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.implementation.prompt.md +0 -0
  441. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.initiate.prompt.md +0 -0
  442. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.planning.prompt.md +0 -0
  443. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.pull-request.prompt.md +0 -0
  444. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.retrieve.prompt.md +0 -0
  445. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.setup.prompt.md +0 -0
  446. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/agdt.work-on-jira-issue.verification.prompt.md +0 -0
  447. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.analyze.prompt.md +0 -0
  448. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.checklist.prompt.md +0 -0
  449. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.clarify.prompt.md +0 -0
  450. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.constitution.prompt.md +0 -0
  451. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.implement.prompt.md +0 -0
  452. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.plan.prompt.md +0 -0
  453. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.specify.prompt.md +0 -0
  454. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.tasks.prompt.md +0 -0
  455. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/prompts/speckit.taskstoissues.prompt.md +0 -0
  456. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/agent-fallback.js +0 -0
  457. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/check-analysis-gate-cli.sh +0 -0
  458. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/check-analysis-gate.sh +0 -0
  459. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/check-idempotency.sh +0 -0
  460. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/copilot_generate.py +0 -0
  461. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/create-spec-pr.sh +0 -0
  462. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/enforce_budget.py +0 -0
  463. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fix_markdown_deterministic.py +0 -0
  464. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-dynamic-header.md +0 -0
  465. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-empty.md +0 -0
  466. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-formatting-variants.md +0 -0
  467. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-malformed-no-table.md +0 -0
  468. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-metrics-zero-but-table-critical.md +0 -0
  469. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-mixed-resolved-unresolved.md +0 -0
  470. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-no-criticals.md +0 -0
  471. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-remediated.md +0 -0
  472. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-strikethrough-no-resolved.md +0 -0
  473. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-with-criticals.md +0 -0
  474. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/analysis-report-with-resolved-criticals.md +0 -0
  475. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/content-preservation/checklists/requirements.md +0 -0
  476. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/content-preservation/spec.md +0 -0
  477. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/long-line.md +0 -0
  478. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/missing-heading.md +0 -0
  479. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/fixtures/trailing-whitespace.md +0 -0
  480. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/lib/clarify-retry.sh +0 -0
  481. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/lib/critical-gate-remediation.sh +0 -0
  482. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/lib/retry.sh +0 -0
  483. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/post-issue-comment.sh +0 -0
  484. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/sanitize-branch-name.sh +0 -0
  485. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/.markdownlint.json +0 -0
  486. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/already-processed.md +0 -0
  487. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/completed.md +0 -0
  488. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/example-valid-spec.md +0 -0
  489. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/failed.md +0 -0
  490. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/spec-markdownlint.json +0 -0
  491. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/specify-skeleton.md +0 -0
  492. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/templates/started.md +0 -0
  493. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_check_analysis_gate.sh +0 -0
  494. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_clarify_retry.sh +0 -0
  495. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_content_preservation.sh +0 -0
  496. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_critical_gate_remediation.sh +0 -0
  497. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_markdownlint_validation.sh +0 -0
  498. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_sc004_regression.sh +0 -0
  499. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_spec_validation.sh +0 -0
  500. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/test_specify_retry.sh +0 -0
  501. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/tests/test_agent_fallback.js +0 -0
  502. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/tests/test_retry_lib.sh +0 -0
  503. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/validate-label.sh +0 -0
  504. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/scripts/speckit-trigger/wrap_markdown_lines.py +0 -0
  505. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/test-fixtures/seen-events-sample.json +0 -0
  506. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/README.md +0 -0
  507. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/ai-pr-loop-dispatcher.yml +0 -0
  508. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/ai-pr-loop-redispatch.yml +0 -0
  509. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/ai-pr-loop-throttler.yml +0 -0
  510. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/ai-pr-loop.yml +0 -0
  511. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/apply-autofix-suggestions.yml +0 -0
  512. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/audit-reap-stale.yml +0 -0
  513. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/audit-review-feedback.yml +0 -0
  514. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/audit-takeover-eval-prs.yml +0 -0
  515. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/copilot-setup-steps.yml +0 -0
  516. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/post-merge-full-suite.yml +0 -0
  517. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/pr-smart-module-tests.yml +0 -0
  518. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/pr-targeted-checks.yml +0 -0
  519. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/publish.yml +0 -0
  520. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/release.yml +0 -0
  521. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/scripts/check-release-exists.sh +0 -0
  522. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/scripts/get-next-version.sh +0 -0
  523. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/security-scan-on-merge.yml +0 -0
  524. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/speckit-agent-fallback-cleanup.yml +0 -0
  525. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/speckit-implement-trigger.yml +0 -0
  526. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/speckit-packages.yml +0 -0
  527. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/synthetic-copilot-review.yml +0 -0
  528. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.github/workflows/workflow-tests.yml +0 -0
  529. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.markdownlint-cli2.jsonc +0 -0
  530. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.markdownlint.json +0 -0
  531. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.push-trigger +0 -0
  532. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/SDD_QUICK_REFERENCE.md +0 -0
  533. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/config.yml +0 -0
  534. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/.markdownlint.json +0 -0
  535. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/analyze.md +0 -0
  536. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/checklist.md +0 -0
  537. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/clarify.md +0 -0
  538. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/constitution.md +0 -0
  539. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/implement.md +0 -0
  540. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/plan.md +0 -0
  541. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/specify.md +0 -0
  542. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/tasks.md +0 -0
  543. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/commands/taskstoissues.md +0 -0
  544. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/extension.yml +0 -0
  545. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/bash/check-prerequisites.sh +0 -0
  546. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/bash/common.sh +0 -0
  547. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/bash/create-new-feature.sh +0 -0
  548. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/bash/setup-plan.sh +0 -0
  549. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/bash/update-agent-context.sh +0 -0
  550. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/powershell/check-prerequisites.ps1 +0 -0
  551. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/powershell/common.ps1 +0 -0
  552. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/powershell/create-new-feature.ps1 +0 -0
  553. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/powershell/setup-plan.ps1 +0 -0
  554. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/extensions/agdt-workflows/scripts/powershell/update-agent-context.ps1 +0 -0
  555. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/memory/constitution.md +0 -0
  556. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/memory/markdown-rules.md +0 -0
  557. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/preset.yml +0 -0
  558. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/agent-file-template.md +0 -0
  559. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/checklist-template.md +0 -0
  560. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/plan-template.md +0 -0
  561. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/spec-template.md +0 -0
  562. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/tasks-template.md +0 -0
  563. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.specify/presets/agdt-templates/templates/vscode-settings.json +0 -0
  564. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/.work-folder-info +0 -0
  565. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/AUDIT-LOG.md +0 -0
  566. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/CHANGELOG.md +0 -0
  567. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/COMMIT_CONVENTION.md +0 -0
  568. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/CONTRIBUTING.md +0 -0
  569. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/LICENSE +0 -0
  570. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/PR_DESCRIPTION.md +0 -0
  571. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/PR_INSTRUCTIONS.md +0 -0
  572. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/PR_MERGE_INSTRUCTIONS_PYTHON.md +0 -0
  573. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/README.md +0 -0
  574. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/RELEASING.md +0 -0
  575. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/SECURITY_SCANNING.md +0 -0
  576. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/SOLUTION_SUMMARY.md +0 -0
  577. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/SPEC_DRIVEN_DEVELOPMENT.md +0 -0
  578. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/__init__.py +0 -0
  579. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/_bundled_skills/__init__.py +0 -0
  580. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/_bundled_skills/agents/__init__.py +0 -0
  581. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/_bundled_skills/prompts/__init__.py +0 -0
  582. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/_bundled_skills/workflow-analysis/SKILL.md +0 -0
  583. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/__init__.py +0 -0
  584. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/base.py +0 -0
  585. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/exceptions.py +0 -0
  586. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/github_adapter.py +0 -0
  587. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/jira_adapter.py +0 -0
  588. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/markdown_adapter.py +0 -0
  589. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/adapters/types.py +0 -0
  590. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/agdt_gitignore.py +0 -0
  591. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/background_tasks.py +0 -0
  592. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/__init__.py +0 -0
  593. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/activity_log.py +0 -0
  594. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/analysis/__init__.py +0 -0
  595. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/analysis/context_resolver.py +0 -0
  596. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/analysis/external_context.py +0 -0
  597. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/analysis/identity_scanner.py +0 -0
  598. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/apply_thread_autofix_suggestions.py +0 -0
  599. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/__init__.py +0 -0
  600. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/commands.py +0 -0
  601. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/config.py +0 -0
  602. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/instruction_resolver.py +0 -0
  603. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/labeling.py +0 -0
  604. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/models.py +0 -0
  605. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/on_pr_close.py +0 -0
  606. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/output_format.py +0 -0
  607. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/prepare.py +0 -0
  608. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/reap.py +0 -0
  609. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/staleness.py +0 -0
  610. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/audit/takeover.py +0 -0
  611. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure/__init__.py +0 -0
  612. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure/app_insights_commands.py +0 -0
  613. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure/auth.py +0 -0
  614. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure/config.py +0 -0
  615. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_context/__init__.py +0 -0
  616. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_context/commands.py +0 -0
  617. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_context/config.py +0 -0
  618. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_context/management.py +0 -0
  619. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/__init__.py +0 -0
  620. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/async_commands.py +0 -0
  621. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/auth.py +0 -0
  622. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/commands.py +0 -0
  623. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/config.py +0 -0
  624. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/consolidated_review.py +0 -0
  625. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/consolidated_scaffold.py +0 -0
  626. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/__init__.py +0 -0
  627. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/classification.py +0 -0
  628. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/convergence.py +0 -0
  629. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/identity.py +0 -0
  630. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/models.py +0 -0
  631. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/orchestrator.py +0 -0
  632. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/repair.py +0 -0
  633. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/reporting.py +0 -0
  634. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/finalization/verification.py +0 -0
  635. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/helpers.py +0 -0
  636. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/mark_reviewed.py +0 -0
  637. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/marker.py +0 -0
  638. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pipeline_commands.py +0 -0
  639. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_accept.py +0 -0
  640. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_answers.py +0 -0
  641. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_artifacts.py +0 -0
  642. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_ducks.py +0 -0
  643. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_filekey.py +0 -0
  644. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_ledger.py +0 -0
  645. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_manifest.py +0 -0
  646. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_pipeline_lock.py +0 -0
  647. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_progress.py +0 -0
  648. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_refresh.py +0 -0
  649. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_submit.py +0 -0
  650. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_submit_mapper.py +0 -0
  651. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_triage.py +0 -0
  652. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_review_write.py +0 -0
  653. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pr_summary_commands.py +0 -0
  654. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/pull_request_details_commands.py +0 -0
  655. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_attribution.py +0 -0
  656. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_commands.py +0 -0
  657. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_helpers.py +0 -0
  658. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_jira.py +0 -0
  659. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_reviewer_models.py +0 -0
  660. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_scaffold.py +0 -0
  661. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_state.py +0 -0
  662. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/review_templates.py +0 -0
  663. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/run_details_commands.py +0 -0
  664. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/status_cascade.py +0 -0
  665. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/suggestion_commands.py +0 -0
  666. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/suggestion_verification.py +0 -0
  667. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/azure_devops/vpn_toggle.py +0 -0
  668. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/cert_utils.py +0 -0
  669. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/__init__.py +0 -0
  670. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/__main__.py +0 -0
  671. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/changed_files.py +0 -0
  672. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/commands.py +0 -0
  673. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/lint.py +0 -0
  674. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/structure.py +0 -0
  675. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/checks/tests.py +0 -0
  676. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/__init__.py +0 -0
  677. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/actionable_checks.py +0 -0
  678. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/ado_provider.py +0 -0
  679. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/agent_assignment.py +0 -0
  680. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/commands.py +0 -0
  681. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/delete_review_comments_command.py +0 -0
  682. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/__init__.py +0 -0
  683. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/actions.py +0 -0
  684. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/classifier.py +0 -0
  685. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/command.py +0 -0
  686. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/diff_heuristic.py +0 -0
  687. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/lock.py +0 -0
  688. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/models.py +0 -0
  689. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/evaluator/snapshot.py +0 -0
  690. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/exceptions.py +0 -0
  691. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/github_provider.py +0 -0
  692. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/guards.py +0 -0
  693. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/job_logs.py +0 -0
  694. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/logging_config.py +0 -0
  695. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/models.py +0 -0
  696. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/__init__.py +0 -0
  697. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/__init__.py +0 -0
  698. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/apply_suggestions.py +0 -0
  699. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/approve.py +0 -0
  700. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/dispatch_repair.py +0 -0
  701. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/guards.py +0 -0
  702. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/merge.py +0 -0
  703. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/publish.py +0 -0
  704. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/rebase.py +0 -0
  705. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/request_review.py +0 -0
  706. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/resolve_threads.py +0 -0
  707. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/squash.py +0 -0
  708. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/actions/takeover.py +0 -0
  709. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/base.py +0 -0
  710. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/command.py +0 -0
  711. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/deferral.py +0 -0
  712. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/__init__.py +0 -0
  713. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/browser_strategy.py +0 -0
  714. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/graphql_strategy.py +0 -0
  715. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/html_strategy.py +0 -0
  716. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/models.py +0 -0
  717. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/orchestrator.py +0 -0
  718. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/discovery/rest_strategy.py +0 -0
  719. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/exceptions.py +0 -0
  720. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/exclusion.py +0 -0
  721. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/gate_verdict.py +0 -0
  722. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/models.py +0 -0
  723. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/runner.py +0 -0
  724. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/session_detector.py +0 -0
  725. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/snapshot.py +0 -0
  726. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/suggestions.py +0 -0
  727. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/pipeline/summary.py +0 -0
  728. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/provider.py +0 -0
  729. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/__init__.py +0 -0
  730. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/command.py +0 -0
  731. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/config.py +0 -0
  732. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/context_mapper.py +0 -0
  733. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/engine.py +0 -0
  734. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/exceptions.py +0 -0
  735. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/reconciliation/models.py +0 -0
  736. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/__init__.py +0 -0
  737. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/engine.py +0 -0
  738. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/github_adapter.py +0 -0
  739. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/models.py +0 -0
  740. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/protocols.py +0 -0
  741. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/reply_formatter.py +0 -0
  742. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/state_persistence.py +0 -0
  743. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/__init__.py +0 -0
  744. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/automation_markers.py +0 -0
  745. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/diff_heuristic.py +0 -0
  746. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/outdated.py +0 -0
  747. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/sdk_evaluation.py +0 -0
  748. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/swe_agent_reply.py +0 -0
  749. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/resolution/tiers/thread_evaluated.py +0 -0
  750. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/retry.py +0 -0
  751. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/scheduler.py +0 -0
  752. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/scheduler_command.py +0 -0
  753. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/speckit_trigger.py +0 -0
  754. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/tracker/__init__.py +0 -0
  755. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/tracker/merger.py +0 -0
  756. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/tracker/models.py +0 -0
  757. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/tracker/parser.py +0 -0
  758. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/ci/tracker/renderer.py +0 -0
  759. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/__init__.py +0 -0
  760. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/commit_type_resolution.py +0 -0
  761. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/opt_in_mode.py +0 -0
  762. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/project_config.py +0 -0
  763. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/pull_request_review_config.py +0 -0
  764. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/config/sync_back.py +0 -0
  765. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/copilot/__init__.py +0 -0
  766. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/copilot/auto_start.py +0 -0
  767. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/copilot/session.py +0 -0
  768. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/copilot/trust.py +0 -0
  769. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/__init__.py +0 -0
  770. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/agdt_branch.py +0 -0
  771. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/async_commands.py +0 -0
  772. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/commands.py +0 -0
  773. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/commit_body.py +0 -0
  774. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/commit_intent.py +0 -0
  775. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/commit_template.py +0 -0
  776. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/core.py +0 -0
  777. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/diff.py +0 -0
  778. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/operations.py +0 -0
  779. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/git/transparency.py +0 -0
  780. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/__init__.py +0 -0
  781. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/apply_thread_autofix.py +0 -0
  782. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/async_commands.py +0 -0
  783. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/browser_apply_autofix.py +0 -0
  784. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/copilot_review_status.py +0 -0
  785. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/issue_commands.py +0 -0
  786. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_approve.py +0 -0
  787. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_checks_status.py +0 -0
  788. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_create.py +0 -0
  789. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_merge.py +0 -0
  790. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_poll_ready.py +0 -0
  791. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/pr_state.py +0 -0
  792. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/repo_resolution.py +0 -0
  793. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/request_copilot_review.py +0 -0
  794. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/rerun_checks.py +0 -0
  795. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/resolve_review_threads.py +0 -0
  796. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/review_reply.py +0 -0
  797. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/state_helpers.py +0 -0
  798. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/github/user_credentials.json +0 -0
  799. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/hierarchy/__init__.py +0 -0
  800. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/hierarchy/commands.py +0 -0
  801. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/hierarchy/helpers.py +0 -0
  802. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/__init__.py +0 -0
  803. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/adf.py +0 -0
  804. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/async_commands.py +0 -0
  805. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/async_status.py +0 -0
  806. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/commands.py +0 -0
  807. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/comment_commands.py +0 -0
  808. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/config.py +0 -0
  809. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/create_commands.py +0 -0
  810. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/formatting.py +0 -0
  811. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/get_commands.py +0 -0
  812. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/helpers.py +0 -0
  813. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/parse_error_report.py +0 -0
  814. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/role_commands.py +0 -0
  815. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/sdk.py +0 -0
  816. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/state_helpers.py +0 -0
  817. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/update_commands.py +0 -0
  818. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/jira/vpn_wrapper.py +0 -0
  819. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/network/__init__.py +0 -0
  820. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/network/commands.py +0 -0
  821. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/network/detection.py +0 -0
  822. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/pr_template.py +0 -0
  823. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/release/__init__.py +0 -0
  824. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/release/commands.py +0 -0
  825. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/release/helpers.py +0 -0
  826. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/runner.py +0 -0
  827. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/segments/__init__.py +0 -0
  828. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/segments/commands.py +0 -0
  829. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/__init__.py +0 -0
  830. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/commands.py +0 -0
  831. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/commit_template_setup.py +0 -0
  832. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/copilot_cli_installer.py +0 -0
  833. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/dependency_checker.py +0 -0
  834. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/exit_codes.py +0 -0
  835. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/expectations_validator.py +0 -0
  836. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/gh_cli_installer.py +0 -0
  837. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/gitignore_negations.py +0 -0
  838. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/phases.py +0 -0
  839. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/platform_detection.py +0 -0
  840. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/pr_workflow.py +0 -0
  841. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/report.py +0 -0
  842. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/__init__.py +0 -0
  843. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/atomic_write.py +0 -0
  844. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/complete_setup.py +0 -0
  845. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/configured_setup.py +0 -0
  846. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/constants.py +0 -0
  847. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/gitignore_updater.py +0 -0
  848. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/legacy_migration.py +0 -0
  849. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/repo_specific.py +0 -0
  850. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/required_setup.py +0 -0
  851. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/script_generators/root_entry_point.py +0 -0
  852. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/shell_profile.py +0 -0
  853. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/templates/README.md +0 -0
  854. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/templates/review-pr.py +0 -0
  855. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/templates/work-on-issue.py +0 -0
  856. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/version_guard.py +0 -0
  857. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/setup/workflow_templates.py +0 -0
  858. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/__init__.py +0 -0
  859. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/commands.py +0 -0
  860. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/cross_ref.py +0 -0
  861. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/detect_parent_cli.py +0 -0
  862. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/hierarchy.py +0 -0
  863. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/hierarchy_detector.py +0 -0
  864. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/__init__.py +0 -0
  865. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/constants.py +0 -0
  866. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/coverage_mapper.py +0 -0
  867. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/models.py +0 -0
  868. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/reporter.py +0 -0
  869. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/spec_parser.py +0 -0
  870. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/task_classifier.py +0 -0
  871. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_e2/validator.py +0 -0
  872. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/__init__.py +0 -0
  873. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/classifier.py +0 -0
  874. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/constants.py +0 -0
  875. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/extractors/__init__.py +0 -0
  876. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/extractors/base.py +0 -0
  877. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/extractors/python_extractor.py +0 -0
  878. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/intent_detector.py +0 -0
  879. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/inventory.py +0 -0
  880. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/matcher.py +0 -0
  881. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/models.py +0 -0
  882. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/reference_extractor.py +0 -0
  883. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/pass_g/reporter.py +0 -0
  884. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/validate_checklists.py +0 -0
  885. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/speckit/validate_frs.py +0 -0
  886. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/state.py +0 -0
  887. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/subprocess_utils.py +0 -0
  888. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/tasks/__init__.py +0 -0
  889. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/tasks/commands.py +0 -0
  890. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/testing.py +0 -0
  891. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/vpn/__init__.py +0 -0
  892. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/vpn/commands.py +0 -0
  893. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/vpn/runner.py +0 -0
  894. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/vscode_tasks.py +0 -0
  895. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/__init__.py +0 -0
  896. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/advancement.py +0 -0
  897. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/applied_suggestions.py +0 -0
  898. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/base.py +0 -0
  899. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/checklist.py +0 -0
  900. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/commands.py +0 -0
  901. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/manager.py +0 -0
  902. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/preflight.py +0 -0
  903. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/cli/workflows/worktree_setup.py +0 -0
  904. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/context/__init__.py +0 -0
  905. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/context/models.py +0 -0
  906. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/context/nodes.py +0 -0
  907. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/context/retriever.py +0 -0
  908. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/context_budget.py +0 -0
  909. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/__init__.py +0 -0
  910. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/config.py +0 -0
  911. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/dependencies.py +0 -0
  912. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/errors.py +0 -0
  913. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/loader.py +0 -0
  914. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/models.py +0 -0
  915. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/normalizer.py +0 -0
  916. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/ordering.py +0 -0
  917. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/schema.py +0 -0
  918. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/epic_tree/validator.py +0 -0
  919. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/file_locking.py +0 -0
  920. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/__init__.py +0 -0
  921. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/artifact_profiles.py +0 -0
  922. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/cascade.py +0 -0
  923. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/detector.py +0 -0
  924. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/enforcement.py +0 -0
  925. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/github_detector.py +0 -0
  926. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/jira_detector.py +0 -0
  927. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/metadata_io.py +0 -0
  928. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/models.py +0 -0
  929. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/hierarchy/path_resolver.py +0 -0
  930. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/mcp/__init__.py +0 -0
  931. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/mcp/server.py +0 -0
  932. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/__init__.py +0 -0
  933. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/checkpointing.py +0 -0
  934. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/__init__.py +0 -0
  935. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/adr_validation.py +0 -0
  936. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/context.py +0 -0
  937. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/context_factory.py +0 -0
  938. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/decision_gate.py +0 -0
  939. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/decision_policy.py +0 -0
  940. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/event_edge_mapping.py +0 -0
  941. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/exceptions.py +0 -0
  942. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/idempotency.py +0 -0
  943. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/poc_node.py +0 -0
  944. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/protocols.py +0 -0
  945. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/retry.py +0 -0
  946. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/run_id.py +0 -0
  947. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/state.py +0 -0
  948. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/trace_persistence.py +0 -0
  949. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/tracing.py +0 -0
  950. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/execution/types.py +0 -0
  951. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/graph_builder.py +0 -0
  952. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/__init__.py +0 -0
  953. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/base_provider.py +0 -0
  954. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/call_logger.py +0 -0
  955. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/config.py +0 -0
  956. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/config_schema.py +0 -0
  957. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/cost_estimator.py +0 -0
  958. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/errors.py +0 -0
  959. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/examples/llm-providers.example.yml +0 -0
  960. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/factory.py +0 -0
  961. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/mock_provider.py +0 -0
  962. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/provider_config.py +0 -0
  963. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/providers/__init__.py +0 -0
  964. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/providers/azure_openai.py +0 -0
  965. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/providers/local_model.py +0 -0
  966. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/providers/openai_direct.py +0 -0
  967. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/retry.py +0 -0
  968. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/testing/__init__.py +0 -0
  969. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/testing/canonical_hash.py +0 -0
  970. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/testing/deterministic.py +0 -0
  971. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/testing/fixture_store.py +0 -0
  972. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/token_counter.py +0 -0
  973. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/types.py +0 -0
  974. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/llm/usage_tracker.py +0 -0
  975. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/node_factory.py +0 -0
  976. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/pilot_workflow.py +0 -0
  977. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/review/__init__.py +0 -0
  978. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/review/nodes.py +0 -0
  979. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/runner.py +0 -0
  980. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/__init__.py +0 -0
  981. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/_confidence.py +0 -0
  982. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/_enums.py +0 -0
  983. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/_export.py +0 -0
  984. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/_fallback.py +0 -0
  985. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/_validation.py +0 -0
  986. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/examples/__init__.py +0 -0
  987. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/examples/review_examples.py +0 -0
  988. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/examples/shared_examples.py +0 -0
  989. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/examples/work_examples.py +0 -0
  990. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/__init__.py +0 -0
  991. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/decision.py +0 -0
  992. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/finding.py +0 -0
  993. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/result.py +0 -0
  994. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/summary.py +0 -0
  995. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/review/verdict.py +0 -0
  996. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/shared/__init__.py +0 -0
  997. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/shared/confidence.py +0 -0
  998. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/shared/escalation.py +0 -0
  999. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/shared/stop_condition.py +0 -0
  1000. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/__init__.py +0 -0
  1001. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/checklist.py +0 -0
  1002. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/diagnosis.py +0 -0
  1003. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/plan.py +0 -0
  1004. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/quality.py +0 -0
  1005. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/schemas/work_on_issue/summary.py +0 -0
  1006. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/state_schema.py +0 -0
  1007. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/__init__.py +0 -0
  1008. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/audit.py +0 -0
  1009. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/builtins.py +0 -0
  1010. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/decorators.py +0 -0
  1011. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/definition.py +0 -0
  1012. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/executor.py +0 -0
  1013. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/langchain_adapter.py +0 -0
  1014. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/registry.py +0 -0
  1015. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/result.py +0 -0
  1016. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/review_bindings.py +0 -0
  1017. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/orchestration/tools/validation.py +0 -0
  1018. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/__init__.py +0 -0
  1019. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/apply-pull-request-review-suggestions/default-initiate-prompt.md +0 -0
  1020. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/break-down-issue-into-subtasks/default-initiate-prompt.md +0 -0
  1021. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/ci/__init__.py +0 -0
  1022. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/ci/exhausted-comment.md +0 -0
  1023. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/ci/merge-failed-comment.md +0 -0
  1024. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/ci/ready-no-merge-comment.md +0 -0
  1025. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/ci/timeout-comment.md +0 -0
  1026. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/create-jira-epic/default-initiate-prompt.md +0 -0
  1027. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/create-jira-issue/default-initiate-prompt.md +0 -0
  1028. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/create-jira-subtask/default-initiate-prompt.md +0 -0
  1029. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/default-thread-resolution-fallback-prompt.md +0 -0
  1030. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/loader.py +0 -0
  1031. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/optimize-issue-for-ai-agent/default-initiate-prompt.md +0 -0
  1032. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pr-merge-orchestrator/default-init-prompt.md +0 -0
  1033. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-completion-prompt.md +0 -0
  1034. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-consolidate-and-submit-prompt.md +0 -0
  1035. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-decision-prompt.md +0 -0
  1036. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-delegate-prompt.md +0 -0
  1037. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md +0 -0
  1038. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/pull-request-review/default-pr-synthesis-prompt.md +0 -0
  1039. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md +0 -0
  1040. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/update-jira-issue/default-make-updates-prompt.md +0 -0
  1041. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md +0 -0
  1042. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-commit-prompt.md +0 -0
  1043. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-completion-prompt.md +0 -0
  1044. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-prompt.md +0 -0
  1045. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-implementation-review-prompt.md +0 -0
  1046. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-initiate-prompt.md +0 -0
  1047. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-planning-prompt.md +0 -0
  1048. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-pull-request-prompt.md +0 -0
  1049. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-retrieve-prompt.md +0 -0
  1050. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-setup-prompt.md +0 -0
  1051. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/prompts/work-on-jira-issue/default-verification-prompt.md +0 -0
  1052. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/schemas/__init__.py +0 -0
  1053. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/schemas/epic-tree.schema.json +0 -0
  1054. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/__init__.py +0 -0
  1055. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/cleanup.py +0 -0
  1056. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/errors.py +0 -0
  1057. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/manager.py +0 -0
  1058. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/models.py +0 -0
  1059. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/segments/reconciler.py +0 -0
  1060. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/skill_injector.py +0 -0
  1061. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/state.py +0 -0
  1062. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/submission_manager.py +0 -0
  1063. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/submission_processor.py +0 -0
  1064. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/task_state.py +0 -0
  1065. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/tools/__init__.py +0 -0
  1066. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/tools/azure_devops.py +0 -0
  1067. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/tools/git.py +0 -0
  1068. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/agentic_devtools/tools/jira.py +0 -0
  1069. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/01-introduction-and-goals.md +0 -0
  1070. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/02-architecture-constraints.md +0 -0
  1071. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/03-system-context.md +0 -0
  1072. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/04-solution-strategy.md +0 -0
  1073. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/05-building-blocks.md +0 -0
  1074. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/06-runtime-view.md +0 -0
  1075. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/07-deployment-view.md +0 -0
  1076. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/08-cross-cutting-concepts.md +0 -0
  1077. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/09-architecture-decisions.md +0 -0
  1078. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/10-quality-requirements.md +0 -0
  1079. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/11-risks-and-technical-debt.md +0 -0
  1080. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/12-glossary.md +0 -0
  1081. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/README.md +0 -0
  1082. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/analysis/001-orchestration-framework-evaluation.md +0 -0
  1083. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-001-state-management-single-json-file.md +0 -0
  1084. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-002-parameterless-command-pattern.md +0 -0
  1085. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-003-background-task-execution.md +0 -0
  1086. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-004-multi-worktree-support.md +0 -0
  1087. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-005-workflow-state-machine-pattern.md +0 -0
  1088. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-006-mermaid-diagrams.md +0 -0
  1089. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-007-argparse-cli.md +0 -0
  1090. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-008-pyproject-toml.md +0 -0
  1091. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-009-dynamic-versioning-git-tags.md +0 -0
  1092. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-010-azure-devops-primary.md +0 -0
  1093. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-011-test-coverage-requirement.md +0 -0
  1094. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-012-cross-platform-file-locking.md +0 -0
  1095. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-013-orchestration-framework-selection.md +0 -0
  1096. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/architecture-decisions/ADR-014-autonomous-execution-model.md +0 -0
  1097. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/audit-batch-output-format.md +0 -0
  1098. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/audit-pr-label-lifecycle.md +0 -0
  1099. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/copilot-commands.md +0 -0
  1100. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/mcp-server.md +0 -0
  1101. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/orchestration/workflow-event-mapping.md +0 -0
  1102. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/setup-expectations/agdt-setup.md +0 -0
  1103. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/speckit-migration-inventory.md +0 -0
  1104. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/state-keys.md +0 -0
  1105. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/README.md +0 -0
  1106. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-apply-pr-suggestions-workflow.md +0 -0
  1107. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-break-down-issue-into-subtasks-workflow.md +0 -0
  1108. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-create-jira-epic-workflow.md +0 -0
  1109. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-create-jira-issue-workflow.md +0 -0
  1110. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-create-jira-subtask-workflow.md +0 -0
  1111. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-optimize-issue-for-ai-agent-workflow.md +0 -0
  1112. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-pull-request-review-workflow.md +0 -0
  1113. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-update-jira-issue-workflow.md +0 -0
  1114. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-expectations/agdt-initiate-work-on-jira-issue-workflow.md +0 -0
  1115. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/docs/workflow-prompts.md +0 -0
  1116. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/pyproject.toml +0 -0
  1117. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/check-pr-test-coverage.py +0 -0
  1118. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/check-pr-test-coverage.sh +0 -0
  1119. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/check_no_interrupt.py +0 -0
  1120. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/run-pr-checks.sh +0 -0
  1121. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/scaffold_tests.py +0 -0
  1122. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/targeted-checks.sh +0 -0
  1123. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/validate_event_mapping.py +0 -0
  1124. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/validate_setup_expectations.py +0 -0
  1125. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/validate_test_structure.py +0 -0
  1126. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/scripts/verify-agent-coverage.py +0 -0
  1127. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/setup-dev-tools.py +0 -0
  1128. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/setup-repo-specific-dev-tools.py +0 -0
  1129. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-add-workflow-step-agents/checklists/requirements.md +0 -0
  1130. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-add-workflow-step-agents/plan.md +0 -0
  1131. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-add-workflow-step-agents/spec.md +0 -0
  1132. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-add-workflow-step-agents/tasks.md +0 -0
  1133. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-pypi-wheel-release/checklists/requirements.md +0 -0
  1134. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-pypi-wheel-release/plan.md +0 -0
  1135. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-pypi-wheel-release/spec.md +0 -0
  1136. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-pypi-wheel-release/tasks.md +0 -0
  1137. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-separate-docs/checklists/requirements.md +0 -0
  1138. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-separate-docs/plan.md +0 -0
  1139. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-separate-docs/spec.md +0 -0
  1140. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-separate-docs/tasks.md +0 -0
  1141. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-workflow-step-skills/checklists/requirements.md +0 -0
  1142. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/001-workflow-step-skills/spec.md +0 -0
  1143. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/002-github-action-speckit-trigger/checklists/requirements.md +0 -0
  1144. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/002-github-action-speckit-trigger/plan.md +0 -0
  1145. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/002-github-action-speckit-trigger/spec.md +0 -0
  1146. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/002-github-action-speckit-trigger/tasks.md +0 -0
  1147. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/002-github-action-speckit-trigger/workflow-sequence-diagram.md +0 -0
  1148. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/003-comprehensive-e2e-smoke-tests/checklists/requirements.md +0 -0
  1149. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/003-comprehensive-e2e-smoke-tests/spec.md +0 -0
  1150. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/003-e2e-smoke-tests-cli/plan.md +0 -0
  1151. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/005-resolve-test-suite-warnings/analysis-report.md +0 -0
  1152. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/005-resolve-test-suite-warnings/checklists/requirements.md +0 -0
  1153. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/005-resolve-test-suite-warnings/plan.md +0 -0
  1154. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/005-resolve-test-suite-warnings/spec.md +0 -0
  1155. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/005-resolve-test-suite-warnings/tasks.md +0 -0
  1156. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/analysis-report.md +0 -0
  1157. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/checklists/checklist.md +0 -0
  1158. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/checklists/requirements.md +0 -0
  1159. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/plan.md +0 -0
  1160. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/spec.md +0 -0
  1161. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1175-plan-phase-fails-large/tasks.md +0 -0
  1162. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1176-use-issue-number-speckit/analysis-report.md +0 -0
  1163. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1176-use-issue-number-speckit/checklists/requirements.md +0 -0
  1164. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1176-use-issue-number-speckit/plan.md +0 -0
  1165. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1176-use-issue-number-speckit/spec.md +0 -0
  1166. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1176-use-issue-number-speckit/tasks.md +0 -0
  1167. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1179-enhance-agdt-analyze-workflow/analysis-report.md +0 -0
  1168. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1179-enhance-agdt-analyze-workflow/checklists/requirements.md +0 -0
  1169. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1179-enhance-agdt-analyze-workflow/plan.md +0 -0
  1170. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1179-enhance-agdt-analyze-workflow/spec.md +0 -0
  1171. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1179-enhance-agdt-analyze-workflow/tasks.md +0 -0
  1172. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/.markdownlint.json +0 -0
  1173. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/analysis-report.md +0 -0
  1174. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/checklists/checklist.md +0 -0
  1175. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/checklists/requirements.md +0 -0
  1176. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/fr-coverage.json +0 -0
  1177. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/plan.md +0 -0
  1178. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/spec.md +0 -0
  1179. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/tasks.md +0 -0
  1180. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1180-split-state-directory-during/test-coverage.json +0 -0
  1181. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1191-speckit-pipeline-markdownlint-validation/analysis-report.md +0 -0
  1182. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1191-speckit-pipeline-markdownlint-validation/checklists/requirements.md +0 -0
  1183. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1191-speckit-pipeline-markdownlint-validation/plan.md +0 -0
  1184. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1191-speckit-pipeline-markdownlint-validation/spec.md +0 -0
  1185. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1191-speckit-pipeline-markdownlint-validation/tasks.md +0 -0
  1186. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1193-speckit-pipeline-enforce-line/analysis-report.md +0 -0
  1187. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1193-speckit-pipeline-enforce-line/checklists/requirements.md +0 -0
  1188. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1193-speckit-pipeline-enforce-line/plan.md +0 -0
  1189. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1193-speckit-pipeline-enforce-line/spec.md +0 -0
  1190. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1193-speckit-pipeline-enforce-line/tasks.md +0 -0
  1191. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/.markdownlint.json +0 -0
  1192. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/analysis-report.md +0 -0
  1193. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/checklists/requirements.md +0 -0
  1194. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/plan.md +0 -0
  1195. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/spec.md +0 -0
  1196. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1194-speckit-prompts-require-language/tasks.md +0 -0
  1197. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/.markdownlint.json +0 -0
  1198. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/analysis-report.md +0 -0
  1199. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/checklists/checklist.md +0 -0
  1200. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/checklists/requirements.md +0 -0
  1201. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/plan.md +0 -0
  1202. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/spec.md +0 -0
  1203. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1195-speckit-clarification-step-overwrites/tasks.md +0 -0
  1204. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/.markdownlint.json +0 -0
  1205. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/analysis-report.md +0 -0
  1206. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/checklists/requirements.md +0 -0
  1207. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/plan.md +0 -0
  1208. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/spec.md +0 -0
  1209. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1196-speckit-pipeline-auto-request/tasks.md +0 -0
  1210. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/.markdownlint.json +0 -0
  1211. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/analysis-report.md +0 -0
  1212. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/checklists/requirements.md +0 -0
  1213. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/plan.md +0 -0
  1214. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/spec.md +0 -0
  1215. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1197-speckit-pipeline-gate-creation/tasks.md +0 -0
  1216. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/.markdownlint.json +0 -0
  1217. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/analysis-report.md +0 -0
  1218. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/checklists/requirements.md +0 -0
  1219. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/fr-coverage.json +0 -0
  1220. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/plan.md +0 -0
  1221. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/spec.md +0 -0
  1222. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1198-speckit-prompts-require-phase/tasks.md +0 -0
  1223. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/.markdownlint.json +0 -0
  1224. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/analysis-report.md +0 -0
  1225. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/checklists/requirements.md +0 -0
  1226. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/plan.md +0 -0
  1227. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/spec.md +0 -0
  1228. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1199-speckit-pipeline-validate-all/tasks.md +0 -0
  1229. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/.markdownlint.json +0 -0
  1230. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/analysis-report.md +0 -0
  1231. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/checklists/requirements.md +0 -0
  1232. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/plan.md +0 -0
  1233. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/spec.md +0 -0
  1234. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1200-speckit-prompts-use-anchor/tasks.md +0 -0
  1235. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/.markdownlint.json +0 -0
  1236. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/analysis-report.md +0 -0
  1237. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/checklists/requirements.md +0 -0
  1238. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/fr-coverage.json +0 -0
  1239. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/plan.md +0 -0
  1240. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/spec.md +0 -0
  1241. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1201-speckit-pipeline-task-deduplication/tasks.md +0 -0
  1242. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/.markdownlint.json +0 -0
  1243. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/analysis-report.md +0 -0
  1244. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/checklists/requirements.md +0 -0
  1245. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/fixtures/sc-001/spec.md +0 -0
  1246. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/fixtures/sc-001/tasks.md +0 -0
  1247. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/fr-coverage.json +0 -0
  1248. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/plan.md +0 -0
  1249. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/spec.md +0 -0
  1250. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1202-speckit-pipeline-validate-each/tasks.md +0 -0
  1251. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/.markdownlint.json +0 -0
  1252. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/analysis-report.md +0 -0
  1253. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/checklists/requirements.md +0 -0
  1254. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/fr-coverage.json +0 -0
  1255. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/plan.md +0 -0
  1256. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/spec.md +0 -0
  1257. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1203-speckit-pipeline-validate-checklist/tasks.md +0 -0
  1258. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/.markdownlint.json +0 -0
  1259. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/analysis-report.md +0 -0
  1260. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/checklists/requirements.md +0 -0
  1261. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/fr-coverage.json +0 -0
  1262. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/plan.md +0 -0
  1263. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/spec.md +0 -0
  1264. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1204-speckit-pipeline-cross-reference/tasks.md +0 -0
  1265. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/.markdownlint.json +0 -0
  1266. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/analysis-report.md +0 -0
  1267. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/checklists/requirements.md +0 -0
  1268. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/plan.md +0 -0
  1269. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/spec.md +0 -0
  1270. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1215-fix-remove-invalid-yes/tasks.md +0 -0
  1271. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/.markdownlint.json +0 -0
  1272. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/analysis-report.md +0 -0
  1273. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/checklists/requirements.md +0 -0
  1274. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/plan.md +0 -0
  1275. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/spec.md +0 -0
  1276. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1258-use-pat-copilot-review/tasks.md +0 -0
  1277. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/.markdownlint.json +0 -0
  1278. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/analysis-report.md +0 -0
  1279. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/checklists/requirements.md +0 -0
  1280. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/fr-coverage.json +0 -0
  1281. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/plan.md +0 -0
  1282. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/spec.md +0 -0
  1283. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/tasks.md +0 -0
  1284. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1270-finalize-review-workflow-automatic/test-coverage.json +0 -0
  1285. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/.markdownlint.json +0 -0
  1286. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/analysis-report.md +0 -0
  1287. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/checklists/requirements.md +0 -0
  1288. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/fr-coverage.json +0 -0
  1289. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/plan.md +0 -0
  1290. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/spec.md +0 -0
  1291. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1283-update-workflow-use-github/tasks.md +0 -0
  1292. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/.markdownlint.json +0 -0
  1293. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/analysis-report.md +0 -0
  1294. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/checklists/requirements.md +0 -0
  1295. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/fr-coverage.json +0 -0
  1296. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/plan.md +0 -0
  1297. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/spec.md +0 -0
  1298. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1300-bug-agdt-copilot-auto/tasks.md +0 -0
  1299. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/.markdownlint.json +0 -0
  1300. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/analysis-report.md +0 -0
  1301. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/checklists/requirements.md +0 -0
  1302. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/fr-coverage.json +0 -0
  1303. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/plan.md +0 -0
  1304. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/spec.md +0 -0
  1305. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/tasks.md +0 -0
  1306. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1322-restructure-setup-dev-tools/test-coverage.json +0 -0
  1307. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/.markdownlint.json +0 -0
  1308. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/analysis-report.md +0 -0
  1309. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/checklists/requirements.md +0 -0
  1310. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/fr-coverage.json +0 -0
  1311. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/plan.md +0 -0
  1312. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/spec.md +0 -0
  1313. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/tasks.md +0 -0
  1314. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1324-pin-agentic-devtools-version/test-coverage.json +0 -0
  1315. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/.markdownlint.json +0 -0
  1316. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/analysis-report.md +0 -0
  1317. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/checklists/requirements.md +0 -0
  1318. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/fr-coverage.json +0 -0
  1319. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/plan.md +0 -0
  1320. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/spec.md +0 -0
  1321. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/tasks.md +0 -0
  1322. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1326-improve-error-handling-and/test-coverage.json +0 -0
  1323. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/.markdownlint.json +0 -0
  1324. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/analysis-report.md +0 -0
  1325. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/checklists/requirements.md +0 -0
  1326. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/fr-coverage.json +0 -0
  1327. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/plan.md +0 -0
  1328. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/spec.md +0 -0
  1329. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/tasks.md +0 -0
  1330. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1359-loop-automated-agentic-handling/test-coverage.json +0 -0
  1331. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/.markdownlint.json +0 -0
  1332. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/analysis-report.md +0 -0
  1333. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/checklists/requirements.md +0 -0
  1334. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/fr-coverage.json +0 -0
  1335. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/plan.md +0 -0
  1336. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/spec.md +0 -0
  1337. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/tasks.md +0 -0
  1338. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1364-fix-speckit-label-operations/test-coverage.json +0 -0
  1339. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/.markdownlint.json +0 -0
  1340. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/analysis-report.md +0 -0
  1341. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/checklists/requirements.md +0 -0
  1342. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/fr-coverage.json +0 -0
  1343. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/plan.md +0 -0
  1344. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/spec.md +0 -0
  1345. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/tasks.md +0 -0
  1346. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1391-fix-request-copilot-review/test-coverage.json +0 -0
  1347. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/.markdownlint.json +0 -0
  1348. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/analysis-report.md +0 -0
  1349. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/checklists/requirements.md +0 -0
  1350. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/fr-coverage.json +0 -0
  1351. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/plan.md +0 -0
  1352. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/spec.md +0 -0
  1353. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/tasks.md +0 -0
  1354. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1393-blocker-workflow-approval-required/test-coverage.json +0 -0
  1355. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/.markdownlint.json +0 -0
  1356. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/analysis-report.md +0 -0
  1357. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/checklists/requirements.md +0 -0
  1358. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/fr-coverage.json +0 -0
  1359. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/plan.md +0 -0
  1360. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/spec.md +0 -0
  1361. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/tasks.md +0 -0
  1362. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1400-extract-workflow-logic-yaml/test-coverage.json +0 -0
  1363. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/.markdownlint.json +0 -0
  1364. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/analysis-report.md +0 -0
  1365. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/checklists/requirements.md +0 -0
  1366. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/fr-coverage.json +0 -0
  1367. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/plan.md +0 -0
  1368. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/spec.md +0 -0
  1369. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/tasks.md +0 -0
  1370. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1408-migrate-native-spec-kit/test-coverage.json +0 -0
  1371. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/.markdownlint.json +0 -0
  1372. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/analysis-report.md +0 -0
  1373. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/checklists/requirements.md +0 -0
  1374. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/fr-coverage.json +0 -0
  1375. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/plan.md +0 -0
  1376. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/spec.md +0 -0
  1377. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/tasks.md +0 -0
  1378. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1428-implement-langchain-based-pull/test-coverage.json +0 -0
  1379. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/.markdownlint.json +0 -0
  1380. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/analysis-report.md +0 -0
  1381. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/checklists/requirements.md +0 -0
  1382. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/contracts/.gitkeep +0 -0
  1383. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/data-model.md +0 -0
  1384. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/fr-coverage.json +0 -0
  1385. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/plan.md +0 -0
  1386. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/quickstart.md +0 -0
  1387. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/research.md +0 -0
  1388. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/spec.md +0 -0
  1389. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/tasks.md +0 -0
  1390. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1430-langchain-based-work-issue/test-coverage.json +0 -0
  1391. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/.markdownlint.json +0 -0
  1392. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/analysis-report.md +0 -0
  1393. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/checklists/requirements.md +0 -0
  1394. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/fr-coverage.json +0 -0
  1395. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/plan.md +0 -0
  1396. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/spec.md +0 -0
  1397. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/tasks.md +0 -0
  1398. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1432-standardize-copilot-review-response/test-coverage.json +0 -0
  1399. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/.markdownlint.json +0 -0
  1400. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/analysis-report.md +0 -0
  1401. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/checklists/requirements.md +0 -0
  1402. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/fr-coverage.json +0 -0
  1403. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/plan.md +0 -0
  1404. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/spec.md +0 -0
  1405. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/tasks.md +0 -0
  1406. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1435-second-pat-agdt-approver/test-coverage.json +0 -0
  1407. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1444-monorepo-spec-kit-strategy/checklists/requirements.md +0 -0
  1408. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1444-monorepo-spec-kit-strategy/plan.md +0 -0
  1409. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1444-monorepo-spec-kit-strategy/spec.md +0 -0
  1410. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1444-monorepo-spec-kit-strategy/tasks.md +0 -0
  1411. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/.markdownlint.json +0 -0
  1412. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/analysis-report.md +0 -0
  1413. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/checklists/.gitkeep +0 -0
  1414. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/checklists/requirements.md +0 -0
  1415. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/contracts/.gitkeep +0 -0
  1416. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/fr-coverage.json +0 -0
  1417. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/plan.md +0 -0
  1418. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/spec.md +0 -0
  1419. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/tasks.md +0 -0
  1420. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1486-post-agent-copilot-review/test-coverage.json +0 -0
  1421. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/.markdownlint.json +0 -0
  1422. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/analysis-report.md +0 -0
  1423. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/checklists/.gitkeep +0 -0
  1424. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/checklists/requirements.md +0 -0
  1425. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/contracts/.gitkeep +0 -0
  1426. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/fr-coverage.json +0 -0
  1427. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/plan.md +0 -0
  1428. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/spec.md +0 -0
  1429. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/tasks.md +0 -0
  1430. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1503-improve-copilot-review-finalization/test-coverage.json +0 -0
  1431. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/.markdownlint.json +0 -0
  1432. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/analysis-report.md +0 -0
  1433. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/checklists/requirements.md +0 -0
  1434. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/fr-coverage.json +0 -0
  1435. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/plan.md +0 -0
  1436. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/spec.md +0 -0
  1437. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/tasks.md +0 -0
  1438. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1505-structural-validation-and-retry/test-coverage.json +0 -0
  1439. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/.markdownlint.json +0 -0
  1440. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/analysis-report.md +0 -0
  1441. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/checklists/.gitkeep +0 -0
  1442. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/checklists/requirements.md +0 -0
  1443. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/contracts/.gitkeep +0 -0
  1444. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/fr-coverage.json +0 -0
  1445. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/plan.md +0 -0
  1446. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/spec.md +0 -0
  1447. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/tasks.md +0 -0
  1448. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1509-spec-loop-complete-state/test-coverage.json +0 -0
  1449. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/.markdownlint.json +0 -0
  1450. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/analysis-report.md +0 -0
  1451. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/checklists/.gitkeep +0 -0
  1452. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/checklists/requirements.md +0 -0
  1453. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/contracts/.gitkeep +0 -0
  1454. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/data-model.md +0 -0
  1455. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/fr-coverage.json +0 -0
  1456. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/plan.md +0 -0
  1457. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/quickstart.md +0 -0
  1458. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/research.md +0 -0
  1459. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/spec.md +0 -0
  1460. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/tasks.md +0 -0
  1461. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1515-agdt-setup-generates-corrupted/test-coverage.json +0 -0
  1462. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/.markdownlint.json +0 -0
  1463. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/analysis-report.md +0 -0
  1464. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/checklists/.gitkeep +0 -0
  1465. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/checklists/requirements.md +0 -0
  1466. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/contracts/.gitkeep +0 -0
  1467. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/data-model.md +0 -0
  1468. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/fr-coverage.json +0 -0
  1469. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/plan.md +0 -0
  1470. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/quickstart.md +0 -0
  1471. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/research.md +0 -0
  1472. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/spec.md +0 -0
  1473. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/tasks.md +0 -0
  1474. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1517-shared-review-threads-across/test-coverage.json +0 -0
  1475. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/.markdownlint.json +0 -0
  1476. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/analysis-report.md +0 -0
  1477. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/checklists/.gitkeep +0 -0
  1478. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/checklists/requirements.md +0 -0
  1479. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/contracts/.gitkeep +0 -0
  1480. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/data-model.md +0 -0
  1481. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/fr-coverage.json +0 -0
  1482. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/plan.md +0 -0
  1483. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/quickstart.md +0 -0
  1484. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/research.md +0 -0
  1485. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/spec.md +0 -0
  1486. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/tasks.md +0 -0
  1487. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1518-thread-title-formatting-subsequent/test-coverage.json +0 -0
  1488. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/.markdownlint.json +0 -0
  1489. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/analysis-report.md +0 -0
  1490. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/checklists/.gitkeep +0 -0
  1491. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/checklists/requirements.md +0 -0
  1492. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/contracts/.gitkeep +0 -0
  1493. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/fr-coverage.json +0 -0
  1494. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/plan.md +0 -0
  1495. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/spec.md +0 -0
  1496. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/tasks.md +0 -0
  1497. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1519-auto-push-force-lease/test-coverage.json +0 -0
  1498. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/.markdownlint.json +0 -0
  1499. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/analysis-report.md +0 -0
  1500. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/checklists/.gitkeep +0 -0
  1501. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/checklists/requirements.md +0 -0
  1502. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/contracts/.gitkeep +0 -0
  1503. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/fr-coverage.json +0 -0
  1504. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/plan.md +0 -0
  1505. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/spec.md +0 -0
  1506. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/tasks.md +0 -0
  1507. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1523-review-all-files-every/test-coverage.json +0 -0
  1508. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/.markdownlint.json +0 -0
  1509. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/analysis-report.md +0 -0
  1510. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/checklists/.gitkeep +0 -0
  1511. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/checklists/requirements.md +0 -0
  1512. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/contracts/.gitkeep +0 -0
  1513. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/fr-coverage.json +0 -0
  1514. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/plan.md +0 -0
  1515. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/spec.md +0 -0
  1516. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/tasks.md +0 -0
  1517. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1525-parallel-safe-state-isolated/test-coverage.json +0 -0
  1518. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/.markdownlint.json +0 -0
  1519. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/analysis-report.md +0 -0
  1520. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/checklists/.gitkeep +0 -0
  1521. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/checklists/requirements.md +0 -0
  1522. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/contracts/.gitkeep +0 -0
  1523. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/fr-coverage.json +0 -0
  1524. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/plan.md +0 -0
  1525. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/spec.md +0 -0
  1526. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/tasks.md +0 -0
  1527. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1527-consolidate-speckit-issue-trigger/test-coverage.json +0 -0
  1528. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/.markdownlint.json +0 -0
  1529. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/analysis-report.md +0 -0
  1530. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/checklists/.gitkeep +0 -0
  1531. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/checklists/requirements.md +0 -0
  1532. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/contracts/.gitkeep +0 -0
  1533. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/fr-coverage.json +0 -0
  1534. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/plan.md +0 -0
  1535. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/spec.md +0 -0
  1536. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/tasks.md +0 -0
  1537. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1559-refactor-loop-into-idempotent/test-coverage.json +0 -0
  1538. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/.markdownlint.json +0 -0
  1539. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/analysis-report.md +0 -0
  1540. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/checklists/.gitkeep +0 -0
  1541. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/checklists/requirements.md +0 -0
  1542. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/contracts/.gitkeep +0 -0
  1543. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/fr-coverage.json +0 -0
  1544. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/plan.md +0 -0
  1545. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/spec.md +0 -0
  1546. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/tasks.md +0 -0
  1547. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1566-loop-requests-review-before/test-coverage.json +0 -0
  1548. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/.markdownlint.json +0 -0
  1549. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/analysis-report.md +0 -0
  1550. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/checklists/requirements.md +0 -0
  1551. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/fr-coverage.json +0 -0
  1552. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/plan.md +0 -0
  1553. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/spec.md +0 -0
  1554. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/tasks.md +0 -0
  1555. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1568-copilot-session-detection-false-positives/test-coverage.json +0 -0
  1556. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/.markdownlint.json +0 -0
  1557. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/analysis-report.md +0 -0
  1558. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/checklists/requirements.md +0 -0
  1559. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/contracts/.gitkeep +0 -0
  1560. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/fr-coverage.json +0 -0
  1561. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/plan.md +0 -0
  1562. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/spec.md +0 -0
  1563. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/tasks.md +0 -0
  1564. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1569-remove-active-session-precondition/test-coverage.json +0 -0
  1565. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/.markdownlint.json +0 -0
  1566. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/analysis-report.md +0 -0
  1567. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/checklists/.gitkeep +0 -0
  1568. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/checklists/requirements.md +0 -0
  1569. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/contracts/.gitkeep +0 -0
  1570. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/fr-coverage.json +0 -0
  1571. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/plan.md +0 -0
  1572. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/spec.md +0 -0
  1573. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/tasks.md +0 -0
  1574. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1571-improve-speckit-generation-resilience/test-coverage.json +0 -0
  1575. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/.markdownlint.json +0 -0
  1576. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/analysis-report.md +0 -0
  1577. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/checklists/.gitkeep +0 -0
  1578. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/checklists/requirements.md +0 -0
  1579. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/contracts/.gitkeep +0 -0
  1580. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/fr-coverage.json +0 -0
  1581. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/plan.md +0 -0
  1582. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/spec.md +0 -0
  1583. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/tasks.md +0 -0
  1584. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1575-copilot-agent-fallback-speckit/test-coverage.json +0 -0
  1585. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/.markdownlint.json +0 -0
  1586. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/analysis-report.md +0 -0
  1587. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/checklists/requirements.md +0 -0
  1588. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/fr-coverage.json +0 -0
  1589. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/plan.md +0 -0
  1590. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/spec.md +0 -0
  1591. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/tasks.md +0 -0
  1592. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1577-logs-not-visible-loop/test-coverage.json +0 -0
  1593. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/.markdownlint.json +0 -0
  1594. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/analysis-report.md +0 -0
  1595. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/checklists/.gitkeep +0 -0
  1596. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/checklists/requirements.md +0 -0
  1597. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/contracts/.gitkeep +0 -0
  1598. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/fr-coverage.json +0 -0
  1599. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/plan.md +0 -0
  1600. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/spec.md +0 -0
  1601. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/tasks.md +0 -0
  1602. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1580-update-constitution-align-new/test-coverage.json +0 -0
  1603. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/.markdownlint.json +0 -0
  1604. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/analysis-report.md +0 -0
  1605. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/checklists/requirements.md +0 -0
  1606. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/fr-coverage.json +0 -0
  1607. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/plan.md +0 -0
  1608. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/spec.md +0 -0
  1609. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/tasks.md +0 -0
  1610. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1587-feature-webhook-event-driven/test-coverage.json +0 -0
  1611. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/.markdownlint.json +0 -0
  1612. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/analysis-report.md +0 -0
  1613. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/checklists/.gitkeep +0 -0
  1614. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/checklists/requirements.md +0 -0
  1615. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/contracts/.gitkeep +0 -0
  1616. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/data-model.md +0 -0
  1617. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/fr-coverage.json +0 -0
  1618. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/plan.md +0 -0
  1619. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/quickstart.md +0 -0
  1620. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/research.md +0 -0
  1621. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/spec.md +0 -0
  1622. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/tasks.md +0 -0
  1623. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1594-feature-abstract-title-body/test-coverage.json +0 -0
  1624. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/.markdownlint.json +0 -0
  1625. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/analysis-report.md +0 -0
  1626. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/checklists/.gitkeep +0 -0
  1627. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/checklists/requirements.md +0 -0
  1628. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/contracts/.gitkeep +0 -0
  1629. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/fr-coverage.json +0 -0
  1630. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/plan.md +0 -0
  1631. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/spec.md +0 -0
  1632. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/tasks.md +0 -0
  1633. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1617-loop-review-request-logic/test-coverage.json +0 -0
  1634. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/.markdownlint.json +0 -0
  1635. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/analysis-report.md +0 -0
  1636. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/checklists/.gitkeep +0 -0
  1637. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/checklists/requirements.md +0 -0
  1638. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/contracts/.gitkeep +0 -0
  1639. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/fr-coverage.json +0 -0
  1640. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/plan.md +0 -0
  1641. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/spec.md +0 -0
  1642. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/tasks.md +0 -0
  1643. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1620-runner-not-detect-human/test-coverage.json +0 -0
  1644. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/.markdownlint.json +0 -0
  1645. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/analysis-report.md +0 -0
  1646. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/checklists/.gitkeep +0 -0
  1647. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/checklists/requirements.md +0 -0
  1648. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/contracts/.gitkeep +0 -0
  1649. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/fr-coverage.json +0 -0
  1650. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/plan.md +0 -0
  1651. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/spec.md +0 -0
  1652. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/tasks.md +0 -0
  1653. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1642-robust-multi-tiered-thread/test-coverage.json +0 -0
  1654. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/.markdownlint.json +0 -0
  1655. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/analysis-report.md +0 -0
  1656. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/checklists/.gitkeep +0 -0
  1657. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/checklists/requirements.md +0 -0
  1658. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/contracts/.gitkeep +0 -0
  1659. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/fr-coverage.json +0 -0
  1660. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/plan.md +0 -0
  1661. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/spec.md +0 -0
  1662. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/tasks.md +0 -0
  1663. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1643-remove-active-session-gate/test-coverage.json +0 -0
  1664. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/.markdownlint.json +0 -0
  1665. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/analysis-report.md +0 -0
  1666. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/checklists/.gitkeep +0 -0
  1667. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/checklists/requirements.md +0 -0
  1668. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/contracts/.gitkeep +0 -0
  1669. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/fr-coverage.json +0 -0
  1670. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/plan.md +0 -0
  1671. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/spec.md +0 -0
  1672. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/tasks.md +0 -0
  1673. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1653-dispatch-repair-suppressed-copilot/test-coverage.json +0 -0
  1674. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/.markdownlint.json +0 -0
  1675. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/analysis-report.md +0 -0
  1676. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/checklists/.gitkeep +0 -0
  1677. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/checklists/requirements.md +0 -0
  1678. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/contracts/.gitkeep +0 -0
  1679. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/fr-coverage.json +0 -0
  1680. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/plan.md +0 -0
  1681. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/spec.md +0 -0
  1682. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/tasks.md +0 -0
  1683. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1657-update-internal-contribution-docs/test-coverage.json +0 -0
  1684. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/.markdownlint.json +0 -0
  1685. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/analysis-report.md +0 -0
  1686. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/checklists/.gitkeep +0 -0
  1687. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/checklists/requirements.md +0 -0
  1688. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/contracts/.gitkeep +0 -0
  1689. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/fr-coverage.json +0 -0
  1690. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/plan.md +0 -0
  1691. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/spec.md +0 -0
  1692. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/tasks.md +0 -0
  1693. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1659-rfc-replace-agent-session/test-coverage.json +0 -0
  1694. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/.markdownlint.json +0 -0
  1695. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/analysis-report.md +0 -0
  1696. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/checklists/.gitkeep +0 -0
  1697. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/checklists/requirements.md +0 -0
  1698. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/contracts/.gitkeep +0 -0
  1699. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/fr-coverage.json +0 -0
  1700. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/plan.md +0 -0
  1701. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/spec.md +0 -0
  1702. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/tasks.md +0 -0
  1703. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1740-initiate-create-jira-issue/test-coverage.json +0 -0
  1704. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/.markdownlint.json +0 -0
  1705. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/analysis-report.md +0 -0
  1706. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/checklists/.gitkeep +0 -0
  1707. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/checklists/requirements.md +0 -0
  1708. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/contracts/.gitkeep +0 -0
  1709. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/fr-coverage.json +0 -0
  1710. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/plan.md +0 -0
  1711. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/spec.md +0 -0
  1712. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/tasks.md +0 -0
  1713. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1741-create-jira-issue-workflow/test-coverage.json +0 -0
  1714. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/.markdownlint.json +0 -0
  1715. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/analysis-report.md +0 -0
  1716. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/checklists/.gitkeep +0 -0
  1717. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/checklists/requirements.md +0 -0
  1718. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/contracts/.gitkeep +0 -0
  1719. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/fr-coverage.json +0 -0
  1720. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/plan.md +0 -0
  1721. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/spec.md +0 -0
  1722. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/tasks.md +0 -0
  1723. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1746-fix-stale-prompt-file/test-coverage.json +0 -0
  1724. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/.markdownlint.json +0 -0
  1725. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/analysis-report.md +0 -0
  1726. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/checklists/.gitkeep +0 -0
  1727. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/checklists/requirements.md +0 -0
  1728. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/contracts/.gitkeep +0 -0
  1729. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/fr-coverage.json +0 -0
  1730. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/plan.md +0 -0
  1731. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/spec.md +0 -0
  1732. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/tasks.md +0 -0
  1733. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1749-auto-apply-code-review/test-coverage.json +0 -0
  1734. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/.markdownlint.json +0 -0
  1735. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/analysis-report.md +0 -0
  1736. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/checklists/.gitkeep +0 -0
  1737. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/checklists/requirements.md +0 -0
  1738. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/contracts/.gitkeep +0 -0
  1739. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/fr-coverage.json +0 -0
  1740. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/plan.md +0 -0
  1741. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/spec.md +0 -0
  1742. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/tasks.md +0 -0
  1743. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1750-regression-loop-resolution-comment/test-coverage.json +0 -0
  1744. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/.markdownlint.json +0 -0
  1745. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/analysis-report.md +0 -0
  1746. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/checklists/.gitkeep +0 -0
  1747. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/checklists/requirements.md +0 -0
  1748. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/contracts/.gitkeep +0 -0
  1749. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/fr-coverage.json +0 -0
  1750. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/plan.md +0 -0
  1751. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/spec.md +0 -0
  1752. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/tasks.md +0 -0
  1753. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1754-adopt-pip-replacement-faster/test-coverage.json +0 -0
  1754. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/.markdownlint.json +0 -0
  1755. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/analysis-report.md +0 -0
  1756. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/checklists/.gitkeep +0 -0
  1757. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/checklists/requirements.md +0 -0
  1758. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/contracts/.gitkeep +0 -0
  1759. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/fr-coverage.json +0 -0
  1760. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/plan.md +0 -0
  1761. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/spec.md +0 -0
  1762. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/tasks.md +0 -0
  1763. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1755-upgrade-github-copilot-sdk/test-coverage.json +0 -0
  1764. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/.markdownlint.json +0 -0
  1765. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/analysis-report.md +0 -0
  1766. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/checklists/.gitkeep +0 -0
  1767. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/checklists/requirements.md +0 -0
  1768. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/contracts/.gitkeep +0 -0
  1769. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/fr-coverage.json +0 -0
  1770. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/plan.md +0 -0
  1771. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/spec.md +0 -0
  1772. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/tasks.md +0 -0
  1773. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1756-remove-deps-installs-and/test-coverage.json +0 -0
  1774. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/.markdownlint.json +0 -0
  1775. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/analysis-report.md +0 -0
  1776. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/checklists/.gitkeep +0 -0
  1777. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/checklists/requirements.md +0 -0
  1778. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/contracts/.gitkeep +0 -0
  1779. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/fr-coverage.json +0 -0
  1780. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/plan.md +0 -0
  1781. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/spec.md +0 -0
  1782. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/tasks.md +0 -0
  1783. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1759-bug-automatic-assignment-issues/test-coverage.json +0 -0
  1784. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/.markdownlint.json +0 -0
  1785. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/analysis-report.md +0 -0
  1786. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/checklists/.gitkeep +0 -0
  1787. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/checklists/requirements.md +0 -0
  1788. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/contracts/.gitkeep +0 -0
  1789. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/fr-coverage.json +0 -0
  1790. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/plan.md +0 -0
  1791. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/spec.md +0 -0
  1792. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/tasks.md +0 -0
  1793. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1767-rename-workflow-files-clarity/test-coverage.json +0 -0
  1794. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/.markdownlint.json +0 -0
  1795. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/analysis-report.md +0 -0
  1796. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/checklists/.gitkeep +0 -0
  1797. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/checklists/requirements.md +0 -0
  1798. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/contracts/.gitkeep +0 -0
  1799. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/fr-coverage.json +0 -0
  1800. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/plan.md +0 -0
  1801. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/spec.md +0 -0
  1802. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/tasks.md +0 -0
  1803. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1768-handle-proper-rebasing-loop/test-coverage.json +0 -0
  1804. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/.markdownlint.json +0 -0
  1805. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/analysis-report.md +0 -0
  1806. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/checklists/.gitkeep +0 -0
  1807. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/checklists/requirements.md +0 -0
  1808. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/contracts/.gitkeep +0 -0
  1809. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/fr-coverage.json +0 -0
  1810. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/plan.md +0 -0
  1811. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/spec.md +0 -0
  1812. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/tasks.md +0 -0
  1813. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1769-epic-implement-phase-issue/test-coverage.json +0 -0
  1814. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/.markdownlint.json +0 -0
  1815. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/analysis-report.md +0 -0
  1816. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/checklists/.gitkeep +0 -0
  1817. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/checklists/requirements.md +0 -0
  1818. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/contracts/.gitkeep +0 -0
  1819. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/fr-coverage.json +0 -0
  1820. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/plan.md +0 -0
  1821. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/spec.md +0 -0
  1822. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/tasks.md +0 -0
  1823. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1770-feature-provider-adapter-framework/test-coverage.json +0 -0
  1824. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/.markdownlint.json +0 -0
  1825. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/analysis-report.md +0 -0
  1826. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/checklists/.gitkeep +0 -0
  1827. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/checklists/requirements.md +0 -0
  1828. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/contracts/.gitkeep +0 -0
  1829. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/fr-coverage.json +0 -0
  1830. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/plan.md +0 -0
  1831. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/spec.md +0 -0
  1832. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/tasks.md +0 -0
  1833. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1771-subtask-fix-github-adapter/test-coverage.json +0 -0
  1834. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/.markdownlint.json +0 -0
  1835. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/analysis-report.md +0 -0
  1836. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/checklists/.gitkeep +0 -0
  1837. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/checklists/requirements.md +0 -0
  1838. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/contracts/.gitkeep +0 -0
  1839. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/fr-coverage.json +0 -0
  1840. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/plan.md +0 -0
  1841. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/spec.md +0 -0
  1842. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/tasks.md +0 -0
  1843. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1772-subtask-extend-issuedetail-typeddict/test-coverage.json +0 -0
  1844. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/.markdownlint.json +0 -0
  1845. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/analysis-report.md +0 -0
  1846. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/checklists/.gitkeep +0 -0
  1847. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/checklists/requirements.md +0 -0
  1848. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/contracts/.gitkeep +0 -0
  1849. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/fr-coverage.json +0 -0
  1850. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/plan.md +0 -0
  1851. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/spec.md +0 -0
  1852. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/tasks.md +0 -0
  1853. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1773-subtask-normalizedissue-model-and/test-coverage.json +0 -0
  1854. {agentic_devtools-0.2.266/specs/1775-subtask-implement-normalize-jiraadapter → agentic_devtools-0.2.268/specs/1774-subtask-implement-normalize-githubissuesadapter}/.markdownlint.json +0 -0
  1855. {agentic_devtools-0.2.266/specs/1775-subtask-implement-normalize-jiraadapter → agentic_devtools-0.2.268/specs/1774-subtask-implement-normalize-githubissuesadapter}/checklists/.gitkeep +0 -0
  1856. {agentic_devtools-0.2.266/specs/1775-subtask-implement-normalize-jiraadapter → agentic_devtools-0.2.268/specs/1774-subtask-implement-normalize-githubissuesadapter}/contracts/.gitkeep +0 -0
  1857. {agentic_devtools-0.2.266/specs/1776-subtask-implement-normalize-markdownadapter → agentic_devtools-0.2.268/specs/1775-subtask-implement-normalize-jiraadapter}/.markdownlint.json +0 -0
  1858. {agentic_devtools-0.2.266/specs/1776-subtask-implement-normalize-markdownadapter → agentic_devtools-0.2.268/specs/1775-subtask-implement-normalize-jiraadapter}/checklists/.gitkeep +0 -0
  1859. {agentic_devtools-0.2.266/specs/1776-subtask-implement-normalize-markdownadapter → agentic_devtools-0.2.268/specs/1775-subtask-implement-normalize-jiraadapter}/contracts/.gitkeep +0 -0
  1860. {agentic_devtools-0.2.266/specs/1777-subtask-issue-types-and → agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter}/.markdownlint.json +0 -0
  1861. {agentic_devtools-0.2.266/specs/1777-subtask-issue-types-and → agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter}/checklists/.gitkeep +0 -0
  1862. {agentic_devtools-0.2.266/specs/1777-subtask-issue-types-and → agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter}/contracts/.gitkeep +0 -0
  1863. {agentic_devtools-0.2.266/specs/1833-issue-type-config-project → agentic_devtools-0.2.268/specs/1776-subtask-implement-normalize-markdownadapter}/fr-coverage.json +0 -0
  1864. {agentic_devtools-0.2.266/specs/1782-feature-agdt-setup-enhancements → agentic_devtools-0.2.268/specs/1777-subtask-issue-types-and}/.markdownlint.json +0 -0
  1865. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/analysis-report.md +0 -0
  1866. {agentic_devtools-0.2.266/specs/1782-feature-agdt-setup-enhancements → agentic_devtools-0.2.268/specs/1777-subtask-issue-types-and}/checklists/.gitkeep +0 -0
  1867. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/checklists/requirements.md +0 -0
  1868. {agentic_devtools-0.2.266/specs/1782-feature-agdt-setup-enhancements → agentic_devtools-0.2.268/specs/1777-subtask-issue-types-and}/contracts/.gitkeep +0 -0
  1869. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/fr-coverage.json +0 -0
  1870. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/plan.md +0 -0
  1871. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/spec.md +0 -0
  1872. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/tasks.md +0 -0
  1873. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1777-subtask-issue-types-and/test-coverage.json +0 -0
  1874. {agentic_devtools-0.2.266/specs/1795-feature-project-json-configuration → agentic_devtools-0.2.268/specs/1778-subtask-implement-schema-discovery}/.markdownlint.json +0 -0
  1875. {agentic_devtools-0.2.266/specs/1795-feature-project-json-configuration → agentic_devtools-0.2.268/specs/1778-subtask-implement-schema-discovery}/checklists/.gitkeep +0 -0
  1876. {agentic_devtools-0.2.266/specs/1795-feature-project-json-configuration → agentic_devtools-0.2.268/specs/1778-subtask-implement-schema-discovery}/contracts/.gitkeep +0 -0
  1877. {agentic_devtools-0.2.266/specs/1796-subtask-phase-configuration-section → agentic_devtools-0.2.268/specs/1782-feature-agdt-setup-enhancements}/.markdownlint.json +0 -0
  1878. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/analysis-report.md +0 -0
  1879. {agentic_devtools-0.2.266/specs/1796-subtask-phase-configuration-section → agentic_devtools-0.2.268/specs/1782-feature-agdt-setup-enhancements}/checklists/.gitkeep +0 -0
  1880. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/checklists/requirements.md +0 -0
  1881. {agentic_devtools-0.2.266/specs/1796-subtask-phase-configuration-section → agentic_devtools-0.2.268/specs/1782-feature-agdt-setup-enhancements}/contracts/.gitkeep +0 -0
  1882. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/fr-coverage.json +0 -0
  1883. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/plan.md +0 -0
  1884. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/spec.md +0 -0
  1885. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/tasks.md +0 -0
  1886. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1782-feature-agdt-setup-enhancements/test-coverage.json +0 -0
  1887. {agentic_devtools-0.2.266/specs/1828-pull-request-body-template → agentic_devtools-0.2.268/specs/1795-feature-project-json-configuration}/.markdownlint.json +0 -0
  1888. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/analysis-report.md +0 -0
  1889. {agentic_devtools-0.2.266/specs/1828-pull-request-body-template → agentic_devtools-0.2.268/specs/1795-feature-project-json-configuration}/checklists/.gitkeep +0 -0
  1890. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/checklists/requirements.md +0 -0
  1891. {agentic_devtools-0.2.266/specs/1828-pull-request-body-template → agentic_devtools-0.2.268/specs/1795-feature-project-json-configuration}/contracts/.gitkeep +0 -0
  1892. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/fr-coverage.json +0 -0
  1893. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/plan.md +0 -0
  1894. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/spec.md +0 -0
  1895. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/tasks.md +0 -0
  1896. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1795-feature-project-json-configuration/test-coverage.json +0 -0
  1897. {agentic_devtools-0.2.266/specs/1829-jinja2-commit-message-template → agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section}/.markdownlint.json +0 -0
  1898. {agentic_devtools-0.2.266/specs/1829-jinja2-commit-message-template → agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section}/checklists/.gitkeep +0 -0
  1899. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1796-subtask-phase-configuration-section/checklists/requirements.md +0 -0
  1900. {agentic_devtools-0.2.266/specs/1829-jinja2-commit-message-template → agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section}/contracts/.gitkeep +0 -0
  1901. {agentic_devtools-0.2.266/specs/1860-parent-first-enforcement-speckit → agentic_devtools-0.2.268/specs/1796-subtask-phase-configuration-section}/fr-coverage.json +0 -0
  1902. {agentic_devtools-0.2.266/specs/1830-split-create-amend-commit → agentic_devtools-0.2.268/specs/1828-pull-request-body-template}/.markdownlint.json +0 -0
  1903. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/analysis-report.md +0 -0
  1904. {agentic_devtools-0.2.266/specs/1830-split-create-amend-commit → agentic_devtools-0.2.268/specs/1828-pull-request-body-template}/checklists/.gitkeep +0 -0
  1905. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/checklists/requirements.md +0 -0
  1906. {agentic_devtools-0.2.266/specs/1830-split-create-amend-commit → agentic_devtools-0.2.268/specs/1828-pull-request-body-template}/contracts/.gitkeep +0 -0
  1907. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/fr-coverage.json +0 -0
  1908. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/plan.md +0 -0
  1909. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/spec.md +0 -0
  1910. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/tasks.md +0 -0
  1911. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1828-pull-request-body-template/test-coverage.json +0 -0
  1912. {agentic_devtools-0.2.266/specs/1831-dedicated-commit-body-commit → agentic_devtools-0.2.268/specs/1829-jinja2-commit-message-template}/.markdownlint.json +0 -0
  1913. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/analysis-report.md +0 -0
  1914. {agentic_devtools-0.2.266/specs/1831-dedicated-commit-body-commit → agentic_devtools-0.2.268/specs/1829-jinja2-commit-message-template}/checklists/.gitkeep +0 -0
  1915. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/checklists/requirements.md +0 -0
  1916. {agentic_devtools-0.2.266/specs/1831-dedicated-commit-body-commit → agentic_devtools-0.2.268/specs/1829-jinja2-commit-message-template}/contracts/.gitkeep +0 -0
  1917. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/data-model.md +0 -0
  1918. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/fr-coverage.json +0 -0
  1919. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/plan.md +0 -0
  1920. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/quickstart.md +0 -0
  1921. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/research.md +0 -0
  1922. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/spec.md +0 -0
  1923. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/tasks.md +0 -0
  1924. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1829-jinja2-commit-message-template/test-coverage.json +0 -0
  1925. {agentic_devtools-0.2.266/specs/1832-persist-commit-params-and → agentic_devtools-0.2.268/specs/1830-split-create-amend-commit}/.markdownlint.json +0 -0
  1926. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/analysis-report.md +0 -0
  1927. {agentic_devtools-0.2.266/specs/1832-persist-commit-params-and → agentic_devtools-0.2.268/specs/1830-split-create-amend-commit}/checklists/.gitkeep +0 -0
  1928. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/checklists/requirements.md +0 -0
  1929. {agentic_devtools-0.2.266/specs/1832-persist-commit-params-and → agentic_devtools-0.2.268/specs/1830-split-create-amend-commit}/contracts/.gitkeep +0 -0
  1930. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/fr-coverage.json +0 -0
  1931. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/plan.md +0 -0
  1932. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/spec.md +0 -0
  1933. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/tasks.md +0 -0
  1934. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1830-split-create-amend-commit/test-coverage.json +0 -0
  1935. {agentic_devtools-0.2.266/specs/1833-issue-type-config-project → agentic_devtools-0.2.268/specs/1831-dedicated-commit-body-commit}/.markdownlint.json +0 -0
  1936. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/analysis-report.md +0 -0
  1937. {agentic_devtools-0.2.266/specs/1833-issue-type-config-project → agentic_devtools-0.2.268/specs/1831-dedicated-commit-body-commit}/checklists/.gitkeep +0 -0
  1938. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/checklists/requirements.md +0 -0
  1939. {agentic_devtools-0.2.266/specs/1833-issue-type-config-project → agentic_devtools-0.2.268/specs/1831-dedicated-commit-body-commit}/contracts/.gitkeep +0 -0
  1940. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/fr-coverage.json +0 -0
  1941. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/plan.md +0 -0
  1942. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/spec.md +0 -0
  1943. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/tasks.md +0 -0
  1944. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1831-dedicated-commit-body-commit/test-coverage.json +0 -0
  1945. {agentic_devtools-0.2.266/specs/1853-hierarchical-spec-management → agentic_devtools-0.2.268/specs/1832-persist-commit-params-and}/.markdownlint.json +0 -0
  1946. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/analysis-report.md +0 -0
  1947. {agentic_devtools-0.2.266/specs/1853-hierarchical-spec-management → agentic_devtools-0.2.268/specs/1832-persist-commit-params-and}/checklists/.gitkeep +0 -0
  1948. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/checklists/requirements.md +0 -0
  1949. {agentic_devtools-0.2.266/specs/1853-hierarchical-spec-management → agentic_devtools-0.2.268/specs/1832-persist-commit-params-and}/contracts/.gitkeep +0 -0
  1950. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/fr-coverage.json +0 -0
  1951. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/plan.md +0 -0
  1952. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/spec.md +0 -0
  1953. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/tasks.md +0 -0
  1954. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1832-persist-commit-params-and/test-coverage.json +0 -0
  1955. {agentic_devtools-0.2.266/specs/1854-spec-nesting-infrastructure → agentic_devtools-0.2.268/specs/1833-issue-type-config-project}/.markdownlint.json +0 -0
  1956. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/analysis-report.md +0 -0
  1957. {agentic_devtools-0.2.266/specs/1854-spec-nesting-infrastructure → agentic_devtools-0.2.268/specs/1833-issue-type-config-project}/checklists/.gitkeep +0 -0
  1958. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/checklists/requirements.md +0 -0
  1959. {agentic_devtools-0.2.266/specs/1854-spec-nesting-infrastructure → agentic_devtools-0.2.268/specs/1833-issue-type-config-project}/contracts/.gitkeep +0 -0
  1960. {agentic_devtools-0.2.266/specs/1857-implement-jira-hierarchy-detector → agentic_devtools-0.2.268/specs/1833-issue-type-config-project}/fr-coverage.json +0 -0
  1961. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/plan.md +0 -0
  1962. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/spec.md +0 -0
  1963. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/tasks.md +0 -0
  1964. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1833-issue-type-config-project/test-coverage.json +0 -0
  1965. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1835-decouple-squash-review/.markdownlint.json +0 -0
  1966. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1835-decouple-squash-review/spec.md +0 -0
  1967. {agentic_devtools-0.2.266/specs/1855-define-hierarchy-yml-schema → agentic_devtools-0.2.268/specs/1853-hierarchical-spec-management}/.markdownlint.json +0 -0
  1968. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/analysis-report.md +0 -0
  1969. {agentic_devtools-0.2.266/specs/1855-define-hierarchy-yml-schema → agentic_devtools-0.2.268/specs/1853-hierarchical-spec-management}/checklists/.gitkeep +0 -0
  1970. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/checklists/requirements.md +0 -0
  1971. {agentic_devtools-0.2.266/specs/1855-define-hierarchy-yml-schema → agentic_devtools-0.2.268/specs/1853-hierarchical-spec-management}/contracts/.gitkeep +0 -0
  1972. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/fr-coverage.json +0 -0
  1973. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/plan.md +0 -0
  1974. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/spec.md +0 -0
  1975. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/tasks.md +0 -0
  1976. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1853-hierarchical-spec-management/test-coverage.json +0 -0
  1977. {agentic_devtools-0.2.266/specs/1856-implement-github-sub-issues → agentic_devtools-0.2.268/specs/1854-spec-nesting-infrastructure}/.markdownlint.json +0 -0
  1978. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/analysis-report.md +0 -0
  1979. {agentic_devtools-0.2.266/specs/1856-implement-github-sub-issues → agentic_devtools-0.2.268/specs/1854-spec-nesting-infrastructure}/checklists/.gitkeep +0 -0
  1980. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/checklists/requirements.md +0 -0
  1981. {agentic_devtools-0.2.266/specs/1856-implement-github-sub-issues → agentic_devtools-0.2.268/specs/1854-spec-nesting-infrastructure}/contracts/.gitkeep +0 -0
  1982. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/fr-coverage.json +0 -0
  1983. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/plan.md +0 -0
  1984. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/spec.md +0 -0
  1985. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/tasks.md +0 -0
  1986. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1854-spec-nesting-infrastructure/test-coverage.json +0 -0
  1987. {agentic_devtools-0.2.266/specs/1857-implement-jira-hierarchy-detector → agentic_devtools-0.2.268/specs/1855-define-hierarchy-yml-schema}/.markdownlint.json +0 -0
  1988. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/analysis-report.md +0 -0
  1989. {agentic_devtools-0.2.266/specs/1857-implement-jira-hierarchy-detector → agentic_devtools-0.2.268/specs/1855-define-hierarchy-yml-schema}/checklists/.gitkeep +0 -0
  1990. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/checklists/requirements.md +0 -0
  1991. {agentic_devtools-0.2.266/specs/1857-implement-jira-hierarchy-detector → agentic_devtools-0.2.268/specs/1855-define-hierarchy-yml-schema}/contracts/.gitkeep +0 -0
  1992. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/data-model.md +0 -0
  1993. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/fr-coverage.json +0 -0
  1994. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/plan.md +0 -0
  1995. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/quickstart.md +0 -0
  1996. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/research.md +0 -0
  1997. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/spec.md +0 -0
  1998. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/tasks.md +0 -0
  1999. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1855-define-hierarchy-yml-schema/test-coverage.json +0 -0
  2000. {agentic_devtools-0.2.266/specs/1858-update-create-new-feature → agentic_devtools-0.2.268/specs/1856-implement-github-sub-issues}/.markdownlint.json +0 -0
  2001. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/analysis-report.md +0 -0
  2002. {agentic_devtools-0.2.266/specs/1858-update-create-new-feature → agentic_devtools-0.2.268/specs/1856-implement-github-sub-issues}/checklists/.gitkeep +0 -0
  2003. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/checklists/requirements.md +0 -0
  2004. {agentic_devtools-0.2.266/specs/1858-update-create-new-feature → agentic_devtools-0.2.268/specs/1856-implement-github-sub-issues}/contracts/.gitkeep +0 -0
  2005. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/data-model.md +0 -0
  2006. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/fr-coverage.json +0 -0
  2007. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/plan.md +0 -0
  2008. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/quickstart.md +0 -0
  2009. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/research.md +0 -0
  2010. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/spec.md +0 -0
  2011. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/tasks.md +0 -0
  2012. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1856-implement-github-sub-issues/test-coverage.json +0 -0
  2013. {agentic_devtools-0.2.266/specs/1859-implement-level-aware-artifact → agentic_devtools-0.2.268/specs/1857-implement-jira-hierarchy-detector}/.markdownlint.json +0 -0
  2014. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/analysis-report.md +0 -0
  2015. {agentic_devtools-0.2.266/specs/1859-implement-level-aware-artifact → agentic_devtools-0.2.268/specs/1857-implement-jira-hierarchy-detector}/checklists/.gitkeep +0 -0
  2016. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/checklists/requirements.md +0 -0
  2017. {agentic_devtools-0.2.266/specs/1859-implement-level-aware-artifact → agentic_devtools-0.2.268/specs/1857-implement-jira-hierarchy-detector}/contracts/.gitkeep +0 -0
  2018. {agentic_devtools-0.2.266/specs/1914-bug-agdt-advance-workflow → agentic_devtools-0.2.268/specs/1857-implement-jira-hierarchy-detector}/fr-coverage.json +0 -0
  2019. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/plan.md +0 -0
  2020. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/spec.md +0 -0
  2021. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/tasks.md +0 -0
  2022. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1857-implement-jira-hierarchy-detector/test-coverage.json +0 -0
  2023. {agentic_devtools-0.2.266/specs/1860-parent-first-enforcement-speckit → agentic_devtools-0.2.268/specs/1858-update-create-new-feature}/.markdownlint.json +0 -0
  2024. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/analysis-report.md +0 -0
  2025. {agentic_devtools-0.2.266/specs/1860-parent-first-enforcement-speckit → agentic_devtools-0.2.268/specs/1858-update-create-new-feature}/checklists/.gitkeep +0 -0
  2026. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/checklists/requirements.md +0 -0
  2027. {agentic_devtools-0.2.266/specs/1860-parent-first-enforcement-speckit → agentic_devtools-0.2.268/specs/1858-update-create-new-feature}/contracts/.gitkeep +0 -0
  2028. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/fr-coverage.json +0 -0
  2029. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/plan.md +0 -0
  2030. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/spec.md +0 -0
  2031. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/tasks.md +0 -0
  2032. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1858-update-create-new-feature/test-coverage.json +0 -0
  2033. {agentic_devtools-0.2.266/specs/1862-ordering-determinism-via-hierarchy → agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact}/.markdownlint.json +0 -0
  2034. {agentic_devtools-0.2.266/specs/1862-ordering-determinism-via-hierarchy → agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact}/checklists/.gitkeep +0 -0
  2035. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1859-implement-level-aware-artifact/checklists/requirements.md +0 -0
  2036. {agentic_devtools-0.2.266/specs/1862-ordering-determinism-via-hierarchy → agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact}/contracts/.gitkeep +0 -0
  2037. {agentic_devtools-0.2.266/specs/2029-agent-batch-audit-reviews → agentic_devtools-0.2.268/specs/1859-implement-level-aware-artifact}/fr-coverage.json +0 -0
  2038. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1859-implement-level-aware-artifact/plan.md +0 -0
  2039. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1859-implement-level-aware-artifact/spec.md +0 -0
  2040. {agentic_devtools-0.2.266/specs/1875-fully-autonomous-langchain-workflow → agentic_devtools-0.2.268/specs/1860-parent-first-enforcement-speckit}/.markdownlint.json +0 -0
  2041. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/analysis-report.md +0 -0
  2042. {agentic_devtools-0.2.266/specs/1875-fully-autonomous-langchain-workflow → agentic_devtools-0.2.268/specs/1860-parent-first-enforcement-speckit}/checklists/.gitkeep +0 -0
  2043. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/checklists/requirements.md +0 -0
  2044. {agentic_devtools-0.2.266/specs/1875-fully-autonomous-langchain-workflow → agentic_devtools-0.2.268/specs/1860-parent-first-enforcement-speckit}/contracts/.gitkeep +0 -0
  2045. {agentic_devtools-0.2.266/specs/1879-implement-tool-binding-layer → agentic_devtools-0.2.268/specs/1860-parent-first-enforcement-speckit}/fr-coverage.json +0 -0
  2046. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/plan.md +0 -0
  2047. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/spec.md +0 -0
  2048. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/tasks.md +0 -0
  2049. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1860-parent-first-enforcement-speckit/test-coverage.json +0 -0
  2050. {agentic_devtools-0.2.266/specs/1876-langchain-orchestration-foundation → agentic_devtools-0.2.268/specs/1862-ordering-determinism-via-hierarchy}/.markdownlint.json +0 -0
  2051. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/analysis-report.md +0 -0
  2052. {agentic_devtools-0.2.266/specs/1876-langchain-orchestration-foundation → agentic_devtools-0.2.268/specs/1862-ordering-determinism-via-hierarchy}/checklists/.gitkeep +0 -0
  2053. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/checklists/requirements.md +0 -0
  2054. {agentic_devtools-0.2.266/specs/1876-langchain-orchestration-foundation → agentic_devtools-0.2.268/specs/1862-ordering-determinism-via-hierarchy}/contracts/.gitkeep +0 -0
  2055. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/data-model.md +0 -0
  2056. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/fr-coverage.json +0 -0
  2057. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/plan.md +0 -0
  2058. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/quickstart.md +0 -0
  2059. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/research.md +0 -0
  2060. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/spec.md +0 -0
  2061. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/tasks.md +0 -0
  2062. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1862-ordering-determinism-via-hierarchy/test-coverage.json +0 -0
  2063. {agentic_devtools-0.2.266/specs/1877-define-autonomous-execution-model → agentic_devtools-0.2.268/specs/1875-fully-autonomous-langchain-workflow}/.markdownlint.json +0 -0
  2064. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/analysis-report.md +0 -0
  2065. {agentic_devtools-0.2.266/specs/1877-define-autonomous-execution-model → agentic_devtools-0.2.268/specs/1875-fully-autonomous-langchain-workflow}/checklists/.gitkeep +0 -0
  2066. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/checklists/requirements.md +0 -0
  2067. {agentic_devtools-0.2.266/specs/1877-define-autonomous-execution-model → agentic_devtools-0.2.268/specs/1875-fully-autonomous-langchain-workflow}/contracts/.gitkeep +0 -0
  2068. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/fr-coverage.json +0 -0
  2069. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/plan.md +0 -0
  2070. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/spec.md +0 -0
  2071. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/tasks.md +0 -0
  2072. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1875-fully-autonomous-langchain-workflow/test-coverage.json +0 -0
  2073. {agentic_devtools-0.2.266/specs/1878-implement-llm-provider-and → agentic_devtools-0.2.268/specs/1876-langchain-orchestration-foundation}/.markdownlint.json +0 -0
  2074. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/analysis-report.md +0 -0
  2075. {agentic_devtools-0.2.266/specs/1878-implement-llm-provider-and → agentic_devtools-0.2.268/specs/1876-langchain-orchestration-foundation}/checklists/.gitkeep +0 -0
  2076. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/checklists/requirements.md +0 -0
  2077. {agentic_devtools-0.2.266/specs/1878-implement-llm-provider-and → agentic_devtools-0.2.268/specs/1876-langchain-orchestration-foundation}/contracts/.gitkeep +0 -0
  2078. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/fr-coverage.json +0 -0
  2079. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/plan.md +0 -0
  2080. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/spec.md +0 -0
  2081. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/tasks.md +0 -0
  2082. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1876-langchain-orchestration-foundation/test-coverage.json +0 -0
  2083. {agentic_devtools-0.2.266/specs/1879-implement-tool-binding-layer → agentic_devtools-0.2.268/specs/1877-define-autonomous-execution-model}/.markdownlint.json +0 -0
  2084. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/analysis-report.md +0 -0
  2085. {agentic_devtools-0.2.266/specs/1879-implement-tool-binding-layer → agentic_devtools-0.2.268/specs/1877-define-autonomous-execution-model}/checklists/.gitkeep +0 -0
  2086. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/checklists/requirements.md +0 -0
  2087. {agentic_devtools-0.2.266/specs/1879-implement-tool-binding-layer → agentic_devtools-0.2.268/specs/1877-define-autonomous-execution-model}/contracts/.gitkeep +0 -0
  2088. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/data-model.md +0 -0
  2089. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/fr-coverage.json +0 -0
  2090. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/plan.md +0 -0
  2091. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/quickstart.md +0 -0
  2092. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/spec.md +0 -0
  2093. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/tasks.md +0 -0
  2094. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1877-define-autonomous-execution-model/test-coverage.json +0 -0
  2095. {agentic_devtools-0.2.266/specs/1880-implement-structured-llm-output → agentic_devtools-0.2.268/specs/1878-implement-llm-provider-and}/.markdownlint.json +0 -0
  2096. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/analysis-report.md +0 -0
  2097. {agentic_devtools-0.2.266/specs/1880-implement-structured-llm-output → agentic_devtools-0.2.268/specs/1878-implement-llm-provider-and}/checklists/.gitkeep +0 -0
  2098. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/checklists/requirements.md +0 -0
  2099. {agentic_devtools-0.2.266/specs/1880-implement-structured-llm-output → agentic_devtools-0.2.268/specs/1878-implement-llm-provider-and}/contracts/.gitkeep +0 -0
  2100. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/data-model.md +0 -0
  2101. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/fr-coverage.json +0 -0
  2102. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/plan.md +0 -0
  2103. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/quickstart.md +0 -0
  2104. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/spec.md +0 -0
  2105. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/tasks.md +0 -0
  2106. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1878-implement-llm-provider-and/test-coverage.json +0 -0
  2107. {agentic_devtools-0.2.266/specs/1881-implement-execution-safety-policy → agentic_devtools-0.2.268/specs/1879-implement-tool-binding-layer}/.markdownlint.json +0 -0
  2108. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/analysis-report.md +0 -0
  2109. {agentic_devtools-0.2.266/specs/1881-implement-execution-safety-policy → agentic_devtools-0.2.268/specs/1879-implement-tool-binding-layer}/checklists/.gitkeep +0 -0
  2110. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/checklists/requirements.md +0 -0
  2111. {agentic_devtools-0.2.266/specs/1881-implement-execution-safety-policy → agentic_devtools-0.2.268/specs/1879-implement-tool-binding-layer}/contracts/.gitkeep +0 -0
  2112. {agentic_devtools-0.2.266/specs/2068-apply-suggestions-misses-committable → agentic_devtools-0.2.268/specs/1879-implement-tool-binding-layer}/fr-coverage.json +0 -0
  2113. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/plan.md +0 -0
  2114. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/spec.md +0 -0
  2115. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/tasks.md +0 -0
  2116. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1879-implement-tool-binding-layer/test-coverage.json +0 -0
  2117. {agentic_devtools-0.2.266/specs/1882-implement-autonomous-decision-policy → agentic_devtools-0.2.268/specs/1880-implement-structured-llm-output}/.markdownlint.json +0 -0
  2118. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/analysis-report.md +0 -0
  2119. {agentic_devtools-0.2.266/specs/1882-implement-autonomous-decision-policy → agentic_devtools-0.2.268/specs/1880-implement-structured-llm-output}/checklists/.gitkeep +0 -0
  2120. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/checklists/requirements.md +0 -0
  2121. {agentic_devtools-0.2.266/specs/1882-implement-autonomous-decision-policy → agentic_devtools-0.2.268/specs/1880-implement-structured-llm-output}/contracts/.gitkeep +0 -0
  2122. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/fr-coverage.json +0 -0
  2123. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/plan.md +0 -0
  2124. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/spec.md +0 -0
  2125. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/tasks.md +0 -0
  2126. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1880-implement-structured-llm-output/test-coverage.json +0 -0
  2127. {agentic_devtools-0.2.266/specs/1884-implement-minimal-observability-langgraph → agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy}/.markdownlint.json +0 -0
  2128. {agentic_devtools-0.2.266/specs/1884-implement-minimal-observability-langgraph → agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy}/checklists/.gitkeep +0 -0
  2129. {agentic_devtools-0.2.266/specs/1884-implement-minimal-observability-langgraph → agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy}/contracts/.gitkeep +0 -0
  2130. {agentic_devtools-0.2.266/specs/2102-implement-pydantic-models-and → agentic_devtools-0.2.268/specs/1881-implement-execution-safety-policy}/fr-coverage.json +0 -0
  2131. {agentic_devtools-0.2.266/specs/1885-map-event-driven-workflow → agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy}/.markdownlint.json +0 -0
  2132. {agentic_devtools-0.2.266/specs/1885-map-event-driven-workflow → agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy}/checklists/.gitkeep +0 -0
  2133. {agentic_devtools-0.2.266/specs/1885-map-event-driven-workflow → agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy}/contracts/.gitkeep +0 -0
  2134. {agentic_devtools-0.2.266/specs/2031-document-structured-preparation-abstraction → agentic_devtools-0.2.268/specs/1882-implement-autonomous-decision-policy}/fr-coverage.json +0 -0
  2135. {agentic_devtools-0.2.266/specs/1912-bug-duplicate-copilot-sessions → agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph}/.markdownlint.json +0 -0
  2136. {agentic_devtools-0.2.266/specs/1912-bug-duplicate-copilot-sessions → agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph}/checklists/.gitkeep +0 -0
  2137. {agentic_devtools-0.2.266/specs/1912-bug-duplicate-copilot-sessions → agentic_devtools-0.2.268/specs/1884-implement-minimal-observability-langgraph}/contracts/.gitkeep +0 -0
  2138. {agentic_devtools-0.2.266/specs/1913-bug-review-workflow-state → agentic_devtools-0.2.268/specs/1885-map-event-driven-workflow}/.markdownlint.json +0 -0
  2139. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/analysis-report.md +0 -0
  2140. {agentic_devtools-0.2.266/specs/1913-bug-review-workflow-state → agentic_devtools-0.2.268/specs/1885-map-event-driven-workflow}/checklists/.gitkeep +0 -0
  2141. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/checklists/requirements.md +0 -0
  2142. {agentic_devtools-0.2.266/specs/1913-bug-review-workflow-state → agentic_devtools-0.2.268/specs/1885-map-event-driven-workflow}/contracts/.gitkeep +0 -0
  2143. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/data-model.md +0 -0
  2144. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/fr-coverage.json +0 -0
  2145. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/plan.md +0 -0
  2146. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/quickstart.md +0 -0
  2147. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/research.md +0 -0
  2148. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/spec.md +0 -0
  2149. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/tasks.md +0 -0
  2150. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1885-map-event-driven-workflow/test-coverage.json +0 -0
  2151. {agentic_devtools-0.2.266/specs/1914-bug-agdt-advance-workflow → agentic_devtools-0.2.268/specs/1912-bug-duplicate-copilot-sessions}/.markdownlint.json +0 -0
  2152. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/analysis-report.md +0 -0
  2153. {agentic_devtools-0.2.266/specs/1914-bug-agdt-advance-workflow → agentic_devtools-0.2.268/specs/1912-bug-duplicate-copilot-sessions}/checklists/.gitkeep +0 -0
  2154. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/checklists/requirements.md +0 -0
  2155. {agentic_devtools-0.2.266/specs/1914-bug-agdt-advance-workflow → agentic_devtools-0.2.268/specs/1912-bug-duplicate-copilot-sessions}/contracts/.gitkeep +0 -0
  2156. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/fr-coverage.json +0 -0
  2157. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/plan.md +0 -0
  2158. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/spec.md +0 -0
  2159. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/tasks.md +0 -0
  2160. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1912-bug-duplicate-copilot-sessions/test-coverage.json +0 -0
  2161. {agentic_devtools-0.2.266/specs/1915-review-scaffolding-403-cross → agentic_devtools-0.2.268/specs/1913-bug-review-workflow-state}/.markdownlint.json +0 -0
  2162. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/analysis-report.md +0 -0
  2163. {agentic_devtools-0.2.266/specs/1915-review-scaffolding-403-cross → agentic_devtools-0.2.268/specs/1913-bug-review-workflow-state}/checklists/.gitkeep +0 -0
  2164. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/checklists/requirements.md +0 -0
  2165. {agentic_devtools-0.2.266/specs/1915-review-scaffolding-403-cross → agentic_devtools-0.2.268/specs/1913-bug-review-workflow-state}/contracts/.gitkeep +0 -0
  2166. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/data-model.md +0 -0
  2167. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/fr-coverage.json +0 -0
  2168. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/plan.md +0 -0
  2169. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/quickstart.md +0 -0
  2170. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/research.md +0 -0
  2171. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/spec.md +0 -0
  2172. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/tasks.md +0 -0
  2173. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1913-bug-review-workflow-state/test-coverage.json +0 -0
  2174. {agentic_devtools-0.2.266/specs/1916-loop-handle-commit-needed → agentic_devtools-0.2.268/specs/1914-bug-agdt-advance-workflow}/.markdownlint.json +0 -0
  2175. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/analysis-report.md +0 -0
  2176. {agentic_devtools-0.2.266/specs/1916-loop-handle-commit-needed → agentic_devtools-0.2.268/specs/1914-bug-agdt-advance-workflow}/checklists/.gitkeep +0 -0
  2177. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/checklists/requirements.md +0 -0
  2178. {agentic_devtools-0.2.266/specs/1916-loop-handle-commit-needed → agentic_devtools-0.2.268/specs/1914-bug-agdt-advance-workflow}/contracts/.gitkeep +0 -0
  2179. {agentic_devtools-0.2.266/specs/1915-review-scaffolding-403-cross → agentic_devtools-0.2.268/specs/1914-bug-agdt-advance-workflow}/fr-coverage.json +0 -0
  2180. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/plan.md +0 -0
  2181. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/spec.md +0 -0
  2182. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/tasks.md +0 -0
  2183. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1914-bug-agdt-advance-workflow/test-coverage.json +0 -0
  2184. {agentic_devtools-0.2.266/specs/1938-implement-reusable-provider-abstracted → agentic_devtools-0.2.268/specs/1915-review-scaffolding-403-cross}/.markdownlint.json +0 -0
  2185. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/analysis-report.md +0 -0
  2186. {agentic_devtools-0.2.266/specs/1938-implement-reusable-provider-abstracted → agentic_devtools-0.2.268/specs/1915-review-scaffolding-403-cross}/checklists/.gitkeep +0 -0
  2187. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/checklists/requirements.md +0 -0
  2188. {agentic_devtools-0.2.266/specs/1938-implement-reusable-provider-abstracted → agentic_devtools-0.2.268/specs/1915-review-scaffolding-403-cross}/contracts/.gitkeep +0 -0
  2189. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/data-model.md +0 -0
  2190. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/plan.md +0 -0
  2191. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/quickstart.md +0 -0
  2192. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/research.md +0 -0
  2193. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/spec.md +0 -0
  2194. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/tasks.md +0 -0
  2195. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1915-review-scaffolding-403-cross/test-coverage.json +0 -0
  2196. {agentic_devtools-0.2.266/specs/2029-agent-batch-audit-reviews → agentic_devtools-0.2.268/specs/1916-loop-handle-commit-needed}/.markdownlint.json +0 -0
  2197. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/analysis-report.md +0 -0
  2198. {agentic_devtools-0.2.266/specs/2029-agent-batch-audit-reviews → agentic_devtools-0.2.268/specs/1916-loop-handle-commit-needed}/checklists/.gitkeep +0 -0
  2199. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/checklists/requirements.md +0 -0
  2200. {agentic_devtools-0.2.266/specs/2029-agent-batch-audit-reviews → agentic_devtools-0.2.268/specs/1916-loop-handle-commit-needed}/contracts/.gitkeep +0 -0
  2201. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/fr-coverage.json +0 -0
  2202. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/plan.md +0 -0
  2203. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/spec.md +0 -0
  2204. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/tasks.md +0 -0
  2205. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1916-loop-handle-commit-needed/test-coverage.json +0 -0
  2206. {agentic_devtools-0.2.266/specs/2031-document-structured-preparation-abstraction → agentic_devtools-0.2.268/specs/1938-implement-reusable-provider-abstracted}/.markdownlint.json +0 -0
  2207. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/analysis-report.md +0 -0
  2208. {agentic_devtools-0.2.266/specs/2031-document-structured-preparation-abstraction → agentic_devtools-0.2.268/specs/1938-implement-reusable-provider-abstracted}/checklists/.gitkeep +0 -0
  2209. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/checklists/requirements.md +0 -0
  2210. {agentic_devtools-0.2.266/specs/2031-document-structured-preparation-abstraction → agentic_devtools-0.2.268/specs/1938-implement-reusable-provider-abstracted}/contracts/.gitkeep +0 -0
  2211. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/fr-coverage.json +0 -0
  2212. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/plan.md +0 -0
  2213. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/spec.md +0 -0
  2214. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/tasks.md +0 -0
  2215. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/1938-implement-reusable-provider-abstracted/test-coverage.json +0 -0
  2216. {agentic_devtools-0.2.266/specs/2033-feat-round-robin-scheduling → agentic_devtools-0.2.268/specs/2029-agent-batch-audit-reviews}/.markdownlint.json +0 -0
  2217. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/analysis-report.md +0 -0
  2218. {agentic_devtools-0.2.266/specs/2033-feat-round-robin-scheduling → agentic_devtools-0.2.268/specs/2029-agent-batch-audit-reviews}/checklists/.gitkeep +0 -0
  2219. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/checklists/requirements.md +0 -0
  2220. {agentic_devtools-0.2.266/specs/2033-feat-round-robin-scheduling → agentic_devtools-0.2.268/specs/2029-agent-batch-audit-reviews}/contracts/.gitkeep +0 -0
  2221. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/plan.md +0 -0
  2222. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/spec.md +0 -0
  2223. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/tasks.md +0 -0
  2224. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2029-agent-batch-audit-reviews/test-coverage.json +0 -0
  2225. {agentic_devtools-0.2.266/specs/2068-apply-suggestions-misses-committable → agentic_devtools-0.2.268/specs/2031-document-structured-preparation-abstraction}/.markdownlint.json +0 -0
  2226. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/analysis-report.md +0 -0
  2227. {agentic_devtools-0.2.266/specs/2068-apply-suggestions-misses-committable → agentic_devtools-0.2.268/specs/2031-document-structured-preparation-abstraction}/checklists/.gitkeep +0 -0
  2228. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/checklists/requirements.md +0 -0
  2229. {agentic_devtools-0.2.266/specs/2068-apply-suggestions-misses-committable → agentic_devtools-0.2.268/specs/2031-document-structured-preparation-abstraction}/contracts/.gitkeep +0 -0
  2230. {agentic_devtools-0.2.266/specs/2100-epic-tree-schema-validation → agentic_devtools-0.2.268/specs/2031-document-structured-preparation-abstraction}/fr-coverage.json +0 -0
  2231. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/plan.md +0 -0
  2232. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/spec.md +0 -0
  2233. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/tasks.md +0 -0
  2234. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2031-document-structured-preparation-abstraction/test-coverage.json +0 -0
  2235. {agentic_devtools-0.2.266/specs/2099-standardize-and-automate-epic → agentic_devtools-0.2.268/specs/2033-feat-round-robin-scheduling}/.markdownlint.json +0 -0
  2236. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/analysis-report.md +0 -0
  2237. {agentic_devtools-0.2.266/specs/2099-standardize-and-automate-epic → agentic_devtools-0.2.268/specs/2033-feat-round-robin-scheduling}/checklists/.gitkeep +0 -0
  2238. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/checklists/requirements.md +0 -0
  2239. {agentic_devtools-0.2.266/specs/2099-standardize-and-automate-epic → agentic_devtools-0.2.268/specs/2033-feat-round-robin-scheduling}/contracts/.gitkeep +0 -0
  2240. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/fr-coverage.json +0 -0
  2241. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/plan.md +0 -0
  2242. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/spec.md +0 -0
  2243. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/tasks.md +0 -0
  2244. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2033-feat-round-robin-scheduling/test-coverage.json +0 -0
  2245. {agentic_devtools-0.2.266/specs/2100-epic-tree-schema-validation → agentic_devtools-0.2.268/specs/2068-apply-suggestions-misses-committable}/.markdownlint.json +0 -0
  2246. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/analysis-report.md +0 -0
  2247. {agentic_devtools-0.2.266/specs/2100-epic-tree-schema-validation → agentic_devtools-0.2.268/specs/2068-apply-suggestions-misses-committable}/checklists/.gitkeep +0 -0
  2248. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/checklists/requirements.md +0 -0
  2249. {agentic_devtools-0.2.266/specs/2100-epic-tree-schema-validation → agentic_devtools-0.2.268/specs/2068-apply-suggestions-misses-committable}/contracts/.gitkeep +0 -0
  2250. {agentic_devtools-0.2.266/specs/2301-feature-context-aware-conditional → agentic_devtools-0.2.268/specs/2068-apply-suggestions-misses-committable}/fr-coverage.json +0 -0
  2251. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/plan.md +0 -0
  2252. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/spec.md +0 -0
  2253. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/tasks.md +0 -0
  2254. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2068-apply-suggestions-misses-committable/test-coverage.json +0 -0
  2255. {agentic_devtools-0.2.266/specs/2101-define-epic-tree-json → agentic_devtools-0.2.268/specs/2099-standardize-and-automate-epic}/.markdownlint.json +0 -0
  2256. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/analysis-report.md +0 -0
  2257. {agentic_devtools-0.2.266/specs/2101-define-epic-tree-json → agentic_devtools-0.2.268/specs/2099-standardize-and-automate-epic}/checklists/.gitkeep +0 -0
  2258. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/checklists/requirements.md +0 -0
  2259. {agentic_devtools-0.2.266/specs/2101-define-epic-tree-json → agentic_devtools-0.2.268/specs/2099-standardize-and-automate-epic}/contracts/.gitkeep +0 -0
  2260. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/fr-coverage.json +0 -0
  2261. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/plan.md +0 -0
  2262. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/spec.md +0 -0
  2263. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/tasks.md +0 -0
  2264. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2099-standardize-and-automate-epic/test-coverage.json +0 -0
  2265. {agentic_devtools-0.2.266/specs/2102-implement-pydantic-models-and → agentic_devtools-0.2.268/specs/2100-epic-tree-schema-validation}/.markdownlint.json +0 -0
  2266. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/analysis-report.md +0 -0
  2267. {agentic_devtools-0.2.266/specs/2102-implement-pydantic-models-and → agentic_devtools-0.2.268/specs/2100-epic-tree-schema-validation}/checklists/.gitkeep +0 -0
  2268. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/checklists/requirements.md +0 -0
  2269. {agentic_devtools-0.2.266/specs/2102-implement-pydantic-models-and → agentic_devtools-0.2.268/specs/2100-epic-tree-schema-validation}/contracts/.gitkeep +0 -0
  2270. {agentic_devtools-0.2.266/specs/2313-feature-one-command-agdt → agentic_devtools-0.2.268/specs/2100-epic-tree-schema-validation}/fr-coverage.json +0 -0
  2271. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/plan.md +0 -0
  2272. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/spec.md +0 -0
  2273. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/tasks.md +0 -0
  2274. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2100-epic-tree-schema-validation/test-coverage.json +0 -0
  2275. {agentic_devtools-0.2.266/specs/2103-auto-derive-epic-feature → agentic_devtools-0.2.268/specs/2101-define-epic-tree-json}/.markdownlint.json +0 -0
  2276. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/analysis-report.md +0 -0
  2277. {agentic_devtools-0.2.266/specs/2103-auto-derive-epic-feature → agentic_devtools-0.2.268/specs/2101-define-epic-tree-json}/checklists/.gitkeep +0 -0
  2278. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/checklists/requirements.md +0 -0
  2279. {agentic_devtools-0.2.266/specs/2103-auto-derive-epic-feature → agentic_devtools-0.2.268/specs/2101-define-epic-tree-json}/contracts/.gitkeep +0 -0
  2280. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/data-model.md +0 -0
  2281. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/fr-coverage.json +0 -0
  2282. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/plan.md +0 -0
  2283. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/quickstart.md +0 -0
  2284. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/research.md +0 -0
  2285. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/spec.md +0 -0
  2286. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/tasks.md +0 -0
  2287. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2101-define-epic-tree-json/test-coverage.json +0 -0
  2288. {agentic_devtools-0.2.266/specs/2104-resolve-execution-order-default → agentic_devtools-0.2.268/specs/2102-implement-pydantic-models-and}/.markdownlint.json +0 -0
  2289. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/analysis-report.md +0 -0
  2290. {agentic_devtools-0.2.266/specs/2104-resolve-execution-order-default → agentic_devtools-0.2.268/specs/2102-implement-pydantic-models-and}/checklists/.gitkeep +0 -0
  2291. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/checklists/requirements.md +0 -0
  2292. {agentic_devtools-0.2.266/specs/2104-resolve-execution-order-default → agentic_devtools-0.2.268/specs/2102-implement-pydantic-models-and}/contracts/.gitkeep +0 -0
  2293. {agentic_devtools-0.2.266/specs/2326-subtask-adopt-backing-jira → agentic_devtools-0.2.268/specs/2102-implement-pydantic-models-and}/fr-coverage.json +0 -0
  2294. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/plan.md +0 -0
  2295. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/spec.md +0 -0
  2296. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/tasks.md +0 -0
  2297. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2102-implement-pydantic-models-and/test-coverage.json +0 -0
  2298. {agentic_devtools-0.2.266/specs/2105-resolve-and-validate-blocking → agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature}/.markdownlint.json +0 -0
  2299. {agentic_devtools-0.2.266/specs/2105-resolve-and-validate-blocking → agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature}/checklists/.gitkeep +0 -0
  2300. {agentic_devtools-0.2.266/specs/2105-resolve-and-validate-blocking → agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature}/contracts/.gitkeep +0 -0
  2301. {agentic_devtools-0.2.266/specs/2319-feature-setup-robustness-conditional → agentic_devtools-0.2.268/specs/2103-auto-derive-epic-feature}/fr-coverage.json +0 -0
  2302. {agentic_devtools-0.2.266/specs/2106-load-config-driven-validation → agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default}/.markdownlint.json +0 -0
  2303. {agentic_devtools-0.2.266/specs/2106-load-config-driven-validation → agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default}/checklists/.gitkeep +0 -0
  2304. {agentic_devtools-0.2.266/specs/2106-load-config-driven-validation → agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default}/contracts/.gitkeep +0 -0
  2305. {agentic_devtools-0.2.266/specs/2307-feature-setup-observability-substrate → agentic_devtools-0.2.268/specs/2104-resolve-execution-order-default}/fr-coverage.json +0 -0
  2306. {agentic_devtools-0.2.266/specs/2108-provider-adapter-layer-github → agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking}/.markdownlint.json +0 -0
  2307. {agentic_devtools-0.2.266/specs/2108-provider-adapter-layer-github → agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking}/checklists/.gitkeep +0 -0
  2308. {agentic_devtools-0.2.266/specs/2108-provider-adapter-layer-github → agentic_devtools-0.2.268/specs/2105-resolve-and-validate-blocking}/contracts/.gitkeep +0 -0
  2309. {agentic_devtools-0.2.266/specs/2292-epic-agdt-setup-autonomous → agentic_devtools-0.2.268/specs/2106-load-config-driven-validation}/.markdownlint.json +0 -0
  2310. {agentic_devtools-0.2.266/specs/2292-epic-agdt-setup-autonomous → agentic_devtools-0.2.268/specs/2106-load-config-driven-validation}/checklists/.gitkeep +0 -0
  2311. {agentic_devtools-0.2.266/specs/2292-epic-agdt-setup-autonomous → agentic_devtools-0.2.268/specs/2106-load-config-driven-validation}/contracts/.gitkeep +0 -0
  2312. {agentic_devtools-0.2.266/specs/2293-feature-autonomous-agdt-run → agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github}/.markdownlint.json +0 -0
  2313. {agentic_devtools-0.2.266/specs/2293-feature-autonomous-agdt-run → agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github}/checklists/.gitkeep +0 -0
  2314. {agentic_devtools-0.2.266/specs/2293-feature-autonomous-agdt-run → agentic_devtools-0.2.268/specs/2108-provider-adapter-layer-github}/contracts/.gitkeep +0 -0
  2315. {agentic_devtools-0.2.266/specs/2294-subtask-output-sanitizer-setup → agentic_devtools-0.2.268/specs/2292-epic-agdt-setup-autonomous}/.markdownlint.json +0 -0
  2316. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/analysis-report.md +0 -0
  2317. {agentic_devtools-0.2.266/specs/2294-subtask-output-sanitizer-setup → agentic_devtools-0.2.268/specs/2292-epic-agdt-setup-autonomous}/checklists/.gitkeep +0 -0
  2318. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/checklists/requirements.md +0 -0
  2319. {agentic_devtools-0.2.266/specs/2294-subtask-output-sanitizer-setup → agentic_devtools-0.2.268/specs/2292-epic-agdt-setup-autonomous}/contracts/.gitkeep +0 -0
  2320. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/fr-coverage.json +0 -0
  2321. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/plan.md +0 -0
  2322. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/spec.md +0 -0
  2323. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/tasks.md +0 -0
  2324. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2292-epic-agdt-setup-autonomous/test-coverage.json +0 -0
  2325. {agentic_devtools-0.2.266/specs/2295-subtask-deterministic-error-signature → agentic_devtools-0.2.268/specs/2293-feature-autonomous-agdt-run}/.markdownlint.json +0 -0
  2326. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/analysis-report.md +0 -0
  2327. {agentic_devtools-0.2.266/specs/2295-subtask-deterministic-error-signature → agentic_devtools-0.2.268/specs/2293-feature-autonomous-agdt-run}/checklists/.gitkeep +0 -0
  2328. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/checklists/requirements.md +0 -0
  2329. {agentic_devtools-0.2.266/specs/2295-subtask-deterministic-error-signature → agentic_devtools-0.2.268/specs/2293-feature-autonomous-agdt-run}/contracts/.gitkeep +0 -0
  2330. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/fr-coverage.json +0 -0
  2331. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/plan.md +0 -0
  2332. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/research.md +0 -0
  2333. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/spec.md +0 -0
  2334. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/tasks.md +0 -0
  2335. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2293-feature-autonomous-agdt-run/test-coverage.json +0 -0
  2336. {agentic_devtools-0.2.266/specs/2301-feature-context-aware-conditional → agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup}/.markdownlint.json +0 -0
  2337. {agentic_devtools-0.2.266/specs/2301-feature-context-aware-conditional → agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup}/checklists/.gitkeep +0 -0
  2338. {agentic_devtools-0.2.266/specs/2301-feature-context-aware-conditional → agentic_devtools-0.2.268/specs/2294-subtask-output-sanitizer-setup}/contracts/.gitkeep +0 -0
  2339. {agentic_devtools-0.2.266/specs/2302-subtask-classification-reader-pure → agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature}/.markdownlint.json +0 -0
  2340. {agentic_devtools-0.2.266/specs/2302-subtask-classification-reader-pure → agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature}/checklists/.gitkeep +0 -0
  2341. {agentic_devtools-0.2.266/specs/2302-subtask-classification-reader-pure → agentic_devtools-0.2.268/specs/2295-subtask-deterministic-error-signature}/contracts/.gitkeep +0 -0
  2342. {agentic_devtools-0.2.266/specs/2307-feature-setup-observability-substrate → agentic_devtools-0.2.268/specs/2301-feature-context-aware-conditional}/.markdownlint.json +0 -0
  2343. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/analysis-report.md +0 -0
  2344. {agentic_devtools-0.2.266/specs/2307-feature-setup-observability-substrate → agentic_devtools-0.2.268/specs/2301-feature-context-aware-conditional}/checklists/.gitkeep +0 -0
  2345. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/checklists/requirements.md +0 -0
  2346. {agentic_devtools-0.2.266/specs/2307-feature-setup-observability-substrate → agentic_devtools-0.2.268/specs/2301-feature-context-aware-conditional}/contracts/.gitkeep +0 -0
  2347. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/plan.md +0 -0
  2348. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/spec.md +0 -0
  2349. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/tasks.md +0 -0
  2350. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2301-feature-context-aware-conditional/test-coverage.json +0 -0
  2351. {agentic_devtools-0.2.266/specs/2308-subtask-setup-exit-code → agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure}/.markdownlint.json +0 -0
  2352. {agentic_devtools-0.2.266/specs/2308-subtask-setup-exit-code → agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure}/checklists/.gitkeep +0 -0
  2353. {agentic_devtools-0.2.266/specs/2308-subtask-setup-exit-code → agentic_devtools-0.2.268/specs/2302-subtask-classification-reader-pure}/contracts/.gitkeep +0 -0
  2354. {agentic_devtools-0.2.266/specs/2309-subtask-collector-atomic-write → agentic_devtools-0.2.268/specs/2307-feature-setup-observability-substrate}/.markdownlint.json +0 -0
  2355. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/analysis-report.md +0 -0
  2356. {agentic_devtools-0.2.266/specs/2309-subtask-collector-atomic-write → agentic_devtools-0.2.268/specs/2307-feature-setup-observability-substrate}/checklists/.gitkeep +0 -0
  2357. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/checklists/requirements.md +0 -0
  2358. {agentic_devtools-0.2.266/specs/2309-subtask-collector-atomic-write → agentic_devtools-0.2.268/specs/2307-feature-setup-observability-substrate}/contracts/.gitkeep +0 -0
  2359. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/plan.md +0 -0
  2360. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/spec.md +0 -0
  2361. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/tasks.md +0 -0
  2362. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2307-feature-setup-observability-substrate/test-coverage.json +0 -0
  2363. {agentic_devtools-0.2.266/specs/2313-feature-one-command-agdt → agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code}/.markdownlint.json +0 -0
  2364. {agentic_devtools-0.2.266/specs/2313-feature-one-command-agdt → agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code}/checklists/.gitkeep +0 -0
  2365. {agentic_devtools-0.2.266/specs/2313-feature-one-command-agdt → agentic_devtools-0.2.268/specs/2308-subtask-setup-exit-code}/contracts/.gitkeep +0 -0
  2366. {agentic_devtools-0.2.266/specs/2319-feature-setup-robustness-conditional → agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write}/.markdownlint.json +0 -0
  2367. {agentic_devtools-0.2.266/specs/2319-feature-setup-robustness-conditional → agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write}/checklists/.gitkeep +0 -0
  2368. {agentic_devtools-0.2.266/specs/2319-feature-setup-robustness-conditional → agentic_devtools-0.2.268/specs/2309-subtask-collector-atomic-write}/contracts/.gitkeep +0 -0
  2369. {agentic_devtools-0.2.266/specs/2320-subtask-conditional-npm-cert → agentic_devtools-0.2.268/specs/2313-feature-one-command-agdt}/.markdownlint.json +0 -0
  2370. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/analysis-report.md +0 -0
  2371. {agentic_devtools-0.2.266/specs/2320-subtask-conditional-npm-cert → agentic_devtools-0.2.268/specs/2313-feature-one-command-agdt}/checklists/.gitkeep +0 -0
  2372. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/checklists/requirements.md +0 -0
  2373. {agentic_devtools-0.2.266/specs/2320-subtask-conditional-npm-cert → agentic_devtools-0.2.268/specs/2313-feature-one-command-agdt}/contracts/.gitkeep +0 -0
  2374. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/plan.md +0 -0
  2375. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/spec.md +0 -0
  2376. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/tasks.md +0 -0
  2377. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2313-feature-one-command-agdt/test-coverage.json +0 -0
  2378. {agentic_devtools-0.2.266/specs/2326-subtask-adopt-backing-jira → agentic_devtools-0.2.268/specs/2319-feature-setup-robustness-conditional}/.markdownlint.json +0 -0
  2379. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/analysis-report.md +0 -0
  2380. {agentic_devtools-0.2.266/specs/2326-subtask-adopt-backing-jira → agentic_devtools-0.2.268/specs/2319-feature-setup-robustness-conditional}/checklists/.gitkeep +0 -0
  2381. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/checklists/requirements.md +0 -0
  2382. {agentic_devtools-0.2.266/specs/2326-subtask-adopt-backing-jira → agentic_devtools-0.2.268/specs/2319-feature-setup-robustness-conditional}/contracts/.gitkeep +0 -0
  2383. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/plan.md +0 -0
  2384. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/research.md +0 -0
  2385. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/spec.md +0 -0
  2386. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/tasks.md +0 -0
  2387. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2319-feature-setup-robustness-conditional/test-coverage.json +0 -0
  2388. /agentic_devtools-0.2.266/tests/unit/__init__.py → /agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/checklists/.gitkeep +0 -0
  2389. /agentic_devtools-0.2.266/tests/unit/adapters/__init__.py → /agentic_devtools-0.2.268/specs/2320-subtask-conditional-npm-cert/contracts/.gitkeep +0 -0
  2390. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/analysis-report.md +0 -0
  2391. /agentic_devtools-0.2.266/tests/unit/adapters/__init__/__init__.py → /agentic_devtools-0.2.268/specs/2326-subtask-adopt-backing-jira/checklists/.gitkeep +0 -0
  2392. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/checklists/requirements.md +0 -0
  2393. /agentic_devtools-0.2.266/tests/unit/adapters/base/__init__.py → /agentic_devtools-0.2.268/specs/2326-subtask-adopt-backing-jira/contracts/.gitkeep +0 -0
  2394. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/plan.md +0 -0
  2395. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/spec.md +0 -0
  2396. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/tasks.md +0 -0
  2397. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/2326-subtask-adopt-backing-jira/test-coverage.json +0 -0
  2398. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/specs/README.md +0 -0
  2399. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/README.md +0 -0
  2400. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/__init__.py +0 -0
  2401. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_context/__init__.py +0 -0
  2402. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_context/test_commands.py +0 -0
  2403. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_context/test_config.py +0 -0
  2404. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_context/test_management.py +0 -0
  2405. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/__init__.py +0 -0
  2406. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/conftest.py +0 -0
  2407. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_auth.py +0 -0
  2408. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_commands_api.py +0 -0
  2409. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_commands_dry_run.py +0 -0
  2410. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_config.py +0 -0
  2411. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_helpers.py +0 -0
  2412. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_pipeline_commands.py +0 -0
  2413. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_pr_summary_commands.py +0 -0
  2414. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_pull_request_details_commands.py +0 -0
  2415. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_review_commands.py +0 -0
  2416. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_run_details_commands.py +0 -0
  2417. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/azure_devops/test_vpn_toggle.py +0 -0
  2418. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/cli/test_azure_app_insights_commands.py +0 -0
  2419. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/cli/test_azure_auth.py +0 -0
  2420. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/cli/test_azure_config.py +0 -0
  2421. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/conftest.py +0 -0
  2422. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/README.md +0 -0
  2423. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/__init__.py +0 -0
  2424. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/conftest.py +0 -0
  2425. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/fixtures/cassettes/azure_devops_create_pr.yaml +0 -0
  2426. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/fixtures/cassettes/jira_add_comment.yaml +0 -0
  2427. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/fixtures/cassettes/jira_get_issue.yaml +0 -0
  2428. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/test_azure_devops_commands_e2e.py +0 -0
  2429. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/test_git_commands_e2e.py +0 -0
  2430. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/test_jira_commands_e2e.py +0 -0
  2431. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/e2e_smoke/test_speckit_packages_e2e.py +0 -0
  2432. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/README.md +0 -0
  2433. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/golden_issues_labeled.json +0 -0
  2434. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/golden_pull_request.json +0 -0
  2435. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/golden_pull_request_review.json +0 -0
  2436. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/golden_workflow_run.json +0 -0
  2437. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/issue_comment_created.json +0 -0
  2438. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/issues_labeled.json +0 -0
  2439. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/pull_request_opened.json +0 -0
  2440. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/pull_request_review_submitted.json +0 -0
  2441. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/pull_request_synchronize.json +0 -0
  2442. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/ci_events/workflow_run_completed.json +0 -0
  2443. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/duplicate-refs.json +0 -0
  2444. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/empty-arrays.json +0 -0
  2445. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/future-version.json +0 -0
  2446. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/invalid-blocks-type.json +0 -0
  2447. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/missing-ref-feature.json +0 -0
  2448. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/missing-schema-version.json +0 -0
  2449. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/subtask-with-nested-subtasks.json +0 -0
  2450. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/unknown-property-subtask.json +0 -0
  2451. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/fixtures/epic-tree/valid-epic.json +0 -0
  2452. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/helpers.py +0 -0
  2453. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/network/test_detection.py +0 -0
  2454. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/network/test_network_cli.py +0 -0
  2455. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_check_no_interrupt.py +0 -0
  2456. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_async.py +0 -0
  2457. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_commands.py +0 -0
  2458. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_core.py +0 -0
  2459. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_diff.py +0 -0
  2460. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_operations.py +0 -0
  2461. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_git_utilities.py +0 -0
  2462. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_no_scripts_temp_references.py +0 -0
  2463. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_release_commands.py +0 -0
  2464. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_release_helpers.py +0 -0
  2465. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_release_integration.py +0 -0
  2466. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_scaffold_tests.py +0 -0
  2467. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_validate_event_mapping.py +0 -0
  2468. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_validate_test_structure.py +0 -0
  2469. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/test_version.py +0 -0
  2470. {agentic_devtools-0.2.266/tests/unit/adapters/exceptions → agentic_devtools-0.2.268/tests/unit}/__init__.py +0 -0
  2471. {agentic_devtools-0.2.266/tests/unit/adapters/jira_adapter → agentic_devtools-0.2.268/tests/unit/adapters/__init__}/__init__.py +0 -0
  2472. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/__init__/test__build_github_adapter.py +0 -0
  2473. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/__init__/test_get_adapter.py +0 -0
  2474. {agentic_devtools-0.2.266/tests/unit/adapters/github_adapter → agentic_devtools-0.2.268/tests/unit/adapters}/__init__.py +0 -0
  2475. {agentic_devtools-0.2.266/tests/unit/adapters/markdown_adapter → agentic_devtools-0.2.268/tests/unit/adapters/base}/__init__.py +0 -0
  2476. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/base/test_issueadapter.py +0 -0
  2477. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/base/test_issuedetail.py +0 -0
  2478. {agentic_devtools-0.2.266/tests/unit/adapters/types → agentic_devtools-0.2.268/tests/unit/adapters/exceptions}/__init__.py +0 -0
  2479. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/exceptions/test_adaptererror.py +0 -0
  2480. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/exceptions/test_adaptervalidationerror.py +0 -0
  2481. {agentic_devtools-0.2.266/tests/unit/agdt_gitignore → agentic_devtools-0.2.268/tests/unit/adapters/github_adapter}/__init__.py +0 -0
  2482. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/github_adapter/test_githubissuesadapter.py +0 -0
  2483. {agentic_devtools-0.2.266/tests/unit/background_tasks → agentic_devtools-0.2.268/tests/unit/adapters/jira_adapter}/__init__.py +0 -0
  2484. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/jira_adapter/test_jiraadapter.py +0 -0
  2485. {agentic_devtools-0.2.266/tests/unit/cli → agentic_devtools-0.2.268/tests/unit/adapters/markdown_adapter}/__init__.py +0 -0
  2486. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/markdown_adapter/test_markdownadapter.py +0 -0
  2487. {agentic_devtools-0.2.266/tests/unit/cli/activity_log → agentic_devtools-0.2.268/tests/unit/adapters/types}/__init__.py +0 -0
  2488. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/types/test_issuedetailwithraw.py +0 -0
  2489. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/types/test_issuetypeinfo.py +0 -0
  2490. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/types/test_normalizedissue.py +0 -0
  2491. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/adapters/types/test_propertyschema.py +0 -0
  2492. {agentic_devtools-0.2.266/tests/unit/cli/analysis → agentic_devtools-0.2.268/tests/unit/agdt_gitignore}/__init__.py +0 -0
  2493. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/agdt_gitignore/test_ensure_agdt_gitignore.py +0 -0
  2494. {agentic_devtools-0.2.266/tests/unit/cli/analysis/context_resolver → agentic_devtools-0.2.268/tests/unit/background_tasks}/__init__.py +0 -0
  2495. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_cleanup_old_logs.py +0 -0
  2496. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_create_log_file_path.py +0 -0
  2497. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_get_task_log_content.py +0 -0
  2498. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_run_function_in_background.py +0 -0
  2499. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_run_in_background.py +0 -0
  2500. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/background_tasks/test_wait_for_task.py +0 -0
  2501. {agentic_devtools-0.2.266/tests/unit/cli/analysis/external_context → agentic_devtools-0.2.268/tests/unit/cli}/__init__.py +0 -0
  2502. {agentic_devtools-0.2.266/tests/unit/cli/analysis/identity_scanner → agentic_devtools-0.2.268/tests/unit/cli/activity_log}/__init__.py +0 -0
  2503. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_activity_log.py +0 -0
  2504. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_activity_log_entry.py +0 -0
  2505. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_get_activity_log_file_path.py +0 -0
  2506. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_load_activity_log.py +0 -0
  2507. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_load_from_branch.py +0 -0
  2508. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/activity_log/test_save_activity_log.py +0 -0
  2509. {agentic_devtools-0.2.266/tests/unit/cli/apply_thread_autofix_suggestions → agentic_devtools-0.2.268/tests/unit/cli/analysis}/__init__.py +0 -0
  2510. {agentic_devtools-0.2.266/tests/unit/cli/audit → agentic_devtools-0.2.268/tests/unit/cli/analysis/context_resolver}/__init__.py +0 -0
  2511. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/context_resolver/test_list_worktree_state_dirs.py +0 -0
  2512. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/context_resolver/test_resolve_analysis_context.py +0 -0
  2513. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/context_resolver/test_resolve_analysis_context_edge_cases.py +0 -0
  2514. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/context_resolver/test_resolve_analysis_context_errors.py +0 -0
  2515. {agentic_devtools-0.2.266/tests/unit/cli/audit/apply → agentic_devtools-0.2.268/tests/unit/cli/analysis/external_context}/__init__.py +0 -0
  2516. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/external_context/test__discover_worktrees.py +0 -0
  2517. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/external_context/test__read_log_excerpt.py +0 -0
  2518. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/external_context/test_build_external_context_field.py +0 -0
  2519. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/external_context/test_collect_external_context.py +0 -0
  2520. {agentic_devtools-0.2.266/tests/unit/cli/audit/commands → agentic_devtools-0.2.268/tests/unit/cli/analysis/identity_scanner}/__init__.py +0 -0
  2521. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/identity_scanner/test_format_evidence_prefix.py +0 -0
  2522. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/identity_scanner/test_list_identity_directories.py +0 -0
  2523. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/identity_scanner/test_scan_identity_logs.py +0 -0
  2524. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/identity_scanner/test_scan_identity_logs_determinism.py +0 -0
  2525. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/analysis/identity_scanner/test_scan_identity_logs_performance.py +0 -0
  2526. {agentic_devtools-0.2.266/tests/unit/cli/audit/config → agentic_devtools-0.2.268/tests/unit/cli/apply_thread_autofix_suggestions}/__init__.py +0 -0
  2527. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/apply_thread_autofix_suggestions/test_apply_azure_devops.py +0 -0
  2528. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/apply_thread_autofix_suggestions/test_apply_github.py +0 -0
  2529. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/apply_thread_autofix_suggestions/test_apply_github_browser.py +0 -0
  2530. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/apply_thread_autofix_suggestions/test_apply_pr_autofix_suggestions_command.py +0 -0
  2531. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/apply_thread_autofix_suggestions/test_detect_platform.py +0 -0
  2532. {agentic_devtools-0.2.266/tests/unit/cli/audit/instruction_resolver → agentic_devtools-0.2.268/tests/unit/cli/audit}/__init__.py +0 -0
  2533. {agentic_devtools-0.2.266/tests/unit/cli/audit/labeling → agentic_devtools-0.2.268/tests/unit/cli/audit/apply}/__init__.py +0 -0
  2534. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/apply/test_apply_result_is_failure.py +0 -0
  2535. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/apply/test_render_apply_summary.py +0 -0
  2536. {agentic_devtools-0.2.266/tests/unit/cli/audit/models → agentic_devtools-0.2.268/tests/unit/cli/audit/commands}/__init__.py +0 -0
  2537. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/commands/test_audit_apply_command.py +0 -0
  2538. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/commands/test_audit_dispatch_evaluation_command.py +0 -0
  2539. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/commands/test_audit_prepare_command.py +0 -0
  2540. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/commands/test_audit_reap_stale_command.py +0 -0
  2541. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/commands/test_audit_takeover_eval_prs_command.py +0 -0
  2542. {agentic_devtools-0.2.266/tests/unit/cli/audit/on_pr_close → agentic_devtools-0.2.268/tests/unit/cli/audit/config}/__init__.py +0 -0
  2543. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/config/test_batch_branch_name.py +0 -0
  2544. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/config/test_resolve_batch_size.py +0 -0
  2545. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/dispatch/__init__.py +0 -0
  2546. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/dispatch/test_dispatch_audit_evaluation.py +0 -0
  2547. {agentic_devtools-0.2.266/tests/unit/cli/audit/output_format → agentic_devtools-0.2.268/tests/unit/cli/audit/instruction_resolver}/__init__.py +0 -0
  2548. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/instruction_resolver/test_resolve_instruction_files.py +0 -0
  2549. {agentic_devtools-0.2.266/tests/unit/cli/audit/prepare → agentic_devtools-0.2.268/tests/unit/cli/audit/labeling}/__init__.py +0 -0
  2550. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/labeling/test_finalize_batch_labels.py +0 -0
  2551. {agentic_devtools-0.2.266/tests/unit/cli/audit/reap → agentic_devtools-0.2.268/tests/unit/cli/audit/models}/__init__.py +0 -0
  2552. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/models/test_models.py +0 -0
  2553. {agentic_devtools-0.2.266/tests/unit/cli/audit/staleness → agentic_devtools-0.2.268/tests/unit/cli/audit/on_pr_close}/__init__.py +0 -0
  2554. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/on_pr_close/test_on_pr_close.py +0 -0
  2555. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/on_pr_close/test_on_pr_close_command.py +0 -0
  2556. {agentic_devtools-0.2.266/tests/unit/cli/audit/takeover → agentic_devtools-0.2.268/tests/unit/cli/audit/output_format}/__init__.py +0 -0
  2557. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/output_format/test_assign_category.py +0 -0
  2558. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/output_format/test_choose_fence.py +0 -0
  2559. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/output_format/test_write_batch_output.py +0 -0
  2560. {agentic_devtools-0.2.266/tests/unit/cli/azure → agentic_devtools-0.2.268/tests/unit/cli/audit/prepare}/__init__.py +0 -0
  2561. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/prepare/test__collect_pr_data.py +0 -0
  2562. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/prepare/test_prepare_audit_batch.py +0 -0
  2563. {agentic_devtools-0.2.266/tests/unit/cli/azure/app_insights_commands → agentic_devtools-0.2.268/tests/unit/cli/audit/reap}/__init__.py +0 -0
  2564. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/reap/test_reap_stale_in_progress.py +0 -0
  2565. {agentic_devtools-0.2.266/tests/unit/cli/azure/auth → agentic_devtools-0.2.268/tests/unit/cli/audit/staleness}/__init__.py +0 -0
  2566. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/staleness/test_check_file_exists_at_head.py +0 -0
  2567. {agentic_devtools-0.2.266/tests/unit/cli/azure/config → agentic_devtools-0.2.268/tests/unit/cli/audit/takeover}/__init__.py +0 -0
  2568. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/takeover/test_reclaim_one_eval_pr.py +0 -0
  2569. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/takeover/test_takeover_eval_prs.py +0 -0
  2570. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/audit/takeover/test_touches_agent_output.py +0 -0
  2571. {agentic_devtools-0.2.266/tests/unit/cli/azure_context → agentic_devtools-0.2.268/tests/unit/cli/azure}/__init__.py +0 -0
  2572. {agentic_devtools-0.2.266/tests/unit/cli/azure_context/commands → agentic_devtools-0.2.268/tests/unit/cli/azure/app_insights_commands}/__init__.py +0 -0
  2573. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_app_insights.py +0 -0
  2574. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_app_insights_async.py +0 -0
  2575. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors.py +0 -0
  2576. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_errors_async.py +0 -0
  2577. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning.py +0 -0
  2578. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_provisioning_async.py +0 -0
  2579. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline.py +0 -0
  2580. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/app_insights_commands/test_query_fabric_dap_timeline_async.py +0 -0
  2581. {agentic_devtools-0.2.266/tests/unit/cli/azure_context/config → agentic_devtools-0.2.268/tests/unit/cli/azure/auth}/__init__.py +0 -0
  2582. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_detect_account_type.py +0 -0
  2583. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_ensure_azure_account.py +0 -0
  2584. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_get_current_azure_account.py +0 -0
  2585. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_is_aza_account.py +0 -0
  2586. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_switch_azure_account.py +0 -0
  2587. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/auth/test_verify_azure_cli.py +0 -0
  2588. {agentic_devtools-0.2.266/tests/unit/cli/azure_context/management → agentic_devtools-0.2.268/tests/unit/cli/azure/config}/__init__.py +0 -0
  2589. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/config/test_get_account_for_environment.py +0 -0
  2590. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure/config/test_get_app_insights_config.py +0 -0
  2591. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops → agentic_devtools-0.2.268/tests/unit/cli/azure_context}/__init__.py +0 -0
  2592. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/async_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_context/commands}/__init__.py +0 -0
  2593. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/commands/test_azure_context_current_command.py +0 -0
  2594. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/commands/test_azure_context_ensure_login_command.py +0 -0
  2595. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/commands/test_azure_context_status_command.py +0 -0
  2596. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/commands/test_azure_context_use_command.py +0 -0
  2597. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/auth → agentic_devtools-0.2.268/tests/unit/cli/azure_context/config}/__init__.py +0 -0
  2598. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/config/test_get_context_config.py +0 -0
  2599. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/commands → agentic_devtools-0.2.268/tests/unit/cli/azure_context/management}/__init__.py +0 -0
  2600. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_check_login_status.py +0 -0
  2601. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_ensure_logged_in.py +0 -0
  2602. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_get_context_env.py +0 -0
  2603. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_get_current_context.py +0 -0
  2604. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_run_with_context.py +0 -0
  2605. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_show_all_contexts.py +0 -0
  2606. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_context/management/test_switch_context.py +0 -0
  2607. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/config → agentic_devtools-0.2.268/tests/unit/cli/azure_devops}/__init__.py +0 -0
  2608. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/consolidated_review → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/async_commands}/__init__.py +0 -0
  2609. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/_helpers.py +0 -0
  2610. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test__require_int_value.py +0 -0
  2611. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async.py +0 -0
  2612. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_add_pull_request_comment_async_cli.py +0 -0
  2613. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async.py +0 -0
  2614. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_approve_pull_request_async_cli.py +0 -0
  2615. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_checkout_and_sync_branch_async.py +0 -0
  2616. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_confirm_suggestion_addressed_async.py +0 -0
  2617. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_create_pipeline_async.py +0 -0
  2618. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async.py +0 -0
  2619. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_create_pull_request_async_cli.py +0 -0
  2620. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_generate_review_prompts_async.py +0 -0
  2621. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_get_pipeline_id_async.py +0 -0
  2622. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_details_async.py +0 -0
  2623. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async.py +0 -0
  2624. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_get_pull_request_threads_async_cli.py +0 -0
  2625. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_get_run_details_async.py +0 -0
  2626. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_list_pipelines_async.py +0 -0
  2627. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_lookup_jira_issue_from_pr_async.py +0 -0
  2628. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_lookup_pr_from_jira_issue_async.py +0 -0
  2629. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_mark_pull_request_draft_async.py +0 -0
  2630. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_publish_pull_request_async.py +0 -0
  2631. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_reject_suggestion_resolution_async.py +0 -0
  2632. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async.py +0 -0
  2633. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_reply_to_pull_request_thread_async_cli.py +0 -0
  2634. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async.py +0 -0
  2635. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_resolve_thread_async_cli.py +0 -0
  2636. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_fabric_async.py +0 -0
  2637. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_run_e2e_tests_synapse_async.py +0 -0
  2638. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_run_wb_patch_async.py +0 -0
  2639. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_setup_pull_request_review_async.py +0 -0
  2640. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_update_pipeline_async.py +0 -0
  2641. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/async_commands/test_wait_for_run_async.py +0 -0
  2642. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/consolidated_scaffold → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/auth}/__init__.py +0 -0
  2643. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/auth/test_get_auth_headers.py +0 -0
  2644. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/auth/test_get_pat.py +0 -0
  2645. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/commands}/__init__.py +0 -0
  2646. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test__escape_for_cmd.py +0 -0
  2647. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test__extract_issue_key_from_branch.py +0 -0
  2648. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_add_pull_request_comment.py +0 -0
  2649. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_approve_pull_request.py +0 -0
  2650. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_create_pull_request.py +0 -0
  2651. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_get_pull_request_threads.py +0 -0
  2652. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_mark_pull_request_draft.py +0 -0
  2653. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_parse_bool_from_state.py +0 -0
  2654. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_publish_pull_request.py +0 -0
  2655. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_reply_to_pull_request_thread.py +0 -0
  2656. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_require_content.py +0 -0
  2657. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_resolve_thread.py +0 -0
  2658. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/commands/test_update_review_narrative.py +0 -0
  2659. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/classification → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/config}/__init__.py +0 -0
  2660. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/config/test__parse_azure_devops_context_from_remote_url.py +0 -0
  2661. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/config/test_azure_devops_config.py +0 -0
  2662. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/config/test_constants.py +0 -0
  2663. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/config/test_get_azure_devops_context_from_git_remote.py +0 -0
  2664. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/config/test_get_repository_name_from_git_remote.py +0 -0
  2665. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/conftest.py +0 -0
  2666. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/convergence → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/consolidated_review}/__init__.py +0 -0
  2667. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test__normalized_severity_key.py +0 -0
  2668. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test__render_file_block.py +0 -0
  2669. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test__severity_counts_label.py +0 -0
  2670. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test__split_into_comments.py +0 -0
  2671. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_build_consolidated_marker.py +0 -0
  2672. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_build_continuation_marker.py +0 -0
  2673. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_build_model_reply_marker.py +0 -0
  2674. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_extract_commit_hash_from_marker.py +0 -0
  2675. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_extract_continuation_seq_from_marker.py +0 -0
  2676. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_is_consolidated_comment.py +0 -0
  2677. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_is_continuation_comment.py +0 -0
  2678. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_render_consolidated_review_comment.py +0 -0
  2679. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_review/test_render_model_review_reply.py +0 -0
  2680. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/identity → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/consolidated_scaffold}/__init__.py +0 -0
  2681. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_coerce_id.py +0 -0
  2682. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_find_consolidated_thread.py +0 -0
  2683. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_find_continuation_comment_ids.py +0 -0
  2684. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_reconcile_continuations.py +0 -0
  2685. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_sync_commit_registry.py +0 -0
  2686. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/consolidated_scaffold/test_upsert_consolidated_comment.py +0 -0
  2687. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/models → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization}/__init__.py +0 -0
  2688. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/orchestrator → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/classification}/__init__.py +0 -0
  2689. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/classification/test__extract_first_comment.py +0 -0
  2690. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/classification/test__get_author_id.py +0 -0
  2691. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/classification/test__process_thread_first_comment.py +0 -0
  2692. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/classification/test__scan_activity_log_replies.py +0 -0
  2693. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/classification/test_classify_eligible_comments.py +0 -0
  2694. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/repair → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/convergence}/__init__.py +0 -0
  2695. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test__compute_activity_log_content.py +0 -0
  2696. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test__compute_file_summary_content.py +0 -0
  2697. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test__compute_overall_summary_content.py +0 -0
  2698. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test_check_convergence.py +0 -0
  2699. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test_compute_expected_content.py +0 -0
  2700. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/convergence/test_normalize_for_comparison.py +0 -0
  2701. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/reporting → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/identity}/__init__.py +0 -0
  2702. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/identity/test_identity_helpers.py +0 -0
  2703. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/identity/test_resolve_pat_identity.py +0 -0
  2704. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/finalization/verification → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/models}/__init__.py +0 -0
  2705. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/models/test_comment_key.py +0 -0
  2706. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/models/test_finalizationreport.py +0 -0
  2707. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/helpers → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/orchestrator}/__init__.py +0 -0
  2708. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test__build_report.py +0 -0
  2709. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test__check_timeout.py +0 -0
  2710. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test__collect_all_comments.py +0 -0
  2711. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test__count_eligible.py +0 -0
  2712. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test__fetch_threads.py +0 -0
  2713. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/orchestrator/test_run_finalization_pass.py +0 -0
  2714. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/mark_reviewed → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/repair}/__init__.py +0 -0
  2715. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test__cascade_overall_summary.py +0 -0
  2716. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test__complete_activity_log.py +0 -0
  2717. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test__patch_file_thread_status.py +0 -0
  2718. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test__targeted_repair_activity_log.py +0 -0
  2719. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test_batch_repair_pass.py +0 -0
  2720. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/repair/test_targeted_repair.py +0 -0
  2721. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/marker → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/reporting}/__init__.py +0 -0
  2722. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/reporting/test_build_finalization_report.py +0 -0
  2723. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pipeline_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/finalization/verification}/__init__.py +0 -0
  2724. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/verification/test__collect_all_comments.py +0 -0
  2725. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/verification/test__fetch_comment_content.py +0 -0
  2726. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/finalization/verification/test_verify_convergence.py +0 -0
  2727. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_accept → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/helpers}/__init__.py +0 -0
  2728. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test__get_repository_id_via_rest.py +0 -0
  2729. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_build_pr_base_url.py +0 -0
  2730. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_build_thread_context.py +0 -0
  2731. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_convert_to_pull_request_title.py +0 -0
  2732. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_cross_identity_forbidden_error.py +0 -0
  2733. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_find_jira_issue_from_pr.py +0 -0
  2734. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_find_pr_from_jira_issue.py +0 -0
  2735. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_find_pull_request_by_issue_key.py +0 -0
  2736. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_get_pull_request_changed_files.py +0 -0
  2737. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_get_pull_request_details.py +0 -0
  2738. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_get_pull_request_source_branch.py +0 -0
  2739. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_get_repository_id.py +0 -0
  2740. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_parse_bool_from_state_value.py +0 -0
  2741. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_parse_json_response.py +0 -0
  2742. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_patch_comment.py +0 -0
  2743. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_patch_thread_status.py +0 -0
  2744. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_post_pr_comment.py +0 -0
  2745. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_print_threads.py +0 -0
  2746. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_require_content.py +0 -0
  2747. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_require_requests.py +0 -0
  2748. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_resolve_review_artifact_dir_name.py +0 -0
  2749. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_resolve_thread_by_id.py +0 -0
  2750. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/helpers/test_verify_az_cli.py +0 -0
  2751. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_answers → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/mark_reviewed}/__init__.py +0 -0
  2752. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_cachedreviewercontext.py +0 -0
  2753. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_fetch_reviewer_context.py +0 -0
  2754. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_connection_data.py +0 -0
  2755. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_existing_viewed_state_tokens.py +0 -0
  2756. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_graph_api_root.py +0 -0
  2757. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_iteration_change_entry.py +0 -0
  2758. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_organization_account_name.py +0 -0
  2759. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_project_id_via_api.py +0 -0
  2760. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_get_reviewer_entry.py +0 -0
  2761. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_mark_file_reviewed.py +0 -0
  2762. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_normalize_repo_path.py +0 -0
  2763. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_resolve_storage_key_via_graph.py +0 -0
  2764. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_set_batch_context.py +0 -0
  2765. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_sync_viewed_status.py +0 -0
  2766. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/mark_reviewed/test_update_reviewer_entry.py +0 -0
  2767. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_artifacts → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/marker}/__init__.py +0 -0
  2768. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test__get_first_comment_content.py +0 -0
  2769. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_build_marker.py +0 -0
  2770. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_classify_agdt_threads.py +0 -0
  2771. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_filter_agdt_threads.py +0 -0
  2772. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_has_agdt_marker.py +0 -0
  2773. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_parse_marker.py +0 -0
  2774. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/marker/test_strip_marker_line.py +0 -0
  2775. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_ducks → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pipeline_commands}/__init__.py +0 -0
  2776. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_create_pipeline.py +0 -0
  2777. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_get_pipeline_id.py +0 -0
  2778. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_list_pipelines.py +0 -0
  2779. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_fabric.py +0 -0
  2780. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_run_e2e_tests_synapse.py +0 -0
  2781. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_run_wb_patch.py +0 -0
  2782. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pipeline_commands/test_update_pipeline.py +0 -0
  2783. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_filekey → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_accept}/__init__.py +0 -0
  2784. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_accept/test__resolve_pull_request_id.py +0 -0
  2785. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_accept/test_accept_answer_command.py +0 -0
  2786. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_ledger → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_answers}/__init__.py +0 -0
  2787. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_answers/test_build_answer_skeleton.py +0 -0
  2788. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_answers/test_compute_prompt_hash.py +0 -0
  2789. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_answers/test_derive_attempt_id.py +0 -0
  2790. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_answers/test_scaffold_answer_files.py +0 -0
  2791. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_manifest → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_artifacts}/__init__.py +0 -0
  2792. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_artifacts/test__generate_v2_review_artifacts.py +0 -0
  2793. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_artifacts/test_generate_v2_review_artifacts.py +0 -0
  2794. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_pipeline_lock → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_ducks}/__init__.py +0 -0
  2795. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ducks/test_build_critique_prompt.py +0 -0
  2796. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ducks/test_resolve_ducks_command.py +0 -0
  2797. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_progress → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_filekey}/__init__.py +0 -0
  2798. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_filekey/test_build_file_key.py +0 -0
  2799. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_refresh → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_ledger}/__init__.py +0 -0
  2800. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_append_ledger_entry.py +0 -0
  2801. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_build_ledger_entry.py +0 -0
  2802. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_latest_accepted_by_file_key.py +0 -0
  2803. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_ledger_path.py +0 -0
  2804. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_read_ledger_entries.py +0 -0
  2805. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_resolve_answers_dir.py +0 -0
  2806. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_ledger/test_summarize_accepted.py +0 -0
  2807. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_submit → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_manifest}/__init__.py +0 -0
  2808. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_build_manifest.py +0 -0
  2809. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_build_manifest_command.py +0 -0
  2810. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_derive_clusters.py +0 -0
  2811. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_derive_review_mode.py +0 -0
  2812. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_extract_commit_hash.py +0 -0
  2813. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_load_queue_entries.py +0 -0
  2814. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_normalize_change_type.py +0 -0
  2815. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_purpose_hint.py +0 -0
  2816. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_render_pr_context.py +0 -0
  2817. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_resolve_pr_context_budget.py +0 -0
  2818. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_resolve_repo_root.py +0 -0
  2819. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_manifest/test_risk_flag.py +0 -0
  2820. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_submit_mapper → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_pipeline_lock}/__init__.py +0 -0
  2821. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_pipeline_lock/test_pipeline_lock.py +0 -0
  2822. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_pipeline_lock/test_pipeline_lock_path.py +0 -0
  2823. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_triage → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_progress}/__init__.py +0 -0
  2824. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_progress/test_compute_review_progress.py +0 -0
  2825. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_progress/test_count_in_scope_files.py +0 -0
  2826. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_progress/test_ledger_reviewed_count.py +0 -0
  2827. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_progress/test_resolve_manifest_path.py +0 -0
  2828. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_review_write → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_refresh}/__init__.py +0 -0
  2829. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_refresh/test_overlay_ledger_onto_state.py +0 -0
  2830. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_refresh/test_refresh_comment_command.py +0 -0
  2831. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_refresh/test_refresh_core.py +0 -0
  2832. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_refresh/test_should_refresh.py +0 -0
  2833. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pr_summary_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_submit}/__init__.py +0 -0
  2834. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test__build_submission_manager.py +0 -0
  2835. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test__finalize_consolidated_comment.py +0 -0
  2836. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test__load_scaffold.py +0 -0
  2837. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test__run_submissions.py +0 -0
  2838. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test_build_submit_result.py +0 -0
  2839. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test_classify_accepted_answers.py +0 -0
  2840. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test_pr_review_submit.py +0 -0
  2841. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test_pr_review_submit_command.py +0 -0
  2842. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit/test_write_submit_result.py +0 -0
  2843. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/pull_request_details_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_submit_mapper}/__init__.py +0 -0
  2844. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit_mapper/test_map_answer_to_submission_item.py +0 -0
  2845. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit_mapper/test_map_suggestion.py +0 -0
  2846. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit_mapper/test_mappererror.py +0 -0
  2847. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_submit_mapper/test_transform_replacement_code.py +0 -0
  2848. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_attribution → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_triage}/__init__.py +0 -0
  2849. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_triage/test_apply_cost_caps.py +0 -0
  2850. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_triage/test_classify_file_depth.py +0 -0
  2851. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_triage/test_load_triage_config.py +0 -0
  2852. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_triage/test_triage_command.py +0 -0
  2853. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_triage/test_triage_manifest.py +0 -0
  2854. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_review_write}/__init__.py +0 -0
  2855. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_check_answer_freshness.py +0 -0
  2856. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_check_answer_scope.py +0 -0
  2857. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_file_review_write_command.py +0 -0
  2858. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_validate_answer_schema.py +0 -0
  2859. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_validate_answer_write.py +0 -0
  2860. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_validate_line_anchoring.py +0 -0
  2861. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_validate_reviewer.py +0 -0
  2862. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_validate_suggestion.py +0 -0
  2863. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_review_write/test_write_answer_atomic.py +0 -0
  2864. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_helpers → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pr_summary_commands}/__init__.py +0 -0
  2865. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments.py +0 -0
  2866. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pr_summary_commands/test_generate_overarching_pr_comments_cli.py +0 -0
  2867. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_jira → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/pull_request_details_commands}/__init__.py +0 -0
  2868. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_change_tracking_id_for_file.py +0 -0
  2869. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_current_user_id.py +0 -0
  2870. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_change_tracking_map.py +0 -0
  2871. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_iteration_changes.py +0 -0
  2872. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_details.py +0 -0
  2873. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_iterations.py +0 -0
  2874. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_pull_request_threads.py +0 -0
  2875. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_reviewer_payload.py +0 -0
  2876. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_get_viewed_files_via_contribution.py +0 -0
  2877. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest.py +0 -0
  2878. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/pull_request_details_commands/test_invoke_ado_rest_post.py +0 -0
  2879. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_reviewer_models → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_attribution}/__init__.py +0 -0
  2880. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_build_commit_file_url.py +0 -0
  2881. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_build_commit_folder_url.py +0 -0
  2882. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_build_commit_pr_url.py +0 -0
  2883. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_format_status.py +0 -0
  2884. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_get_model_family.py +0 -0
  2885. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_get_model_icon.py +0 -0
  2886. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_render_attribution_line.py +0 -0
  2887. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_attribution/test_should_use_emoji.py +0 -0
  2888. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_scaffold → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_commands}/__init__.py +0 -0
  2889. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/conftest.py +0 -0
  2890. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test__detect_unchanged_files.py +0 -0
  2891. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test__normalize_path_for_comparison.py +0 -0
  2892. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test__persist_processing_paths_to_review_state.py +0 -0
  2893. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test__write_unchanged_file_prompt.py +0 -0
  2894. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_build_reviewed_paths_set.py +0 -0
  2895. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_checkout_and_sync_branch.py +0 -0
  2896. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_checkout_and_sync_branch_from_state.py +0 -0
  2897. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_convert_to_prompt_filename.py +0 -0
  2898. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_extract_jira_issue_key_from_title.py +0 -0
  2899. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_fetch_and_display_jira_issue.py +0 -0
  2900. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_fetch_pull_request_basic_info.py +0 -0
  2901. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_filter_threads.py +0 -0
  2902. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_generate_review_prompts.py +0 -0
  2903. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_generate_review_prompts_from_state.py +0 -0
  2904. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_get_jira_issue_key_from_state.py +0 -0
  2905. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_get_linked_pull_request_from_jira.py +0 -0
  2906. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_get_pull_request_id_from_state.py +0 -0
  2907. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_get_root_folder.py +0 -0
  2908. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_get_threads_for_file.py +0 -0
  2909. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_normalize_repo_path.py +0 -0
  2910. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_print_review_instructions.py +0 -0
  2911. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_scaffold_threads_for_review.py +0 -0
  2912. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_setup_pull_request_review.py +0 -0
  2913. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_commands/test_write_file_prompt.py +0 -0
  2914. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_state → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_helpers}/__init__.py +0 -0
  2915. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_build_full_file_content_section.py +0 -0
  2916. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_build_reviewed_paths_set.py +0 -0
  2917. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_convert_to_prompt_filename.py +0 -0
  2918. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_extract_jira_issue_key_from_title.py +0 -0
  2919. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_filter_threads.py +0 -0
  2920. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_get_agdt_threads.py +0 -0
  2921. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_get_language_from_extension.py +0 -0
  2922. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_get_root_folder.py +0 -0
  2923. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_get_threads_for_file.py +0 -0
  2924. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_is_binary_file.py +0 -0
  2925. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_normalize_repo_path.py +0 -0
  2926. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_helpers/test_resolve_repository_root.py +0 -0
  2927. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/review_templates → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_jira}/__init__.py +0 -0
  2928. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test__get_jira_ssl_verify.py +0 -0
  2929. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_display_jira_issue_summary.py +0 -0
  2930. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_extract_linked_pr_from_issue.py +0 -0
  2931. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_extract_pr_id_from_development_panel.py +0 -0
  2932. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_fetch_and_display_jira_issue.py +0 -0
  2933. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_fetch_development_panel_prs.py +0 -0
  2934. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_fetch_jira_issue.py +0 -0
  2935. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_get_jira_credentials.py +0 -0
  2936. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_get_linked_pull_request_from_jira.py +0 -0
  2937. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_jira/test_get_pr_from_development_panel.py +0 -0
  2938. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/run_details_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_reviewer_models}/__init__.py +0 -0
  2939. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_reviewer_models/test_agentpicks.py +0 -0
  2940. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_reviewer_models/test_model_family.py +0 -0
  2941. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_reviewer_models/test_resolve_rubber_duck_models.py +0 -0
  2942. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/status_cascade → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_scaffold}/__init__.py +0 -0
  2943. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__append_path_to_url.py +0 -0
  2944. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__archive_commit_thread.py +0 -0
  2945. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__build_pr_base_url.py +0 -0
  2946. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__build_rereview_skip_message.py +0 -0
  2947. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__check_session_status.py +0 -0
  2948. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__create_session.py +0 -0
  2949. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__demote_main_comment.py +0 -0
  2950. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__format_activity_log_entry.py +0 -0
  2951. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__fresh_scaffold.py +0 -0
  2952. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__get_file_name.py +0 -0
  2953. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__get_folder_for_path.py +0 -0
  2954. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__get_thread_comments.py +0 -0
  2955. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__incremental_rescaffold.py +0 -0
  2956. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__mark_stale_sessions_failed.py +0 -0
  2957. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__patch_comment_content.py +0 -0
  2958. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__post_activity_log_entry.py +0 -0
  2959. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__post_or_update_model_reply.py +0 -0
  2960. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__post_reply.py +0 -0
  2961. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__print_dry_run_plan.py +0 -0
  2962. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__reset_files_for_rereview.py +0 -0
  2963. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__resolve_commit_thread_id.py +0 -0
  2964. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__resolve_scaffold_threads.py +0 -0
  2965. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__try_recover_state_from_pr_threads.py +0 -0
  2966. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__update_activity_log_comment_status.py +0 -0
  2967. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test__validate_with_git_diff.py +0 -0
  2968. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test_detect_file_changes.py +0 -0
  2969. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test_filechangeresult.py +0 -0
  2970. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test_patch_content_fallback.py +0 -0
  2971. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test_scaffold_idempotency_scenarios.py +0 -0
  2972. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_scaffold/test_scaffold_review_threads.py +0 -0
  2973. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/suggestion_commands → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_state}/__init__.py +0 -0
  2974. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test__atomic_write_json.py +0 -0
  2975. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test__get_lock_file_path.py +0 -0
  2976. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_add_suggestion_to_file.py +0 -0
  2977. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_can_inherit_file.py +0 -0
  2978. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_clear_suggestions_for_re_review.py +0 -0
  2979. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_commitcomment.py +0 -0
  2980. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_compute_aggregate_status.py +0 -0
  2981. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_determine_processing_path.py +0 -0
  2982. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_fileentry.py +0 -0
  2983. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_fileentry_cross_identity.py +0 -0
  2984. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_folderentry.py +0 -0
  2985. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_foldergroup.py +0 -0
  2986. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_get_file_entry.py +0 -0
  2987. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_get_folder_entry.py +0 -0
  2988. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_get_review_state_file_path.py +0 -0
  2989. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_is_valid_prior_state.py +0 -0
  2990. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_load_from_branch.py +0 -0
  2991. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_load_review_state.py +0 -0
  2992. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_locking_behavior.py +0 -0
  2993. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_modelcommentref.py +0 -0
  2994. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_normalize_file_path.py +0 -0
  2995. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_overallsummary.py +0 -0
  2996. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_processing_path_inherited.py +0 -0
  2997. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_processing_path_reviewed.py +0 -0
  2998. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_processing_path_reviewed_no_prior.py +0 -0
  2999. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_read_modify_write_review_state.py +0 -0
  3000. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_reviewsession.py +0 -0
  3001. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_reviewstate.py +0 -0
  3002. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_reviewstatus.py +0 -0
  3003. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_save_review_state.py +0 -0
  3004. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_skippedfile.py +0 -0
  3005. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_suggestionentry.py +0 -0
  3006. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_sync_review_state_from_threads.py +0 -0
  3007. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_update_file_status.py +0 -0
  3008. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_state/test_validate_and_deserialize.py +0 -0
  3009. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/suggestion_verification → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/review_templates}/__init__.py +0 -0
  3010. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_build_discussion_url.py +0 -0
  3011. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_render_file_summary.py +0 -0
  3012. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_render_overall_summary.py +0 -0
  3013. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_repair_subsequent_header.py +0 -0
  3014. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_rewrite_header_for_subsequent.py +0 -0
  3015. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/review_templates/test_validate_comment_header.py +0 -0
  3016. {agentic_devtools-0.2.266/tests/unit/cli/azure_devops/vpn_toggle → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/run_details_commands}/__init__.py +0 -0
  3017. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_run.py +0 -0
  3018. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_build_timeline.py +0 -0
  3019. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_failed_job_logs.py +0 -0
  3020. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_pipeline_run.py +0 -0
  3021. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_fetch_task_log.py +0 -0
  3022. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_get_failed_tasks.py +0 -0
  3023. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details.py +0 -0
  3024. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_get_run_details_impl.py +0 -0
  3025. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_is_run_finished.py +0 -0
  3026. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_print_failed_logs_summary.py +0 -0
  3027. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_print_parameters.py +0 -0
  3028. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_print_summary.py +0 -0
  3029. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_save_json.py +0 -0
  3030. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_save_log_file.py +0 -0
  3031. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run.py +0 -0
  3032. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/run_details_commands/test_wait_for_run_impl.py +0 -0
  3033. {agentic_devtools-0.2.266/tests/unit/cli/cert_utils → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/status_cascade}/__init__.py +0 -0
  3034. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test__record_cross_identity_reply.py +0 -0
  3035. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_cascade_isolation.py +0 -0
  3036. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_cascade_overall_summary_update.py +0 -0
  3037. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_cascade_status_update.py +0 -0
  3038. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_derive_overall_status.py +0 -0
  3039. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_execute_cascade.py +0 -0
  3040. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/status_cascade/test_patch_operation.py +0 -0
  3041. {agentic_devtools-0.2.266/tests/unit/cli/checks → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/suggestion_commands}/__init__.py +0 -0
  3042. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_commands/test_confirm_suggestion_addressed.py +0 -0
  3043. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_commands/test_reject_suggestion_resolution.py +0 -0
  3044. {agentic_devtools-0.2.266/tests/unit/cli/checks/__main__ → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/suggestion_verification}/__init__.py +0 -0
  3045. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_categorize_all_suggestions.py +0 -0
  3046. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_fetch_threads_lookup.py +0 -0
  3047. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_has_unaddressed.py +0 -0
  3048. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_partition_results.py +0 -0
  3049. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_render_abort_summary.py +0 -0
  3050. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_render_unaddressed_thread_comment.py +0 -0
  3051. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_suggestionverificationresult.py +0 -0
  3052. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/suggestion_verification/test_verify_previous_suggestions.py +0 -0
  3053. {agentic_devtools-0.2.266/tests/unit/cli/checks/changed_files → agentic_devtools-0.2.268/tests/unit/cli/azure_devops/vpn_toggle}/__init__.py +0 -0
  3054. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_check_network_status.py +0 -0
  3055. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_connect_vpn.py +0 -0
  3056. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_disconnect_vpn.py +0 -0
  3057. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_ensure_jira_vpn_access.py +0 -0
  3058. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_get_corporate_network_test_host.py +0 -0
  3059. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_get_vpn_hostnames.py +0 -0
  3060. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_get_vpn_url_from_state.py +0 -0
  3061. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_is_on_corporate_network.py +0 -0
  3062. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_is_pulse_secure_installed.py +0 -0
  3063. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_is_vpn_connected.py +0 -0
  3064. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_jira_vpn_context.py +0 -0
  3065. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_reconnect_vpn.py +0 -0
  3066. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_run_pulse_command.py +0 -0
  3067. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_smart_connect_vpn.py +0 -0
  3068. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_async.py +0 -0
  3069. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_off_cmd.py +0 -0
  3070. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_async.py +0 -0
  3071. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_on_cmd.py +0 -0
  3072. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_async.py +0 -0
  3073. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_status_cmd.py +0 -0
  3074. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/azure_devops/vpn_toggle/test_vpn_toggle_context.py +0 -0
  3075. {agentic_devtools-0.2.266/tests/unit/cli/checks/commands → agentic_devtools-0.2.268/tests/unit/cli/cert_utils}/__init__.py +0 -0
  3076. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test__print_ssl_error_help.py +0 -0
  3077. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_count_certificates_in_pem.py +0 -0
  3078. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_ensure_ca_bundle.py +0 -0
  3079. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_ensure_ca_bundle_force.py +0 -0
  3080. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_fetch_certificate_chain_openssl.py +0 -0
  3081. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_fetch_certificate_chain_ssl.py +0 -0
  3082. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_get_ssl_verify.py +0 -0
  3083. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_normalize_pem.py +0 -0
  3084. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_normalize_pem_block.py +0 -0
  3085. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/cert_utils/test_ssl_request_with_retry.py +0 -0
  3086. {agentic_devtools-0.2.266/tests/unit/cli/checks/lint → agentic_devtools-0.2.268/tests/unit/cli/checks}/__init__.py +0 -0
  3087. {agentic_devtools-0.2.266/tests/unit/cli/checks/structure → agentic_devtools-0.2.268/tests/unit/cli/checks/__main__}/__init__.py +0 -0
  3088. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/__main__/test_main.py +0 -0
  3089. {agentic_devtools-0.2.266/tests/unit/cli/checks/tests → agentic_devtools-0.2.268/tests/unit/cli/checks/changed_files}/__init__.py +0 -0
  3090. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/changed_files/test_get_changed_files.py +0 -0
  3091. {agentic_devtools-0.2.266/tests/unit/cli/ci → agentic_devtools-0.2.268/tests/unit/cli/checks/commands}/__init__.py +0 -0
  3092. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/commands/test__condense_output.py +0 -0
  3093. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/commands/test__run_checks.py +0 -0
  3094. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/commands/test_check_setup_expectations.py +0 -0
  3095. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/commands/test_main.py +0 -0
  3096. {agentic_devtools-0.2.266/tests/unit/cli/ci/actionable_checks → agentic_devtools-0.2.268/tests/unit/cli/checks/lint}/__init__.py +0 -0
  3097. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/lint/test_format_check_files.py +0 -0
  3098. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/lint/test_format_fix_files.py +0 -0
  3099. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/lint/test_lint_files.py +0 -0
  3100. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/lint/test_mypy_check_files.py +0 -0
  3101. {agentic_devtools-0.2.266/tests/unit/cli/ci/ado_provider → agentic_devtools-0.2.268/tests/unit/cli/checks/structure}/__init__.py +0 -0
  3102. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/structure/test_validate_test_structure.py +0 -0
  3103. {agentic_devtools-0.2.266/tests/unit/cli/ci/commands → agentic_devtools-0.2.268/tests/unit/cli/checks/tests}/__init__.py +0 -0
  3104. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/tests/test_run_changed_tests.py +0 -0
  3105. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/tests/test_run_coverage_check.py +0 -0
  3106. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/checks/tests/test_run_one_coverage.py +0 -0
  3107. {agentic_devtools-0.2.266/tests/unit/cli/ci/delete_review_comments_command → agentic_devtools-0.2.268/tests/unit/cli/ci}/__init__.py +0 -0
  3108. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator → agentic_devtools-0.2.268/tests/unit/cli/ci/actionable_checks}/__init__.py +0 -0
  3109. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/actionable_checks/test_actionable_checks.py +0 -0
  3110. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/actions → agentic_devtools-0.2.268/tests/unit/cli/ci/ado_provider}/__init__.py +0 -0
  3111. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/ado_provider/test__author_matches.py +0 -0
  3112. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/ado_provider/test__first_line.py +0 -0
  3113. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/ado_provider/test__select_deletion_targets.py +0 -0
  3114. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/ado_provider/test_azuredevopsprovider.py +0 -0
  3115. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/ado_provider/test_delete_review_comments.py +0 -0
  3116. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/agent_assignment/__init__.py +0 -0
  3117. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/agent_assignment/test_assign_issue_to_agent.py +0 -0
  3118. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/classifier → agentic_devtools-0.2.268/tests/unit/cli/ci/commands}/__init__.py +0 -0
  3119. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_ai_pr_loop_command.py +0 -0
  3120. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_ai_pr_loop_command_missing_dep.py +0 -0
  3121. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_assign_implementation_agent_command.py +0 -0
  3122. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_ci_paths_golden_smoke.py +0 -0
  3123. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_feature_flag.py +0 -0
  3124. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/commands/test_speckit_trigger_command.py +0 -0
  3125. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/command → agentic_devtools-0.2.268/tests/unit/cli/ci/delete_review_comments_command}/__init__.py +0 -0
  3126. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/delete_review_comments_command/test__build_provider.py +0 -0
  3127. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/delete_review_comments_command/test__print_result.py +0 -0
  3128. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/delete_review_comments_command/test__resolve_ado_coordinates.py +0 -0
  3129. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/delete_review_comments_command/test_delete_review_comments_command.py +0 -0
  3130. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/diff_heuristic → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator}/__init__.py +0 -0
  3131. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/lock → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/actions}/__init__.py +0 -0
  3132. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_agentic_fallback.py +0 -0
  3133. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_dispatch_action.py +0 -0
  3134. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_no_action.py +0 -0
  3135. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_resolve_evaluated_threads.py +0 -0
  3136. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_synthesize_sentinel.py +0 -0
  3137. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_trigger_re_review.py +0 -0
  3138. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/actions/test_verify_and_resolve.py +0 -0
  3139. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/models → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/classifier}/__init__.py +0 -0
  3140. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/classifier/test_classify_post_agent_state.py +0 -0
  3141. {agentic_devtools-0.2.266/tests/unit/cli/ci/evaluator/snapshot → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/command}/__init__.py +0 -0
  3142. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/command/test_evaluate_post_agent_state_command.py +0 -0
  3143. {agentic_devtools-0.2.266/tests/unit/cli/ci/exceptions → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/diff_heuristic}/__init__.py +0 -0
  3144. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/diff_heuristic/test_check_lines_modified.py +0 -0
  3145. {agentic_devtools-0.2.266/tests/unit/cli/ci/github_provider → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/lock}/__init__.py +0 -0
  3146. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/lock/test__get_writer_token.py +0 -0
  3147. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/lock/test_acquire_lock.py +0 -0
  3148. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/lock/test_check_lock_status.py +0 -0
  3149. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/lock/test_release_lock.py +0 -0
  3150. {agentic_devtools-0.2.266/tests/unit/cli/ci/guards → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/models}/__init__.py +0 -0
  3151. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_commentinfo.py +0 -0
  3152. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_evaluationresult.py +0 -0
  3153. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_postagentaction.py +0 -0
  3154. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_postagentclassification.py +0 -0
  3155. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_postagentsnapshot.py +0 -0
  3156. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/models/test_threadinfo.py +0 -0
  3157. {agentic_devtools-0.2.266/tests/unit/cli/ci/job_logs → agentic_devtools-0.2.268/tests/unit/cli/ci/evaluator/snapshot}/__init__.py +0 -0
  3158. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/snapshot/test__get_latest_agent_comment.py +0 -0
  3159. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/snapshot/test__get_review_thread_statuses.py +0 -0
  3160. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/snapshot/test__has_evaluator_sentinel_comment.py +0 -0
  3161. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/evaluator/snapshot/test_build_snapshot.py +0 -0
  3162. {agentic_devtools-0.2.266/tests/unit/cli/ci/logging_config → agentic_devtools-0.2.268/tests/unit/cli/ci/exceptions}/__init__.py +0 -0
  3163. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/exceptions/test_malformedeventerror.py +0 -0
  3164. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/exceptions/test_providerratelimiterror.py +0 -0
  3165. {agentic_devtools-0.2.266/tests/unit/cli/ci/models → agentic_devtools-0.2.268/tests/unit/cli/ci/github_provider}/__init__.py +0 -0
  3166. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__build_comment_verification_context.py +0 -0
  3167. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__build_head_commit_line.py +0 -0
  3168. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__build_repair_comment.py +0 -0
  3169. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__build_squash_commit_message.py +0 -0
  3170. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__build_verification_context_diff.py +0 -0
  3171. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__clean_sdk_commit_message.py +0 -0
  3172. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__deduplicate_review_comments.py +0 -0
  3173. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__enforce_comment_size_limit.py +0 -0
  3174. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__extract_existing_pr_url.py +0 -0
  3175. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__extract_github_key_from_subjects.py +0 -0
  3176. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__fence.py +0 -0
  3177. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__fetch_outdated_by_comment_id.py +0 -0
  3178. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__generate_commit_message_via_sdk.py +0 -0
  3179. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__has_existing_addressed_reply.py +0 -0
  3180. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__is_sdk_footer_line.py +0 -0
  3181. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__list_abandoned_reply_parent_comment_ids.py +0 -0
  3182. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__list_addressed_reply_parent_comment_ids.py +0 -0
  3183. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__list_unresolve_reply_parent_comment_ids.py +0 -0
  3184. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__parse_paginated_json.py +0 -0
  3185. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__parse_suppressed_from_review_body.py +0 -0
  3186. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__read_repo_file.py +0 -0
  3187. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__render_squash_message_from_sdk.py +0 -0
  3188. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__repo_api.py +0 -0
  3189. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_conflicted_file_content_via_sdk.py +0 -0
  3190. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_issue_key_adapter_aware.py +0 -0
  3191. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_issue_key_from_branch.py +0 -0
  3192. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_issue_type_from_branch.py +0 -0
  3193. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_rebase_conflicts_via_sdk.py +0 -0
  3194. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__resolve_repair_skills.py +0 -0
  3195. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__strip_trailing_sdk_footer_lines.py +0 -0
  3196. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__verify_comment_via_sdk.py +0 -0
  3197. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test__verify_comments_fr003_guard.py +0 -0
  3198. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_add_label.py +0 -0
  3199. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_approve_pr.py +0 -0
  3200. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_claim_pr_for_audit.py +0 -0
  3201. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_compute_diff_hash.py +0 -0
  3202. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_count_commits_behind.py +0 -0
  3203. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_count_prs_without_labels.py +0 -0
  3204. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_count_unresolved_review_threads.py +0 -0
  3205. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_create_audit_tracking_issue.py +0 -0
  3206. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_create_pull_request.py +0 -0
  3207. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_delete_branch.py +0 -0
  3208. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_delete_review_comments.py +0 -0
  3209. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_dispatch_audit_evaluation.py +0 -0
  3210. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_dispatch_conflict_repair.py +0 -0
  3211. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_finalize_post_repair.py +0 -0
  3212. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_finalize_post_repair_reply_format.py +0 -0
  3213. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_find_comment.py +0 -0
  3214. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_check_annotations.py +0 -0
  3215. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_commit_author_login.py +0 -0
  3216. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_commit_range_diff.py +0 -0
  3217. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_label_applied_at.py +0 -0
  3218. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_pr_diff.py +0 -0
  3219. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_pr_metadata.py +0 -0
  3220. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_get_ref_sha.py +0 -0
  3221. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_gh_api.py +0 -0
  3222. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_graphql.py +0 -0
  3223. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_all_review_comments.py +0 -0
  3224. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_check_runs.py +0 -0
  3225. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_closed_prs.py +0 -0
  3226. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_issue_comments.py +0 -0
  3227. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_open_copilot_pr_briefs.py +0 -0
  3228. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_pr_files.py +0 -0
  3229. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_pr_issue_events.py +0 -0
  3230. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_prs_with_label.py +0 -0
  3231. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_review_comments.py +0 -0
  3232. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_review_thread_states.py +0 -0
  3233. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_reviews.py +0 -0
  3234. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_list_workflow_runs.py +0 -0
  3235. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_merge_pr.py +0 -0
  3236. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_parse_event.py +0 -0
  3237. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_parse_event_label.py +0 -0
  3238. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_post_comment.py +0 -0
  3239. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_publish_pr.py +0 -0
  3240. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_rebase_onto_base.py +0 -0
  3241. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_reclaim_copilot_commit.py +0 -0
  3242. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_remove_label.py +0 -0
  3243. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_request_reviewer.py +0 -0
  3244. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_rerun_workflow.py +0 -0
  3245. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_retry_integration.py +0 -0
  3246. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_scheduler_methods.py +0 -0
  3247. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_squash_before_publish.py +0 -0
  3248. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/github_provider/test_update_comment.py +0 -0
  3249. {agentic_devtools-0.2.266/tests/unit/cli/ci/patch_handler → agentic_devtools-0.2.268/tests/unit/cli/ci/guards}/__init__.py +0 -0
  3250. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test__parse_iso8601_timestamp_guard.py +0 -0
  3251. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_build_conflict_repair_marker.py +0 -0
  3252. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_cycle_limit.py +0 -0
  3253. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_deduplication.py +0 -0
  3254. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_docker_files.py +0 -0
  3255. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_edit_relevance.py +0 -0
  3256. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_exclusion_labels.py +0 -0
  3257. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_fork_pr.py +0 -0
  3258. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_check_privileged_paths.py +0 -0
  3259. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_get_dedup_writer_token.py +0 -0
  3260. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_is_duplicate_trigger.py +0 -0
  3261. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_repair_satisfied_marker.py +0 -0
  3262. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_should_dispatch_conflict_repair.py +0 -0
  3263. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/guards/test_squash_wait_marker.py +0 -0
  3264. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline → agentic_devtools-0.2.268/tests/unit/cli/ci/job_logs}/__init__.py +0 -0
  3265. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_condense_job_log.py +0 -0
  3266. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_extract_job_id.py +0 -0
  3267. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_fetch_condensed_job_log.py +0 -0
  3268. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_fetch_failed_check_context.py +0 -0
  3269. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_fetch_job_details.py +0 -0
  3270. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_fetch_run_event.py +0 -0
  3271. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/job_logs/test_parse_failed_step_logs.py +0 -0
  3272. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions → agentic_devtools-0.2.268/tests/unit/cli/ci/logging_config}/__init__.py +0 -0
  3273. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/logging_config/test_is_github_actions.py +0 -0
  3274. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/logging_config/test_log_group.py +0 -0
  3275. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/logging_config/test_setup_logging.py +0 -0
  3276. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/apply_suggestions → agentic_devtools-0.2.268/tests/unit/cli/ci/models}/__init__.py +0 -0
  3277. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_checkrunstatus.py +0 -0
  3278. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_commentresolution.py +0 -0
  3279. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_copilot_reviewer_login.py +0 -0
  3280. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_eventpayload.py +0 -0
  3281. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_failedcheckcontext.py +0 -0
  3282. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_failedsteplog.py +0 -0
  3283. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_finalizationresult.py +0 -0
  3284. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_prmetadata.py +0 -0
  3285. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_repairdecision.py +0 -0
  3286. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_reviewcommentdeletionresult.py +0 -0
  3287. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_reviewcommentinfo.py +0 -0
  3288. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_reviewcommenttarget.py +0 -0
  3289. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_reviewinfo.py +0 -0
  3290. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/models/test_verificationverdict.py +0 -0
  3291. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/approve → agentic_devtools-0.2.268/tests/unit/cli/ci/patch_handler}/__init__.py +0 -0
  3292. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/dispatch_repair → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline}/__init__.py +0 -0
  3293. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/guards → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions}/__init__.py +0 -0
  3294. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/merge → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/apply_suggestions}/__init__.py +0 -0
  3295. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/apply_suggestions/test__post_summary_comment.py +0 -0
  3296. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/apply_suggestions/test_applysuggestionsaction.py +0 -0
  3297. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/publish → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/approve}/__init__.py +0 -0
  3298. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/approve/test_approveaction.py +0 -0
  3299. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/rebase → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/dispatch_repair}/__init__.py +0 -0
  3300. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/dispatch_repair/test_dispatchrepairaction.py +0 -0
  3301. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/request_review → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/guards}/__init__.py +0 -0
  3302. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/guards/test_guardsaction.py +0 -0
  3303. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/resolve_threads → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/merge}/__init__.py +0 -0
  3304. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/merge/test_mergeaction.py +0 -0
  3305. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/actions/squash → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/publish}/__init__.py +0 -0
  3306. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/publish/test_publishaction.py +0 -0
  3307. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/base → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/rebase}/__init__.py +0 -0
  3308. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/rebase/test_rebaseaction.py +0 -0
  3309. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/command → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/request_review}/__init__.py +0 -0
  3310. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/request_review/test_requestreviewaction.py +0 -0
  3311. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/deferral → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/resolve_threads}/__init__.py +0 -0
  3312. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/resolve_threads/test_resolvethreadsaction.py +0 -0
  3313. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/actions/squash}/__init__.py +0 -0
  3314. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/squash/test_squashaction.py +0 -0
  3315. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/takeover/__init__.py +0 -0
  3316. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/actions/takeover/test_takeovercopilotcommitaction.py +0 -0
  3317. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/browser_strategy → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/base}/__init__.py +0 -0
  3318. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/base/test_action.py +0 -0
  3319. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/graphql_strategy → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/command}/__init__.py +0 -0
  3320. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/command/test__determine_exit_code.py +0 -0
  3321. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/command/test_run_ai_pr_loop_v2.py +0 -0
  3322. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/html_strategy → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/deferral}/__init__.py +0 -0
  3323. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/deferral/test_post_deferral_marker.py +0 -0
  3324. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/models → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery}/__init__.py +0 -0
  3325. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/orchestrator → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/browser_strategy}/__init__.py +0 -0
  3326. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/browser_strategy/test_browser_discover.py +0 -0
  3327. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/discovery/rest_strategy → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/graphql_strategy}/__init__.py +0 -0
  3328. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/graphql_strategy/test_graphql_discover.py +0 -0
  3329. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/exceptions → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/html_strategy}/__init__.py +0 -0
  3330. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/html_strategy/test_html_discover.py +0 -0
  3331. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/exclusion → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/models}/__init__.py +0 -0
  3332. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/models/test_discoveryattempt.py +0 -0
  3333. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/models/test_discoveryoutcome.py +0 -0
  3334. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/gate_verdict → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/orchestrator}/__init__.py +0 -0
  3335. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/orchestrator/test_browser_tier_enabled.py +0 -0
  3336. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/orchestrator/test_run_discovery.py +0 -0
  3337. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/orchestrator/test_should_retry.py +0 -0
  3338. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/models → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/discovery/rest_strategy}/__init__.py +0 -0
  3339. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/discovery/rest_strategy/test_rest_discover.py +0 -0
  3340. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/runner → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/exceptions}/__init__.py +0 -0
  3341. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/exceptions/test_pipeline_exceptions.py +0 -0
  3342. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/session_detector → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/exclusion}/__init__.py +0 -0
  3343. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/exclusion/test_exclusioncontext.py +0 -0
  3344. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/snapshot → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/gate_verdict}/__init__.py +0 -0
  3345. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/gate_verdict/test_evaluate_copilot_gate_verdict.py +0 -0
  3346. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/suggestions → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/models}/__init__.py +0 -0
  3347. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/models/test_actiondecision.py +0 -0
  3348. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/models/test_actionresult.py +0 -0
  3349. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/models/test_pipelinerunsummary.py +0 -0
  3350. {agentic_devtools-0.2.266/tests/unit/cli/ci/pipeline/summary → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/runner}/__init__.py +0 -0
  3351. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/runner/test_run_pipeline.py +0 -0
  3352. {agentic_devtools-0.2.266/tests/unit/cli/ci/provider → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/session_detector}/__init__.py +0 -0
  3353. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/session_detector/test_is_copilot_session_active.py +0 -0
  3354. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/session_detector/test_is_copilot_session_active_via_agent_task.py +0 -0
  3355. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/snapshot}/__init__.py +0 -0
  3356. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/snapshot/test_build_pr_state_snapshot.py +0 -0
  3357. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/snapshot/test_count_commits_behind.py +0 -0
  3358. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/snapshot/test_derivedstate.py +0 -0
  3359. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/snapshot/test_prstatesnapshot.py +0 -0
  3360. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/command → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/suggestions}/__init__.py +0 -0
  3361. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/suggestions/test_apply_suggestions_batch.py +0 -0
  3362. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/suggestions/test_apply_suggestions_with_bisection.py +0 -0
  3363. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/suggestions/test_applysuggestionsresult.py +0 -0
  3364. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/suggestions/test_fetch_applicable_suggestions.py +0 -0
  3365. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/config → agentic_devtools-0.2.268/tests/unit/cli/ci/pipeline/summary}/__init__.py +0 -0
  3366. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/summary/test_collapse_prior_summaries.py +0 -0
  3367. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/pipeline/summary/test_render_summary_comment.py +0 -0
  3368. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/context_mapper → agentic_devtools-0.2.268/tests/unit/cli/ci/provider}/__init__.py +0 -0
  3369. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/provider/test_ciplatformprovider.py +0 -0
  3370. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/provider/test_ciplatformprovider_integration.py +0 -0
  3371. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/provider/test_list_eligible_prs.py +0 -0
  3372. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/provider/test_list_open_copilot_pr_briefs.py +0 -0
  3373. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/provider/test_scheduler_methods.py +0 -0
  3374. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/engine → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation}/__init__.py +0 -0
  3375. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/exceptions → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation/command}/__init__.py +0 -0
  3376. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/command/test_list_workflow_runs.py +0 -0
  3377. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/command/test_reconcile_command.py +0 -0
  3378. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/command/test_rerun_workflow.py +0 -0
  3379. {agentic_devtools-0.2.266/tests/unit/cli/ci/reconciliation/models → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation/config}/__init__.py +0 -0
  3380. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/config/test_max_run_attempts.py +0 -0
  3381. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/config/test_reconciliation_window_hours.py +0 -0
  3382. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation/context_mapper}/__init__.py +0 -0
  3383. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/context_mapper/test_map_run_context.py +0 -0
  3384. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation}/engine/__init__.py +0 -0
  3385. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/engine/test_reconcile.py +0 -0
  3386. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/github_adapter → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation/exceptions}/__init__.py +0 -0
  3387. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/exceptions/test_unmappablecontexterror.py +0 -0
  3388. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution → agentic_devtools-0.2.268/tests/unit/cli/ci/reconciliation}/models/__init__.py +0 -0
  3389. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/models/test_reconciliationresult.py +0 -0
  3390. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/models/test_runeventcontext.py +0 -0
  3391. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/reconciliation/models/test_workflowrun.py +0 -0
  3392. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/protocols → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution}/__init__.py +0 -0
  3393. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/reply_formatter → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/engine}/__init__.py +0 -0
  3394. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/engine/test_tieredresolutionengine.py +0 -0
  3395. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/state_persistence → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/github_adapter}/__init__.py +0 -0
  3396. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/github_adapter/test_githubthreadadapter.py +0 -0
  3397. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/models}/__init__.py +0 -0
  3398. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/models/test_resolutionreply.py +0 -0
  3399. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/models/test_resolutionverdict.py +0 -0
  3400. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/models/test_threadresolutionstate.py +0 -0
  3401. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/models/test_tierresult.py +0 -0
  3402. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/automation_markers → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/protocols}/__init__.py +0 -0
  3403. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/protocols/test_evaluationtier.py +0 -0
  3404. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/protocols/test_resolutioncontext.py +0 -0
  3405. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/protocols/test_reviewthread.py +0 -0
  3406. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/protocols/test_threadcomment.py +0 -0
  3407. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/protocols/test_threadresolver.py +0 -0
  3408. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/diff_heuristic → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/reply_formatter}/__init__.py +0 -0
  3409. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/reply_formatter/test_replyformatter.py +0 -0
  3410. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/outdated → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/state_persistence}/__init__.py +0 -0
  3411. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test__thread_id_to_filename.py +0 -0
  3412. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_clear_resolution_state.py +0 -0
  3413. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_increment_iteration.py +0 -0
  3414. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_is_tentative_expired.py +0 -0
  3415. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_load_resolution_state.py +0 -0
  3416. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_mark_abandoned.py +0 -0
  3417. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/state_persistence/test_save_resolution_state.py +0 -0
  3418. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/sdk_evaluation → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers}/__init__.py +0 -0
  3419. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/swe_agent_reply → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/automation_markers}/__init__.py +0 -0
  3420. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/automation_markers/test_automationmarkertier.py +0 -0
  3421. {agentic_devtools-0.2.266/tests/unit/cli/ci/resolution/tiers/thread_evaluated → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/diff_heuristic}/__init__.py +0 -0
  3422. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/diff_heuristic/test_diffheuristictier.py +0 -0
  3423. {agentic_devtools-0.2.266/tests/unit/cli/ci/retry → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/outdated}/__init__.py +0 -0
  3424. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/outdated/test_outdatedtier.py +0 -0
  3425. {agentic_devtools-0.2.266/tests/unit/cli/ci/scheduler → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/sdk_evaluation}/__init__.py +0 -0
  3426. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/sdk_evaluation/test__parse_sdk_response.py +0 -0
  3427. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/sdk_evaluation/test_sdkevaluationtier.py +0 -0
  3428. {agentic_devtools-0.2.266/tests/unit/cli/ci/scheduler_command → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/swe_agent_reply}/__init__.py +0 -0
  3429. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/swe_agent_reply/test_sweagentreplytier.py +0 -0
  3430. {agentic_devtools-0.2.266/tests/unit/cli/ci/speckit_trigger → agentic_devtools-0.2.268/tests/unit/cli/ci/resolution/tiers/thread_evaluated}/__init__.py +0 -0
  3431. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/resolution/tiers/thread_evaluated/test_threadevaluatedtier.py +0 -0
  3432. {agentic_devtools-0.2.266/tests/unit/cli/ci/tracker → agentic_devtools-0.2.268/tests/unit/cli/ci/retry}/__init__.py +0 -0
  3433. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/retry/test_retry_with_backoff.py +0 -0
  3434. {agentic_devtools-0.2.266/tests/unit/cli/ci/tracker/merger → agentic_devtools-0.2.268/tests/unit/cli/ci/scheduler}/__init__.py +0 -0
  3435. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_dispatchevent.py +0 -0
  3436. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_eligiblepr.py +0 -0
  3437. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_filter_eligible_prs.py +0 -0
  3438. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_resolve_batch_size.py +0 -0
  3439. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_resolve_cursor.py +0 -0
  3440. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_resolve_pool_size.py +0 -0
  3441. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_run_scheduler.py +0 -0
  3442. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_schedulerresult.py +0 -0
  3443. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler/test_select_next_batch.py +0 -0
  3444. {agentic_devtools-0.2.266/tests/unit/cli/ci/tracker/models → agentic_devtools-0.2.268/tests/unit/cli/ci/scheduler_command}/__init__.py +0 -0
  3445. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/scheduler_command/test_ai_pr_loop_scheduler_command.py +0 -0
  3446. {agentic_devtools-0.2.266/tests/unit/cli/ci/tracker/parser → agentic_devtools-0.2.268/tests/unit/cli/ci/speckit_trigger}/__init__.py +0 -0
  3447. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/speckit_trigger/test_speckit_trigger_deprecation.py +0 -0
  3448. {agentic_devtools-0.2.266/tests/unit/cli/ci/tracker/renderer → agentic_devtools-0.2.268/tests/unit/cli/ci/tracker}/__init__.py +0 -0
  3449. {agentic_devtools-0.2.266/tests/unit/cli/config → agentic_devtools-0.2.268/tests/unit/cli/ci/tracker/merger}/__init__.py +0 -0
  3450. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/merger/test_determine_new_sessions.py +0 -0
  3451. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/merger/test_is_review_completion.py +0 -0
  3452. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/merger/test_merge_sessions.py +0 -0
  3453. {agentic_devtools-0.2.266/tests/unit/cli/config/commit_type_resolution → agentic_devtools-0.2.268/tests/unit/cli/ci/tracker/models}/__init__.py +0 -0
  3454. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/models/test_detectionsource.py +0 -0
  3455. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/models/test_trackedsession.py +0 -0
  3456. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/models/test_trackercomment.py +0 -0
  3457. {agentic_devtools-0.2.266/tests/unit/cli/config/opt_in_mode → agentic_devtools-0.2.268/tests/unit/cli/ci/tracker/parser}/__init__.py +0 -0
  3458. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/parser/test_parse_render_roundtrip.py +0 -0
  3459. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/parser/test_parse_tracker_comment.py +0 -0
  3460. {agentic_devtools-0.2.266/tests/unit/cli/config/project_config → agentic_devtools-0.2.268/tests/unit/cli/ci/tracker/renderer}/__init__.py +0 -0
  3461. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/renderer/test_render_tracker_comment.py +0 -0
  3462. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/ci/tracker/renderer/test_truncate_sessions.py +0 -0
  3463. {agentic_devtools-0.2.266/tests/unit/cli/config/pull_request_review_config → agentic_devtools-0.2.268/tests/unit/cli/config}/__init__.py +0 -0
  3464. {agentic_devtools-0.2.266/tests/unit/cli/config/sync_back → agentic_devtools-0.2.268/tests/unit/cli/config/commit_type_resolution}/__init__.py +0 -0
  3465. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test__escape_single_quote.py +0 -0
  3466. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test_read_available_commit_types.py +0 -0
  3467. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test_read_default_commit_type.py +0 -0
  3468. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test_resolve_commit_issue_type.py +0 -0
  3469. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test_standard_commit_types.py +0 -0
  3470. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/commit_type_resolution/test_validate_commit_issue_type.py +0 -0
  3471. {agentic_devtools-0.2.266/tests/unit/cli/copilot → agentic_devtools-0.2.268/tests/unit/cli/config/opt_in_mode}/__init__.py +0 -0
  3472. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/opt_in_mode/test_config_mode_cmd.py +0 -0
  3473. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/opt_in_mode/test_get_config_mode.py +0 -0
  3474. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/opt_in_mode/test_invalid_config_mode.py +0 -0
  3475. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/opt_in_mode/test_validate_config_mode.py +0 -0
  3476. {agentic_devtools-0.2.266/tests/unit/cli/copilot/auto_start → agentic_devtools-0.2.268/tests/unit/cli/config/project_config}/__init__.py +0 -0
  3477. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test__get_config_path.py +0 -0
  3478. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_get_available_models.py +0 -0
  3479. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_get_effective_project_config_value.py +0 -0
  3480. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_get_project_config_value.py +0 -0
  3481. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_load_effective_project_config.py +0 -0
  3482. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_load_project_config.py +0 -0
  3483. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_save_project_config.py +0 -0
  3484. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/project_config/test_sync_eligible_keys.py +0 -0
  3485. {agentic_devtools-0.2.266/tests/unit/cli/copilot/session → agentic_devtools-0.2.268/tests/unit/cli/config/pull_request_review_config}/__init__.py +0 -0
  3486. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/pull_request_review_config/test_load_pull_request_review_config.py +0 -0
  3487. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/pull_request_review_config/test_pullrequestreviewconfig.py +0 -0
  3488. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/pull_request_review_config/test_rubberduckconfig.py +0 -0
  3489. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/pull_request_review_config/test_triageconfig.py +0 -0
  3490. {agentic_devtools-0.2.266/tests/unit/cli/copilot/trust → agentic_devtools-0.2.268/tests/unit/cli/config/sync_back}/__init__.py +0 -0
  3491. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/sync_back/test_sync_back.py +0 -0
  3492. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/sync_back/test_sync_back_cmd.py +0 -0
  3493. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/config/sync_back/test_validate_cross_field.py +0 -0
  3494. {agentic_devtools-0.2.266/tests/unit/cli/git → agentic_devtools-0.2.268/tests/unit/cli/copilot}/__init__.py +0 -0
  3495. {agentic_devtools-0.2.266/tests/unit/cli/git/agdt_branch → agentic_devtools-0.2.268/tests/unit/cli/copilot/auto_start}/__init__.py +0 -0
  3496. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__is_retryable_win_error.py +0 -0
  3497. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__is_run_triggered.py +0 -0
  3498. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__mark_run_triggered.py +0 -0
  3499. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__read_model_from_state.py +0 -0
  3500. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__run_copilot_with_retry.py +0 -0
  3501. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test__unmark_run_triggered.py +0 -0
  3502. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test_copilot_auto_start_cmd.py +0 -0
  3503. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/auto_start/test_retry_autostart_cmd.py +0 -0
  3504. {agentic_devtools-0.2.266/tests/unit/cli/git/async_commands → agentic_devtools-0.2.268/tests/unit/cli/copilot/session}/__init__.py +0 -0
  3505. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__build_copilot_args.py +0 -0
  3506. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__check_session_mutex.py +0 -0
  3507. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__emit_log_marker.py +0 -0
  3508. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__get_copilot_binary.py +0 -0
  3509. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__get_jsonl_file_path.py +0 -0
  3510. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test__is_process_alive.py +0 -0
  3511. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test_build_copilot_args.py +0 -0
  3512. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test_copilotsessionresult.py +0 -0
  3513. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test_get_default_copilot_model.py +0 -0
  3514. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test_is_gh_copilot_available.py +0 -0
  3515. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/session/test_start_copilot_session.py +0 -0
  3516. {agentic_devtools-0.2.266/tests/unit/cli/git/commands → agentic_devtools-0.2.268/tests/unit/cli/copilot/trust}/__init__.py +0 -0
  3517. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__in_test_environment.py +0 -0
  3518. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__is_already_trusted.py +0 -0
  3519. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__is_ancestor_or_equal.py +0 -0
  3520. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__normalize_path.py +0 -0
  3521. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__path_key.py +0 -0
  3522. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__split_jsonc_header.py +0 -0
  3523. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test__verify_trusted.py +0 -0
  3524. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test_ensure_trusted_folder.py +0 -0
  3525. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test_get_copilot_config_path.py +0 -0
  3526. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test_is_auto_trust_enabled.py +0 -0
  3527. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/copilot/trust/test_seed_worktree_trust.py +0 -0
  3528. {agentic_devtools-0.2.266/tests/unit/cli/git/commit_intent → agentic_devtools-0.2.268/tests/unit/cli/git}/__init__.py +0 -0
  3529. {agentic_devtools-0.2.266/tests/unit/cli/git/commit_template → agentic_devtools-0.2.268/tests/unit/cli/git/agdt_branch}/__init__.py +0 -0
  3530. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__branch_exists_locally.py +0 -0
  3531. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__branch_exists_remotely.py +0 -0
  3532. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__discover_workflow_files.py +0 -0
  3533. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__fetch_branch.py +0 -0
  3534. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__get_parent_sha.py +0 -0
  3535. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__get_repo_root.py +0 -0
  3536. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__has_matching_run_id.py +0 -0
  3537. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__read_commit_message.py +0 -0
  3538. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__read_tree_for_commit.py +0 -0
  3539. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__reset_dirty.py +0 -0
  3540. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test__run_plumbing.py +0 -0
  3541. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_build_tree.py +0 -0
  3542. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_create_commit.py +0 -0
  3543. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_gitplumbingerror.py +0 -0
  3544. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_hash_object.py +0 -0
  3545. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_is_dirty.py +0 -0
  3546. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_load_workflow_artifacts.py +0 -0
  3547. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_mark_dirty.py +0 -0
  3548. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_persist_if_dirty.py +0 -0
  3549. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_persist_workflow_state.py +0 -0
  3550. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_persistresult.py +0 -0
  3551. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_push_branch.py +0 -0
  3552. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_read_blob.py +0 -0
  3553. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_read_branch_tree.py +0 -0
  3554. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_resolve_worktree_key.py +0 -0
  3555. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/agdt_branch/test_update_ref.py +0 -0
  3556. {agentic_devtools-0.2.266/tests/unit/cli/git/core → agentic_devtools-0.2.268/tests/unit/cli/git/async_commands}/__init__.py +0 -0
  3557. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/_helpers.py +0 -0
  3558. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_amend_async.py +0 -0
  3559. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_commit_async.py +0 -0
  3560. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_force_push_async.py +0 -0
  3561. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_publish_async.py +0 -0
  3562. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_push_async.py +0 -0
  3563. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/async_commands/test_stage_async.py +0 -0
  3564. {agentic_devtools-0.2.266/tests/unit/cli/git/diff → agentic_devtools-0.2.268/tests/unit/cli/git/commands}/__init__.py +0 -0
  3565. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/conftest.py +0 -0
  3566. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__extract_commit_parts.py +0 -0
  3567. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__get_issue_key_from_state.py +0 -0
  3568. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__mark_checklist_items_completed.py +0 -0
  3569. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__persist_effective_commit_message.py +0 -0
  3570. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__sync_with_main.py +0 -0
  3571. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test__trigger_implementation_review.py +0 -0
  3572. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_amend_cmd.py +0 -0
  3573. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_commit_cmd.py +0 -0
  3574. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_force_push_cmd.py +0 -0
  3575. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_publish_cmd.py +0 -0
  3576. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_push_cmd.py +0 -0
  3577. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commands/test_stage_cmd.py +0 -0
  3578. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/__init__.py +0 -0
  3579. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_assemble_message.py +0 -0
  3580. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_extract_title.py +0 -0
  3581. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_get_commit_body_path.py +0 -0
  3582. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_parse_frontmatter.py +0 -0
  3583. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_read_commit_body.py +0 -0
  3584. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_body/test_show_cmd.py +0 -0
  3585. {agentic_devtools-0.2.266/tests/unit/cli/git/operations → agentic_devtools-0.2.268/tests/unit/cli/git/commit_intent}/__init__.py +0 -0
  3586. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_intent/test__remove_leading_title_stanza.py +0 -0
  3587. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_intent/test_commitintent.py +0 -0
  3588. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_intent/test_resolve_commit_intent.py +0 -0
  3589. {agentic_devtools-0.2.266/tests/unit/cli/git/transparency → agentic_devtools-0.2.268/tests/unit/cli/git/commit_template}/__init__.py +0 -0
  3590. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__build_render_context.py +0 -0
  3591. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__derive_issue_link_from_key.py +0 -0
  3592. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__discover_git_root.py +0 -0
  3593. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__get_missing_required_variables.py +0 -0
  3594. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__load_template.py +0 -0
  3595. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__resolve_commit_body.py +0 -0
  3596. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__resolve_commit_title.py +0 -0
  3597. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__resolve_issue_key.py +0 -0
  3598. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__resolve_issue_link.py +0 -0
  3599. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__resolve_issue_type.py +0 -0
  3600. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test__warn_unresolved_variables.py +0 -0
  3601. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/commit_template/test_resolve_commit_message_from_template.py +0 -0
  3602. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/conftest.py +0 -0
  3603. {agentic_devtools-0.2.266/tests/unit/cli/github → agentic_devtools-0.2.268/tests/unit/cli/git/core}/__init__.py +0 -0
  3604. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/core/test_get_bool_state.py +0 -0
  3605. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/core/test_get_commit_message.py +0 -0
  3606. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/core/test_get_current_branch.py +0 -0
  3607. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/core/test_run_git.py +0 -0
  3608. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/core/test_temp_message_file.py +0 -0
  3609. {agentic_devtools-0.2.266/tests/unit/cli/github/apply_thread_autofix → agentic_devtools-0.2.268/tests/unit/cli/git/diff}/__init__.py +0 -0
  3610. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test__is_diff_file_header.py +0 -0
  3611. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_addedline.py +0 -0
  3612. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_addedlinesinfo.py +0 -0
  3613. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_diffentry.py +0 -0
  3614. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_difflinesinfo.py +0 -0
  3615. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_get_added_lines_info.py +0 -0
  3616. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_get_diff_entries.py +0 -0
  3617. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_get_diff_lines_info.py +0 -0
  3618. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_get_diff_patch.py +0 -0
  3619. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_get_removed_lines_info.py +0 -0
  3620. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_normalize_ref_name.py +0 -0
  3621. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_removedline.py +0 -0
  3622. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_removedlinesinfo.py +0 -0
  3623. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/diff/test_sync_git_ref.py +0 -0
  3624. {agentic_devtools-0.2.266/tests/unit/cli/github/async_commands → agentic_devtools-0.2.268/tests/unit/cli/git/operations}/__init__.py +0 -0
  3625. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_amend_commit.py +0 -0
  3626. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_branch_has_commits_ahead_of_main.py +0 -0
  3627. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_branchsafetycheckresult.py +0 -0
  3628. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_check_branch_safe_to_recreate.py +0 -0
  3629. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_checkout_branch.py +0 -0
  3630. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_checkoutresult.py +0 -0
  3631. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_create_commit.py +0 -0
  3632. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_delete_local_branch.py +0 -0
  3633. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_fetch_branch.py +0 -0
  3634. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_fetch_main.py +0 -0
  3635. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_force_push.py +0 -0
  3636. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_get_commits_behind_main.py +0 -0
  3637. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_get_files_changed_on_branch.py +0 -0
  3638. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_get_last_commit_message.py +0 -0
  3639. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_get_short_commit_hash.py +0 -0
  3640. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_has_local_changes.py +0 -0
  3641. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_last_commit_contains_issue_key.py +0 -0
  3642. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_local_branch_matches_origin.py +0 -0
  3643. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_publish_branch.py +0 -0
  3644. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_push.py +0 -0
  3645. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_rebase_onto_main.py +0 -0
  3646. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_rebaseresult.py +0 -0
  3647. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_rename_local_branch.py +0 -0
  3648. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_reset_branch_to_origin.py +0 -0
  3649. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_should_amend_instead_of_commit.py +0 -0
  3650. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/operations/test_stage_changes.py +0 -0
  3651. {agentic_devtools-0.2.266/tests/unit/cli/github/browser_apply_autofix → agentic_devtools-0.2.268/tests/unit/cli/git/remote_push}/__init__.py +0 -0
  3652. {agentic_devtools-0.2.266/tests/unit/cli/github/copilot_review_status → agentic_devtools-0.2.268/tests/unit/cli/git/transparency}/__init__.py +0 -0
  3653. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/transparency/test_print_commit_title_change.py +0 -0
  3654. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/git/transparency/test_print_resolved_commit_message.py +0 -0
  3655. {agentic_devtools-0.2.266/tests/unit/cli/github/issue_commands → agentic_devtools-0.2.268/tests/unit/cli/github}/__init__.py +0 -0
  3656. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_approve → agentic_devtools-0.2.268/tests/unit/cli/github/apply_thread_autofix}/__init__.py +0 -0
  3657. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_apply_diff_to_content.py +0 -0
  3658. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_apply_pr_suggestions.py +0 -0
  3659. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_apply_single_hunk.py +0 -0
  3660. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_extract_nested.py +0 -0
  3661. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_fetch_all_page_html.py +0 -0
  3662. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_fetch_suggestions_from_page.py +0 -0
  3663. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_get_file_content_and_sha.py +0 -0
  3664. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_get_gh_token.py +0 -0
  3665. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_get_hunk_range.py +0 -0
  3666. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_get_pr_head_branch.py +0 -0
  3667. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_get_pr_head_sha.py +0 -0
  3668. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_post_reply_to_comment.py +0 -0
  3669. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_ranges_overlap.py +0 -0
  3670. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_reply_and_resolve_comments.py +0 -0
  3671. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_resolve_thread_for_comment.py +0 -0
  3672. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_split_into_hunks.py +0 -0
  3673. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/apply_thread_autofix/test_update_file_via_api.py +0 -0
  3674. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_checks_status → agentic_devtools-0.2.268/tests/unit/cli/github/async_commands}/__init__.py +0 -0
  3675. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async.py +0 -0
  3676. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_bug_issue_async_cli.py +0 -0
  3677. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async.py +0 -0
  3678. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_documentation_issue_async_cli.py +0 -0
  3679. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async.py +0 -0
  3680. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_feature_issue_async_cli.py +0 -0
  3681. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async.py +0 -0
  3682. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_issue_async_cli.py +0 -0
  3683. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async.py +0 -0
  3684. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/async_commands/test_create_agdt_task_issue_async_cli.py +0 -0
  3685. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_create → agentic_devtools-0.2.268/tests/unit/cli/github/browser_apply_autofix}/__init__.py +0 -0
  3686. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_apply_pr_suggestions_via_browser.py +0 -0
  3687. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_authenticated_page.py +0 -0
  3688. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_browserautofixunavailable.py +0 -0
  3689. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_browsercredentialerror.py +0 -0
  3690. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_browsercredentials.py +0 -0
  3691. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_click_if_present.py +0 -0
  3692. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_commit_last_suggestion.py +0 -0
  3693. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_count_browser_autofix_candidates.py +0 -0
  3694. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_count_commit_suggestion_buttons.py +0 -0
  3695. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_default_credentials_path.py +0 -0
  3696. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_drain_commit_rescan.py +0 -0
  3697. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_fetch_pr_head_sha.py +0 -0
  3698. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_generate_totp.py +0 -0
  3699. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_github_enterprise_slug.py +0 -0
  3700. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_idp_domain.py +0 -0
  3701. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_load_credentials.py +0 -0
  3702. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_perform_idp_login.py +0 -0
  3703. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_pr_conversation_url.py +0 -0
  3704. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_require_pyotp.py +0 -0
  3705. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_require_sync_playwright.py +0 -0
  3706. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_resolve_secret.py +0 -0
  3707. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_resolve_threads.py +0 -0
  3708. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/browser_apply_autofix/test_wait_for_settle.py +0 -0
  3709. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_merge → agentic_devtools-0.2.268/tests/unit/cli/github/copilot_review_status}/__init__.py +0 -0
  3710. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test__classify_review_status.py +0 -0
  3711. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test__count_inline_comments.py +0 -0
  3712. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test__count_suppressed_comments.py +0 -0
  3713. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test__fetch_reviews_for_pr.py +0 -0
  3714. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test__select_latest_copilot_review.py +0 -0
  3715. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test_copilot_review_status_command.py +0 -0
  3716. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/copilot_review_status/test_get_copilot_review_status.py +0 -0
  3717. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_poll_ready → agentic_devtools-0.2.268/tests/unit/cli/github/issue_commands}/__init__.py +0 -0
  3718. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__append_related_issues.py +0 -0
  3719. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__append_terminal_log.py +0 -0
  3720. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__build_gh_create_args.py +0 -0
  3721. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__check_gh_cli.py +0 -0
  3722. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__get_environment_info.py +0 -0
  3723. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test__gh_supports_issue_type.py +0 -0
  3724. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test_create_agdt_bug_issue.py +0 -0
  3725. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test_create_agdt_documentation_issue.py +0 -0
  3726. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test_create_agdt_feature_issue.py +0 -0
  3727. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test_create_agdt_issue.py +0 -0
  3728. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/issue_commands/test_create_agdt_task_issue.py +0 -0
  3729. {agentic_devtools-0.2.266/tests/unit/cli/github/pr_state → agentic_devtools-0.2.268/tests/unit/cli/github/pr_approve}/__init__.py +0 -0
  3730. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test__check_gh_available.py +0 -0
  3731. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test__resolve_current_user.py +0 -0
  3732. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test__submit_approval.py +0 -0
  3733. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test__validate_repo_format.py +0 -0
  3734. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test__verify_approval.py +0 -0
  3735. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test_approve_pr.py +0 -0
  3736. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_approve/test_pr_approve_command.py +0 -0
  3737. {agentic_devtools-0.2.266/tests/unit/cli/github/repo_resolution → agentic_devtools-0.2.268/tests/unit/cli/github/pr_checks_status}/__init__.py +0 -0
  3738. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__classify_checks.py +0 -0
  3739. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__fetch_check_suites.py +0 -0
  3740. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__fetch_pr_checks.py +0 -0
  3741. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__normalize_repo.py +0 -0
  3742. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__reconcile_results.py +0 -0
  3743. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test__verify_check_suites.py +0 -0
  3744. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test_get_pr_checks_status.py +0 -0
  3745. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_checks_status/test_pr_checks_status_command.py +0 -0
  3746. {agentic_devtools-0.2.266/tests/unit/cli/github/request_copilot_review → agentic_devtools-0.2.268/tests/unit/cli/github/pr_create}/__init__.py +0 -0
  3747. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_create/test_create_pull_request.py +0 -0
  3748. {agentic_devtools-0.2.266/tests/unit/cli/github/rerun_checks → agentic_devtools-0.2.268/tests/unit/cli/github/pr_merge}/__init__.py +0 -0
  3749. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test__check_gh_available.py +0 -0
  3750. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test__classify_merge_error.py +0 -0
  3751. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test__execute_merge.py +0 -0
  3752. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test__verify_merge.py +0 -0
  3753. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test_merge_pr.py +0 -0
  3754. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_merge/test_pr_merge_command.py +0 -0
  3755. {agentic_devtools-0.2.266/tests/unit/cli/github/resolve_review_threads → agentic_devtools-0.2.268/tests/unit/cli/github/pr_poll_ready}/__init__.py +0 -0
  3756. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_poll_ready/test__evaluate_iteration.py +0 -0
  3757. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_poll_ready/test__should_rerun_checks.py +0 -0
  3758. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_poll_ready/test_poll_pr_ready.py +0 -0
  3759. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_poll_ready/test_pr_poll_ready_command.py +0 -0
  3760. {agentic_devtools-0.2.266/tests/unit/cli/github/review_reply → agentic_devtools-0.2.268/tests/unit/cli/github/pr_state}/__init__.py +0 -0
  3761. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_state/test__evaluate_terminal_condition.py +0 -0
  3762. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_state/test__fetch_pr_with_retry.py +0 -0
  3763. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_state/test_get_pr_state.py +0 -0
  3764. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/pr_state/test_pr_state_command.py +0 -0
  3765. {agentic_devtools-0.2.266/tests/unit/cli/github/state_helpers → agentic_devtools-0.2.268/tests/unit/cli/github/repo_resolution}/__init__.py +0 -0
  3766. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/repo_resolution/test__repo_from_git_remote.py +0 -0
  3767. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/repo_resolution/test__resolve_repo_from_git_remote.py +0 -0
  3768. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/repo_resolution/test__validate_repo_format.py +0 -0
  3769. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/repo_resolution/test_resolve_github_repo.py +0 -0
  3770. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/repo_resolution/test_resolve_github_repo_safe.py +0 -0
  3771. {agentic_devtools-0.2.266/tests/unit/cli/hierarchy → agentic_devtools-0.2.268/tests/unit/cli/github/request_copilot_review}/__init__.py +0 -0
  3772. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test__check_login_in_response.py +0 -0
  3773. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test__check_reviewer_in_reviews.py +0 -0
  3774. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test__login_matches.py +0 -0
  3775. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test__post_review_request.py +0 -0
  3776. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test__verify_reviewer_requested.py +0 -0
  3777. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test_request_copilot_review.py +0 -0
  3778. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/request_copilot_review/test_request_copilot_review_command.py +0 -0
  3779. {agentic_devtools-0.2.266/tests/unit/cli/hierarchy/commands → agentic_devtools-0.2.268/tests/unit/cli/github/rerun_checks}/__init__.py +0 -0
  3780. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/rerun_checks/test__fetch_workflow_runs.py +0 -0
  3781. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/rerun_checks/test__filter_failed_runs.py +0 -0
  3782. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/rerun_checks/test__rerun_single_workflow.py +0 -0
  3783. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/rerun_checks/test_rerun_checks_command.py +0 -0
  3784. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/rerun_checks/test_rerun_failed_checks.py +0 -0
  3785. {agentic_devtools-0.2.266/tests/unit/cli/hierarchy/helpers → agentic_devtools-0.2.268/tests/unit/cli/github/resolve_review_threads}/__init__.py +0 -0
  3786. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__fetch_review_comment_ids.py +0 -0
  3787. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__fetch_review_threads.py +0 -0
  3788. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__map_comments_to_threads.py +0 -0
  3789. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__resolve_and_verify.py +0 -0
  3790. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__resolve_thread.py +0 -0
  3791. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test__unresolve_thread.py +0 -0
  3792. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test_resolve_review_threads.py +0 -0
  3793. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test_resolve_review_threads_command.py +0 -0
  3794. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/resolve_review_threads/test_unresolve_review_threads.py +0 -0
  3795. {agentic_devtools-0.2.266/tests/unit/cli/jira → agentic_devtools-0.2.268/tests/unit/cli/github/review_reply}/__init__.py +0 -0
  3796. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__check_gh_available.py +0 -0
  3797. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__load_replies_file.py +0 -0
  3798. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__post_single_reply.py +0 -0
  3799. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__retry_failed_replies.py +0 -0
  3800. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__validate_reply_entries.py +0 -0
  3801. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test__verify_replies.py +0 -0
  3802. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test_reply_to_review_comments.py +0 -0
  3803. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/review_reply/test_reply_to_review_comments_command.py +0 -0
  3804. {agentic_devtools-0.2.266/tests/unit/cli/jira/adf → agentic_devtools-0.2.268/tests/unit/cli/github/state_helpers}/__init__.py +0 -0
  3805. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/state_helpers/test_get_issue_value.py +0 -0
  3806. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/github/state_helpers/test_set_issue_value.py +0 -0
  3807. {agentic_devtools-0.2.266/tests/unit/cli/jira/async_commands → agentic_devtools-0.2.268/tests/unit/cli/hierarchy}/__init__.py +0 -0
  3808. {agentic_devtools-0.2.266/tests/unit/cli/jira/async_status → agentic_devtools-0.2.268/tests/unit/cli/hierarchy/commands}/__init__.py +0 -0
  3809. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/commands/test_cascade_trigger_command.py +0 -0
  3810. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/commands/test_commands_resolve_error.py +0 -0
  3811. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/commands/test_detect_hierarchy_command.py +0 -0
  3812. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/commands/test_enforce_parent_command.py +0 -0
  3813. {agentic_devtools-0.2.266/tests/unit/cli/jira/comment_commands → agentic_devtools-0.2.268/tests/unit/cli/hierarchy/helpers}/__init__.py +0 -0
  3814. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/helpers/test_resolve_owner_repo.py +0 -0
  3815. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/hierarchy/helpers/test_resolve_owner_repo_partial.py +0 -0
  3816. {agentic_devtools-0.2.266/tests/unit/cli/jira/config → agentic_devtools-0.2.268/tests/unit/cli/jira}/__init__.py +0 -0
  3817. {agentic_devtools-0.2.266/tests/unit/cli/jira/create_commands → agentic_devtools-0.2.268/tests/unit/cli/jira/adf}/__init__.py +0 -0
  3818. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/adf/test__convert_adf_to_text.py +0 -0
  3819. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/adf/test__process_adf_children.py +0 -0
  3820. {agentic_devtools-0.2.266/tests/unit/cli/jira/formatting → agentic_devtools-0.2.268/tests/unit/cli/jira/async_commands}/__init__.py +0 -0
  3821. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/conftest.py +0 -0
  3822. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_add_comment_async.py +0 -0
  3823. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_add_comment_async_cli.py +0 -0
  3824. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_async.py +0 -0
  3825. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_add_users_to_project_role_batch_async.py +0 -0
  3826. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_check_user_exists_async.py +0 -0
  3827. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_check_users_exist_async.py +0 -0
  3828. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_create_epic_async.py +0 -0
  3829. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_create_issue_async.py +0 -0
  3830. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_create_subtask_async.py +0 -0
  3831. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_find_role_id_by_name_async.py +0 -0
  3832. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_get_issue_async.py +0 -0
  3833. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_get_project_role_details_async.py +0 -0
  3834. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_list_project_roles_async.py +0 -0
  3835. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_commands/test_update_issue_async.py +0 -0
  3836. {agentic_devtools-0.2.266/tests/unit/cli/jira/get_commands → agentic_devtools-0.2.268/tests/unit/cli/jira/async_status}/__init__.py +0 -0
  3837. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_status/conftest.py +0 -0
  3838. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/async_status/test_write_async_status.py +0 -0
  3839. {agentic_devtools-0.2.266/tests/unit/cli/jira/helpers → agentic_devtools-0.2.268/tests/unit/cli/jira/comment_commands}/__init__.py +0 -0
  3840. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/comment_commands/test_add_comment.py +0 -0
  3841. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/comment_commands/test_add_comment_cli.py +0 -0
  3842. {agentic_devtools-0.2.266/tests/unit/cli/jira/parse_error_report → agentic_devtools-0.2.268/tests/unit/cli/jira/config}/__init__.py +0 -0
  3843. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/config/test_build_jira_issue_pattern.py +0 -0
  3844. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/config/test_get_jira_auth_header.py +0 -0
  3845. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/config/test_get_jira_base_url.py +0 -0
  3846. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/config/test_get_jira_headers.py +0 -0
  3847. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/config/test_get_jira_project_keys.py +0 -0
  3848. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/conftest.py +0 -0
  3849. {agentic_devtools-0.2.266/tests/unit/cli/jira/role_commands → agentic_devtools-0.2.268/tests/unit/cli/jira/create_commands}/__init__.py +0 -0
  3850. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/create_commands/test_create_epic.py +0 -0
  3851. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/create_commands/test_create_issue.py +0 -0
  3852. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/create_commands/test_create_issue_sync.py +0 -0
  3853. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/create_commands/test_create_subtask.py +0 -0
  3854. {agentic_devtools-0.2.266/tests/unit/cli/jira/sdk → agentic_devtools-0.2.268/tests/unit/cli/jira/formatting}/__init__.py +0 -0
  3855. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/formatting/test_build_user_story_description.py +0 -0
  3856. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/formatting/test_format_bullet_list.py +0 -0
  3857. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/formatting/test_merge_labels.py +0 -0
  3858. {agentic_devtools-0.2.266/tests/unit/cli/jira/state_helpers → agentic_devtools-0.2.268/tests/unit/cli/jira/get_commands}/__init__.py +0 -0
  3859. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/get_commands/test__fetch_epic.py +0 -0
  3860. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/get_commands/test__fetch_parent_issue.py +0 -0
  3861. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/get_commands/test__fetch_remote_links.py +0 -0
  3862. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/get_commands/test_get_issue.py +0 -0
  3863. {agentic_devtools-0.2.266/tests/unit/cli/jira/update_commands → agentic_devtools-0.2.268/tests/unit/cli/jira/helpers}/__init__.py +0 -0
  3864. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__count_certificates_in_pem.py +0 -0
  3865. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__ensure_jira_pem.py +0 -0
  3866. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_openssl.py +0 -0
  3867. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__fetch_certificate_chain_ssl.py +0 -0
  3868. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__get_repo_jira_pem_path.py +0 -0
  3869. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__get_requests.py +0 -0
  3870. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__get_ssl_verify.py +0 -0
  3871. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__get_temp_jira_pem_path.py +0 -0
  3872. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__parse_comma_separated.py +0 -0
  3873. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/helpers/test__parse_multiline_string.py +0 -0
  3874. {agentic_devtools-0.2.266/tests/unit/cli/jira/vpn_wrapper → agentic_devtools-0.2.268/tests/unit/cli/jira/parse_error_report}/__init__.py +0 -0
  3875. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_get_user_details.py +0 -0
  3876. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_get_user_details_api_calls.py +0 -0
  3877. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_error_file.py +0 -0
  3878. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_combined_errors.py +0 -0
  3879. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_error_file_multiple_dataproducts.py +0 -0
  3880. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report.py +0 -0
  3881. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_command.py +0 -0
  3882. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/parse_error_report/test_parse_jira_error_report_integration.py +0 -0
  3883. {agentic_devtools-0.2.266/tests/unit/cli/network → agentic_devtools-0.2.268/tests/unit/cli/jira/role_commands}/__init__.py +0 -0
  3884. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role.py +0 -0
  3885. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_additional_cases.py +0 -0
  3886. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_add_users_to_project_role_batch.py +0 -0
  3887. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_check_user_exists.py +0 -0
  3888. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_check_user_exists_command.py +0 -0
  3889. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_check_users_exist.py +0 -0
  3890. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_check_users_exist_command.py +0 -0
  3891. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_check_users_exist_command_paths.py +0 -0
  3892. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_find_role_id_by_name.py +0 -0
  3893. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_get_project_role_details.py +0 -0
  3894. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_get_project_role_details_command_paths.py +0 -0
  3895. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_list_project_roles.py +0 -0
  3896. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_list_project_roles_command_paths.py +0 -0
  3897. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_role_commands_error_handling.py +0 -0
  3898. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/role_commands/test_role_id_extraction.py +0 -0
  3899. {agentic_devtools-0.2.266/tests/unit/cli/network/commands → agentic_devtools-0.2.268/tests/unit/cli/jira/sdk}/__init__.py +0 -0
  3900. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/sdk/test_build_jira_client.py +0 -0
  3901. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/sdk/test_is_cloud.py +0 -0
  3902. {agentic_devtools-0.2.266/tests/unit/cli/network/detection → agentic_devtools-0.2.268/tests/unit/cli/jira/state_helpers}/__init__.py +0 -0
  3903. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/state_helpers/test_get_jira_value.py +0 -0
  3904. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/state_helpers/test_set_jira_value.py +0 -0
  3905. {agentic_devtools-0.2.266/tests/unit/cli/pr_template → agentic_devtools-0.2.268/tests/unit/cli/jira/update_commands}/__init__.py +0 -0
  3906. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/update_commands/test__build_update_payload.py +0 -0
  3907. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/update_commands/test_update_issue.py +0 -0
  3908. {agentic_devtools-0.2.266/tests/unit/cli/release → agentic_devtools-0.2.268/tests/unit/cli/jira/vpn_wrapper}/__init__.py +0 -0
  3909. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context.py +0 -0
  3910. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_decorator.py +0 -0
  3911. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/jira/vpn_wrapper/test_with_jira_vpn_context_integration.py +0 -0
  3912. {agentic_devtools-0.2.266/tests/unit/cli/release/commands → agentic_devtools-0.2.268/tests/unit/cli/network}/__init__.py +0 -0
  3913. {agentic_devtools-0.2.266/tests/unit/cli/release/helpers → agentic_devtools-0.2.268/tests/unit/cli/network/commands}/__init__.py +0 -0
  3914. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/network/commands/test_network_status_cmd.py +0 -0
  3915. {agentic_devtools-0.2.266/tests/unit/cli/runner → agentic_devtools-0.2.268/tests/unit/cli/network/detection}/__init__.py +0 -0
  3916. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/network/detection/test_detect_network_context.py +0 -0
  3917. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/network/detection/test_get_network_context_display.py +0 -0
  3918. {agentic_devtools-0.2.266/tests/unit/cli/segments → agentic_devtools-0.2.268/tests/unit/cli/pr_template}/__init__.py +0 -0
  3919. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test__default_pr_title_template_for.py +0 -0
  3920. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_ensure_pr_body_template.py +0 -0
  3921. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_ensure_pr_title_template.py +0 -0
  3922. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_get_pr_title_template_path.py +0 -0
  3923. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_get_template_path.py +0 -0
  3924. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_init_pr_template.py +0 -0
  3925. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_render_j2_body_template.py +0 -0
  3926. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_resolve_full_commit_message.py +0 -0
  3927. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_resolve_main_ref.py +0 -0
  3928. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_resolve_pr_body.py +0 -0
  3929. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/pr_template/test_resolve_pr_title.py +0 -0
  3930. {agentic_devtools-0.2.266/tests/unit/cli/segments/commands → agentic_devtools-0.2.268/tests/unit/cli/release}/__init__.py +0 -0
  3931. {agentic_devtools-0.2.266/tests/unit/cli/setup → agentic_devtools-0.2.268/tests/unit/cli/release/commands}/__init__.py +0 -0
  3932. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/commands/test__normalize_repository.py +0 -0
  3933. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/commands/test__release_pypi_sync.py +0 -0
  3934. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/commands/test__require_pypi_value.py +0 -0
  3935. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/commands/test__run_tests_and_wait.py +0 -0
  3936. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/commands/test_release_pypi_async.py +0 -0
  3937. {agentic_devtools-0.2.266/tests/unit/cli/setup/commands → agentic_devtools-0.2.268/tests/unit/cli/release/helpers}/__init__.py +0 -0
  3938. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_build_distribution.py +0 -0
  3939. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_compute_sha256.py +0 -0
  3940. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_normalize_package_name.py +0 -0
  3941. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_pypi_version_exists.py +0 -0
  3942. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_upload_distribution.py +0 -0
  3943. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/release/helpers/test_validate_distribution.py +0 -0
  3944. {agentic_devtools-0.2.266/tests/unit/cli/setup/commit_template_setup → agentic_devtools-0.2.268/tests/unit/cli/runner}/__init__.py +0 -0
  3945. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_command_map.py +0 -0
  3946. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_command_map_integrity.py +0 -0
  3947. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_main.py +0 -0
  3948. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_main_entry_point.py +0 -0
  3949. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_run_as_script.py +0 -0
  3950. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/runner/test_run_command.py +0 -0
  3951. {agentic_devtools-0.2.266/tests/unit/cli/setup/copilot_cli_installer → agentic_devtools-0.2.268/tests/unit/cli/segments}/__init__.py +0 -0
  3952. {agentic_devtools-0.2.266/tests/unit/cli/setup/dependency_checker → agentic_devtools-0.2.268/tests/unit/cli/segments/commands}/__init__.py +0 -0
  3953. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/segments/commands/test_segments_clean_command.py +0 -0
  3954. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/segments/commands/test_segments_status_command.py +0 -0
  3955. {agentic_devtools-0.2.266/tests/unit/cli/setup/exit_codes → agentic_devtools-0.2.268/tests/unit/cli/setup}/__init__.py +0 -0
  3956. {agentic_devtools-0.2.266/tests/unit/cli/setup/expectations_validator → agentic_devtools-0.2.268/tests/unit/cli/setup/commands}/__init__.py +0 -0
  3957. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__build_unified_ca_bundle.py +0 -0
  3958. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__generate_setup_scripts.py +0 -0
  3959. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__persist_env_vars_to_profile.py +0 -0
  3960. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__persist_single_var.py +0 -0
  3961. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__populate_available_models.py +0 -0
  3962. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__prefetch_certs.py +0 -0
  3963. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__print_manual_instructions.py +0 -0
  3964. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__print_path_instructions_if_needed.py +0 -0
  3965. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__prompt_copilot_model.py +0 -0
  3966. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__prompt_project_config.py +0 -0
  3967. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__query_copilot_models.py +0 -0
  3968. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test__valid_issue_adapters_fallback.py +0 -0
  3969. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test_setup_certs_cmd.py +0 -0
  3970. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test_setup_check_cmd.py +0 -0
  3971. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test_setup_cmd.py +0 -0
  3972. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test_setup_copilot_cli_cmd.py +0 -0
  3973. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commands/test_setup_gh_cli_cmd.py +0 -0
  3974. {agentic_devtools-0.2.266/tests/unit/cli/setup/gh_cli_installer → agentic_devtools-0.2.268/tests/unit/cli/setup/commit_template_setup}/__init__.py +0 -0
  3975. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commit_template_setup/test__default_template_for.py +0 -0
  3976. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commit_template_setup/test_ensure_commit_template.py +0 -0
  3977. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/commit_template_setup/test_validate_commit_template.py +0 -0
  3978. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/conftest.py +0 -0
  3979. {agentic_devtools-0.2.266/tests/unit/cli/setup/gitignore_negations → agentic_devtools-0.2.268/tests/unit/cli/setup/copilot_cli_installer}/__init__.py +0 -0
  3980. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_detect_platform_asset.py +0 -0
  3981. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_download_and_install.py +0 -0
  3982. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_get_copilot_cli_binary.py +0 -0
  3983. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_get_installed_version.py +0 -0
  3984. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_get_latest_release_info.py +0 -0
  3985. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/copilot_cli_installer/test_install_copilot_cli.py +0 -0
  3986. {agentic_devtools-0.2.266/tests/unit/cli/setup/phases → agentic_devtools-0.2.268/tests/unit/cli/setup/dependency_checker}/__init__.py +0 -0
  3987. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test__find_binary.py +0 -0
  3988. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test__get_version.py +0 -0
  3989. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test__run_version.py +0 -0
  3990. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test_check_all_dependencies.py +0 -0
  3991. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test_dependencystatus.py +0 -0
  3992. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/dependency_checker/test_print_dependency_report.py +0 -0
  3993. {agentic_devtools-0.2.266/tests/unit/cli/setup/platform_detection → agentic_devtools-0.2.268/tests/unit/cli/setup/exit_codes}/__init__.py +0 -0
  3994. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/exit_codes/test_constants.py +0 -0
  3995. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/exit_codes/test_exit_code_descriptions.py +0 -0
  3996. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/exit_codes/test_get_exit_code_name.py +0 -0
  3997. {agentic_devtools-0.2.266/tests/unit/cli/setup/pr_workflow → agentic_devtools-0.2.268/tests/unit/cli/setup/expectations_validator}/__init__.py +0 -0
  3998. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/expectations_validator/test_validate_setup_expectations.py +0 -0
  3999. {agentic_devtools-0.2.266/tests/unit/cli/setup/report → agentic_devtools-0.2.268/tests/unit/cli/setup/gh_cli_installer}/__init__.py +0 -0
  4000. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_detect_platform_asset.py +0 -0
  4001. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_download_and_install.py +0 -0
  4002. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_get_gh_cli_binary.py +0 -0
  4003. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_get_installed_version.py +0 -0
  4004. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_get_latest_release_info.py +0 -0
  4005. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gh_cli_installer/test_install_gh_cli.py +0 -0
  4006. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators → agentic_devtools-0.2.268/tests/unit/cli/setup/gitignore_negations}/__init__.py +0 -0
  4007. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gitignore_negations/test__detect_newline.py +0 -0
  4008. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/gitignore_negations/test_ensure_root_gitignore_negations.py +0 -0
  4009. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/atomic_write → agentic_devtools-0.2.268/tests/unit/cli/setup/phases}/__init__.py +0 -0
  4010. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/phases/test_phases.py +0 -0
  4011. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/complete_setup → agentic_devtools-0.2.268/tests/unit/cli/setup/platform_detection}/__init__.py +0 -0
  4012. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/platform_detection/test__get_origin_remote_url.py +0 -0
  4013. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/platform_detection/test_confirm_and_override.py +0 -0
  4014. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/platform_detection/test_detect_platforms.py +0 -0
  4015. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/platform_detection/test_detectionresult.py +0 -0
  4016. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/configured_setup → agentic_devtools-0.2.268/tests/unit/cli/setup/pr_workflow}/__init__.py +0 -0
  4017. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/pr_workflow/test__resolve_branch_name.py +0 -0
  4018. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/pr_workflow/test_run_setup_with_pr_workflow.py +0 -0
  4019. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/constants → agentic_devtools-0.2.268/tests/unit/cli/setup/report}/__init__.py +0 -0
  4020. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/report/test_phaseresult.py +0 -0
  4021. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/report/test_setupreport.py +0 -0
  4022. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/report/test_write_report.py +0 -0
  4023. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/gitignore_updater → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators}/__init__.py +0 -0
  4024. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/legacy_migration → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/atomic_write}/__init__.py +0 -0
  4025. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/atomic_write/test_concurrent_writes.py +0 -0
  4026. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/repo_specific → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/complete_setup}/__init__.py +0 -0
  4027. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/complete_setup/test_generate_complete_setup.py +0 -0
  4028. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/required_setup → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/configured_setup}/__init__.py +0 -0
  4029. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/configured_setup/test_generate_configured_setup.py +0 -0
  4030. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/configured_setup/test_render_tool_installs.py +0 -0
  4031. {agentic_devtools-0.2.266/tests/unit/cli/setup/script_generators/root_entry_point → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/constants}/__init__.py +0 -0
  4032. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/constants/test_constants.py +0 -0
  4033. {agentic_devtools-0.2.266/tests/unit/cli/setup/shell_profile → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/gitignore_updater}/__init__.py +0 -0
  4034. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/gitignore_updater/test_update_gitignore.py +0 -0
  4035. {agentic_devtools-0.2.266/tests/unit/cli/setup/version_guard → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/legacy_migration}/__init__.py +0 -0
  4036. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/legacy_migration/test_detect_legacy.py +0 -0
  4037. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/legacy_migration/test_migrate_content.py +0 -0
  4038. {agentic_devtools-0.2.266/tests/unit/cli/setup/workflow_templates → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/repo_specific}/__init__.py +0 -0
  4039. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/repo_specific/test_never_overwrite.py +0 -0
  4040. {agentic_devtools-0.2.266/tests/unit/cli/speckit → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/required_setup}/__init__.py +0 -0
  4041. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test__site_packages_dirs.py +0 -0
  4042. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test_cleanup_artifacts.py +0 -0
  4043. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test_detect_corrupted_artifacts.py +0 -0
  4044. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test_generate_required_setup.py +0 -0
  4045. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test_install_package.py +0 -0
  4046. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/required_setup/test_setup_git_hooks.py +0 -0
  4047. {agentic_devtools-0.2.266/tests/unit/cli/speckit/commands → agentic_devtools-0.2.268/tests/unit/cli/setup/script_generators/root_entry_point}/__init__.py +0 -0
  4048. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/script_generators/root_entry_point/test_generate_root_entry_point.py +0 -0
  4049. {agentic_devtools-0.2.266/tests/unit/cli/speckit/cross_ref → agentic_devtools-0.2.268/tests/unit/cli/setup/shell_profile}/__init__.py +0 -0
  4050. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/shell_profile/test_detect_shell_profile.py +0 -0
  4051. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/shell_profile/test_detect_shell_type.py +0 -0
  4052. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/shell_profile/test_persist_env_var.py +0 -0
  4053. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/shell_profile/test_persist_path_entry.py +0 -0
  4054. {agentic_devtools-0.2.266/tests/unit/cli/speckit/detect_parent_cli → agentic_devtools-0.2.268/tests/unit/cli/setup/version_guard}/__init__.py +0 -0
  4055. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/version_guard/test__fallback_compare.py +0 -0
  4056. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/version_guard/test__segment_value.py +0 -0
  4057. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/version_guard/test_check_version_guard.py +0 -0
  4058. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/version_guard/test_compare_versions.py +0 -0
  4059. {agentic_devtools-0.2.266/tests/unit/cli/speckit/hierarchy → agentic_devtools-0.2.268/tests/unit/cli/setup/workflow_templates}/__init__.py +0 -0
  4060. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/workflow_templates/test_generate_default_templates.py +0 -0
  4061. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/workflow_templates/test_list_available_templates.py +0 -0
  4062. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/setup/workflow_templates/test_template_info.py +0 -0
  4063. {agentic_devtools-0.2.266/tests/unit/cli/speckit/hierarchy_detector → agentic_devtools-0.2.268/tests/unit/cli/speckit}/__init__.py +0 -0
  4064. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2 → agentic_devtools-0.2.268/tests/unit/cli/speckit/commands}/__init__.py +0 -0
  4065. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test__load_prompt.py +0 -0
  4066. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test__parse_args.py +0 -0
  4067. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test__run.py +0 -0
  4068. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_analyze.py +0 -0
  4069. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_checklist.py +0 -0
  4070. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_clarify.py +0 -0
  4071. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_constitution.py +0 -0
  4072. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_implement.py +0 -0
  4073. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_plan.py +0 -0
  4074. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_specify.py +0 -0
  4075. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_tasks.py +0 -0
  4076. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/commands/test_speckit_taskstoissues.py +0 -0
  4077. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/constants → agentic_devtools-0.2.268/tests/unit/cli/speckit/cross_ref}/__init__.py +0 -0
  4078. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/cross_ref/test_cross_ref_command.py +0 -0
  4079. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/coverage_mapper → agentic_devtools-0.2.268/tests/unit/cli/speckit/detect_parent_cli}/__init__.py +0 -0
  4080. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/detect_parent_cli/test__normalisingargumentparser.py +0 -0
  4081. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/detect_parent_cli/test__normalize_title.py +0 -0
  4082. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/detect_parent_cli/test__positive_int.py +0 -0
  4083. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/detect_parent_cli/test__timeout_handler.py +0 -0
  4084. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/detect_parent_cli/test_main.py +0 -0
  4085. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/models → agentic_devtools-0.2.268/tests/unit/cli/speckit/hierarchy}/__init__.py +0 -0
  4086. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test__parse_timestamp.py +0 -0
  4087. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_childentry.py +0 -0
  4088. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_get_child_position.py +0 -0
  4089. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_get_first_child.py +0 -0
  4090. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_get_next_child.py +0 -0
  4091. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_hierarchy_schema.py +0 -0
  4092. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_hierarchydetector.py +0 -0
  4093. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_hierarchylevel.py +0 -0
  4094. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_hierarchynode.py +0 -0
  4095. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_hierarchyvalidationerror.py +0 -0
  4096. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_load_hierarchy.py +0 -0
  4097. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_round_trip.py +0 -0
  4098. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy/test_save_hierarchy.py +0 -0
  4099. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/reporter → agentic_devtools-0.2.268/tests/unit/cli/speckit/hierarchy_detector}/__init__.py +0 -0
  4100. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test__normalize_issue_title.py +0 -0
  4101. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test__parse_rate_limit_headers.py +0 -0
  4102. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test__raise_for_graphql_errors.py +0 -0
  4103. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test__split_header_body_blocks.py +0 -0
  4104. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test_get_hierarchy_detector.py +0 -0
  4105. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test_githubhierarchydetector.py +0 -0
  4106. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test_jirahierarchydetector.py +0 -0
  4107. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/hierarchy_detector/test_parse_issue_reference.py +0 -0
  4108. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/spec_parser → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2}/__init__.py +0 -0
  4109. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/task_classifier → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/constants}/__init__.py +0 -0
  4110. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/constants/test_test_task_keywords.py +0 -0
  4111. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/constants/test_test_type_keywords.py +0 -0
  4112. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_e2/validator → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/coverage_mapper}/__init__.py +0 -0
  4113. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/coverage_mapper/test_evaluate_coverage.py +0 -0
  4114. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/coverage_mapper/test_generate_task_scoped_findings.py +0 -0
  4115. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/coverage_mapper/test_map_test_tasks_to_frs.py +0 -0
  4116. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/models}/__init__.py +0 -0
  4117. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/models/test_models.py +0 -0
  4118. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/classifier → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/reporter}/__init__.py +0 -0
  4119. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/reporter/test_render_findings.py +0 -0
  4120. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/reporter/test_render_test_coverage_summary.py +0 -0
  4121. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/constants → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/spec_parser}/__init__.py +0 -0
  4122. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/spec_parser/test__extract_priority_from_section.py +0 -0
  4123. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/spec_parser/test_build_us_to_fr_mapping.py +0 -0
  4124. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/spec_parser/test_extract_frs_with_priority.py +0 -0
  4125. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/spec_parser/test_parse_user_story_sections.py +0 -0
  4126. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/extractors → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/task_classifier}/__init__.py +0 -0
  4127. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/task_classifier/test__build_multi_word_pattern.py +0 -0
  4128. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/task_classifier/test_classify_test_types.py +0 -0
  4129. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/task_classifier/test_detect_ambiguous_task.py +0 -0
  4130. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/task_classifier/test_extract_task_fr_refs.py +0 -0
  4131. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/task_classifier/test_is_test_task.py +0 -0
  4132. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/extractors/base → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_e2/validator}/__init__.py +0 -0
  4133. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/validator/test__parse_tasks_from_content.py +0 -0
  4134. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/validator/test__print_human_output.py +0 -0
  4135. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/validator/test__safe_print.py +0 -0
  4136. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/validator/test_test_coverage_command.py +0 -0
  4137. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_e2/validator/test_validate_test_coverage.py +0 -0
  4138. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/extractors/python_extractor → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g}/__init__.py +0 -0
  4139. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/intent_detector → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/classifier}/__init__.py +0 -0
  4140. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/classifier/test__check_partial_match.py +0 -0
  4141. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/classifier/test__should_skip.py +0 -0
  4142. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/classifier/test_classify_references.py +0 -0
  4143. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/inventory → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/constants}/__init__.py +0 -0
  4144. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_disambiguation_margin.py +0 -0
  4145. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_high_confidence_threshold.py +0 -0
  4146. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_max_candidates_per_reference.py +0 -0
  4147. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_new_symbol_noun_markers.py +0 -0
  4148. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_new_symbol_verb_markers.py +0 -0
  4149. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_performance_warning_seconds.py +0 -0
  4150. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_protected_file_patterns.py +0 -0
  4151. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/constants/test_suggestion_threshold.py +0 -0
  4152. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/matcher → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/extractors}/__init__.py +0 -0
  4153. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/models → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/extractors/base}/__init__.py +0 -0
  4154. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/extractors/base/test_symbolextractor.py +0 -0
  4155. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/reference_extractor → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/extractors/python_extractor}/__init__.py +0 -0
  4156. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/extractors/python_extractor/test__file_to_module_path.py +0 -0
  4157. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/extractors/python_extractor/test__parse_project_scripts.py +0 -0
  4158. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/extractors/python_extractor/test_pythonextractor.py +0 -0
  4159. {agentic_devtools-0.2.266/tests/unit/cli/speckit/pass_g/reporter → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/intent_detector}/__init__.py +0 -0
  4160. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/intent_detector/test_detect_new_symbol_intent.py +0 -0
  4161. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/intent_detector/test_detect_new_symbol_intent_noun.py +0 -0
  4162. {agentic_devtools-0.2.266/tests/unit/cli/speckit/validate_checklists → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/inventory}/__init__.py +0 -0
  4163. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/inventory/test_build_inventory.py +0 -0
  4164. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/inventory/test_build_inventory_extended.py +0 -0
  4165. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/inventory/test_symbolinventory.py +0 -0
  4166. {agentic_devtools-0.2.266/tests/unit/cli/speckit/validate_frs → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/matcher}/__init__.py +0 -0
  4167. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/matcher/test_classify_match_confidence.py +0 -0
  4168. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/matcher/test_exact_match.py +0 -0
  4169. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/matcher/test_fuzzy_match.py +0 -0
  4170. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/matcher/test_fuzzy_match_extended.py +0 -0
  4171. {agentic_devtools-0.2.266/tests/unit/cli/state → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/models}/__init__.py +0 -0
  4172. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/models/test_candidate.py +0 -0
  4173. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/models/test_finding.py +0 -0
  4174. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/models/test_matchstatus.py +0 -0
  4175. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/models/test_reference.py +0 -0
  4176. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/models/test_referencekind.py +0 -0
  4177. {agentic_devtools-0.2.266/tests/unit/cli/subprocess_utils → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/reference_extractor}/__init__.py +0 -0
  4178. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reference_extractor/test_classify_reference_kind.py +0 -0
  4179. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reference_extractor/test_extract_references.py +0 -0
  4180. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reference_extractor/test_extract_references_extended.py +0 -0
  4181. {agentic_devtools-0.2.266/tests/unit/cli/tasks → agentic_devtools-0.2.268/tests/unit/cli/speckit/pass_g/reporter}/__init__.py +0 -0
  4182. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reporter/test_render_json.py +0 -0
  4183. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reporter/test_render_markdown.py +0 -0
  4184. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/pass_g/reporter/test_reporter_edge_cases.py +0 -0
  4185. {agentic_devtools-0.2.266/tests/unit/cli/tasks/commands → agentic_devtools-0.2.268/tests/unit/cli/speckit/validate_checklists}/__init__.py +0 -0
  4186. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test__check_collision.py +0 -0
  4187. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test__print_human_output.py +0 -0
  4188. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test__resolve_issue_number.py +0 -0
  4189. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test__resolve_paths.py +0 -0
  4190. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test__verify_source_issue_marker.py +0 -0
  4191. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_aggregateresult.py +0 -0
  4192. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_classify_file.py +0 -0
  4193. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_count_checkboxes.py +0 -0
  4194. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_remediate_file.py +0 -0
  4195. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_validate_checklists.py +0 -0
  4196. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_validate_checklists_command.py +0 -0
  4197. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_checklists/test_validate_file.py +0 -0
  4198. {agentic_devtools-0.2.266/tests/unit/cli/testing → agentic_devtools-0.2.268/tests/unit/cli/speckit/validate_frs}/__init__.py +0 -0
  4199. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test__coerce_max_retries.py +0 -0
  4200. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test__resolve_max_retries.py +0 -0
  4201. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_check_coverage.py +0 -0
  4202. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_extract_frs.py +0 -0
  4203. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_sort_fr_ids.py +0 -0
  4204. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_validate_frs.py +0 -0
  4205. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_validate_frs_command.py +0 -0
  4206. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/speckit/validate_frs/test_validationresult.py +0 -0
  4207. {agentic_devtools-0.2.266/tests/unit/cli/vpn → agentic_devtools-0.2.268/tests/unit/cli/state}/__init__.py +0 -0
  4208. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_clear_cmd.py +0 -0
  4209. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_clear_workflow_cmd.py +0 -0
  4210. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_delete_cmd.py +0 -0
  4211. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_get_cmd.py +0 -0
  4212. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_get_workflow_cmd.py +0 -0
  4213. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_set_cmd.py +0 -0
  4214. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/state/test_show_cmd.py +0 -0
  4215. {agentic_devtools-0.2.266/tests/unit/cli/vpn/commands → agentic_devtools-0.2.268/tests/unit/cli/subprocess_utils}/__init__.py +0 -0
  4216. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/subprocess_utils/test_run_safe.py +0 -0
  4217. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/subprocess_utils/test_run_safe_integration.py +0 -0
  4218. {agentic_devtools-0.2.266/tests/unit/cli/vpn/runner → agentic_devtools-0.2.268/tests/unit/cli/tasks}/__init__.py +0 -0
  4219. {agentic_devtools-0.2.266/tests/unit/cli/vscode_tasks → agentic_devtools-0.2.268/tests/unit/cli/tasks/commands}/__init__.py +0 -0
  4220. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_handle_task_completed.py +0 -0
  4221. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_helper_functions.py +0 -0
  4222. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_list_tasks.py +0 -0
  4223. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_safe_print_unicode_error.py +0 -0
  4224. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_show_other_incomplete_tasks.py +0 -0
  4225. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_command_integration.py +0 -0
  4226. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_id_argument.py +0 -0
  4227. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_log.py +0 -0
  4228. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_log_line_limits.py +0 -0
  4229. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_status.py +0 -0
  4230. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_wait.py +0 -0
  4231. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_task_wait_value_error_handling.py +0 -0
  4232. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/tasks/commands/test_tasks_clean.py +0 -0
  4233. {agentic_devtools-0.2.266/tests/unit/cli/workflows → agentic_devtools-0.2.268/tests/unit/cli/testing}/__init__.py +0 -0
  4234. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/conftest.py +0 -0
  4235. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test__infer_test_file_from_source.py +0 -0
  4236. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test__try_get_workspace_root.py +0 -0
  4237. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_async_wrappers.py +0 -0
  4238. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_create_test_file_parser.py +0 -0
  4239. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_get_workspace_root.py +0 -0
  4240. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_subprocess_with_streaming.py +0 -0
  4241. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests.py +0 -0
  4242. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_file.py +0 -0
  4243. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_file_sync.py +0 -0
  4244. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_pattern.py +0 -0
  4245. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_quick.py +0 -0
  4246. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_quick_sync.py +0 -0
  4247. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/testing/test_run_tests_sync.py +0 -0
  4248. {agentic_devtools-0.2.266/tests/unit/cli/workflows/advancement → agentic_devtools-0.2.268/tests/unit/cli/vpn}/__init__.py +0 -0
  4249. {agentic_devtools-0.2.266/tests/unit/cli/workflows/base → agentic_devtools-0.2.268/tests/unit/cli/vpn/commands}/__init__.py +0 -0
  4250. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vpn/commands/test_vpn_run_cmd.py +0 -0
  4251. {agentic_devtools-0.2.266/tests/unit/cli/workflows/checklist → agentic_devtools-0.2.268/tests/unit/cli/vpn/runner}/__init__.py +0 -0
  4252. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vpn/runner/test__detect_vpn_requirement_from_command.py +0 -0
  4253. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vpn/runner/test__execute_command.py +0 -0
  4254. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vpn/runner/test_run_with_vpn_context.py +0 -0
  4255. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vpn/runner/test_vpnrequirement.py +0 -0
  4256. {agentic_devtools-0.2.266/tests/unit/cli/workflows/commands → agentic_devtools-0.2.268/tests/unit/cli/vscode_tasks}/__init__.py +0 -0
  4257. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/vscode_tasks/test_remove_auto_start_task.py +0 -0
  4258. {agentic_devtools-0.2.266/tests/unit/cli/workflows/manager → agentic_devtools-0.2.268/tests/unit/cli/workflows}/__init__.py +0 -0
  4259. {agentic_devtools-0.2.266/tests/unit/cli/workflows/preflight → agentic_devtools-0.2.268/tests/unit/cli/workflows/advancement}/__init__.py +0 -0
  4260. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_branch_pushed.py +0 -0
  4261. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_commit.py +0 -0
  4262. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_comment.py +0 -0
  4263. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_jira_issue_retrieved.py +0 -0
  4264. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_creation.py +0 -0
  4265. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/advancement/test_try_advance_workflow_after_pr_review.py +0 -0
  4266. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/__init__.py +0 -0
  4267. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_appliedsuggestionentry.py +0 -0
  4268. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_appliedsuggestionsstate.py +0 -0
  4269. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_get_applied_suggestions_file_path.py +0 -0
  4270. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_load_applied_suggestions_state.py +0 -0
  4271. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_load_from_branch.py +0 -0
  4272. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/applied_suggestions/test_save_applied_suggestions_state.py +0 -0
  4273. {agentic_devtools-0.2.266/tests/unit/cli/workflows/worktree_setup → agentic_devtools-0.2.268/tests/unit/cli/workflows/base}/__init__.py +0 -0
  4274. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test__state_key_to_variable_name.py +0 -0
  4275. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test_advance_workflow_step.py +0 -0
  4276. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test_clear_state_for_workflow_initiation.py +0 -0
  4277. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test_collect_variables_from_state.py +0 -0
  4278. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test_initiate_workflow.py +0 -0
  4279. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/base/test_validate_required_state.py +0 -0
  4280. {agentic_devtools-0.2.266/tests/unit/config → agentic_devtools-0.2.268/tests/unit/cli/workflows/checklist}/__init__.py +0 -0
  4281. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/conftest.py +0 -0
  4282. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_checklist.py +0 -0
  4283. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_checklistitem.py +0 -0
  4284. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_get_checklist.py +0 -0
  4285. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_get_checklist_file_path.py +0 -0
  4286. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_initialize_checklist.py +0 -0
  4287. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_mark_items_completed.py +0 -0
  4288. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_parse_completed_items_arg.py +0 -0
  4289. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/checklist/test_save_checklist.py +0 -0
  4290. {agentic_devtools-0.2.266/tests/unit/context → agentic_devtools-0.2.268/tests/unit/cli/workflows/commands}/__init__.py +0 -0
  4291. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/conftest.py +0 -0
  4292. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__clear_stale_issue_keys_for_create.py +0 -0
  4293. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__copy_review_state_to_apply_suggestions.py +0 -0
  4294. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__effective_argv.py +0 -0
  4295. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__ensure_bootstrap_identity.py +0 -0
  4296. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__execute_retrieve_step.py +0 -0
  4297. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__fetch_issue_for_prompt.py +0 -0
  4298. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__format_auto_setup_success_message.py +0 -0
  4299. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__format_degraded_setup_message.py +0 -0
  4300. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__format_jira_issue_comments.py +0 -0
  4301. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__format_jira_issue_prompt_fields.py +0 -0
  4302. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__parse_bool_interactive.py +0 -0
  4303. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__powershell_join.py +0 -0
  4304. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test__stringify_jira_text_value.py +0 -0
  4305. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_advance_pull_request_review_workflow.py +0 -0
  4306. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_advance_work_on_jira_issue_workflow.py +0 -0
  4307. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_advance_workflow_cmd.py +0 -0
  4308. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_create_checklist_cmd.py +0 -0
  4309. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_get_workflow_cmd.py +0 -0
  4310. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_apply_pull_request_review_suggestions_workflow.py +0 -0
  4311. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_break_down_issue_into_subtasks_workflow.py +0 -0
  4312. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_create_jira_epic_workflow.py +0 -0
  4313. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_create_jira_issue_workflow.py +0 -0
  4314. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_create_jira_subtask_workflow.py +0 -0
  4315. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_optimize_issue_for_ai_agent_workflow.py +0 -0
  4316. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_pr_merge_orchestrator_workflow.py +0 -0
  4317. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_pull_request_review_workflow.py +0 -0
  4318. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_update_jira_issue_workflow.py +0 -0
  4319. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_initiate_work_on_jira_issue_workflow.py +0 -0
  4320. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_notify_workflow_event.py +0 -0
  4321. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_setup_worktree_background_cmd.py +0 -0
  4322. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_show_checklist_cmd.py +0 -0
  4323. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/commands/test_update_checklist_cmd.py +0 -0
  4324. {agentic_devtools-0.2.266/tests/unit/context/models → agentic_devtools-0.2.268/tests/unit/cli/workflows/manager}/__init__.py +0 -0
  4325. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test__build_command_hint.py +0 -0
  4326. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test__check_required_tasks_status.py +0 -0
  4327. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test__render_failure_prompt.py +0 -0
  4328. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test__render_step_prompt.py +0 -0
  4329. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test__render_waiting_prompt.py +0 -0
  4330. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_get_next_step.py +0 -0
  4331. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt.py +0 -0
  4332. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_get_next_workflow_prompt_cmd.py +0 -0
  4333. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_get_workflow_definition.py +0 -0
  4334. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_nextpromptresult.py +0 -0
  4335. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_notify_workflow_event.py +0 -0
  4336. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/manager/test_promptstatus.py +0 -0
  4337. {agentic_devtools-0.2.266/tests/unit/context/nodes → agentic_devtools-0.2.268/tests/unit/cli/workflows/preflight}/__init__.py +0 -0
  4338. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_check_worktree_and_branch.py +0 -0
  4339. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_generate_setup_instructions.py +0 -0
  4340. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_get_current_git_branch.py +0 -0
  4341. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_get_git_repo_root.py +0 -0
  4342. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_perform_auto_setup.py +0 -0
  4343. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/preflight/test_preflightresult.py +0 -0
  4344. {agentic_devtools-0.2.266/tests/unit/context/retriever → agentic_devtools-0.2.268/tests/unit/cli/workflows/worktree_setup}/__init__.py +0 -0
  4345. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__cleanup_pending_auto_start_marker.py +0 -0
  4346. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__cleanup_stale_auto_start_task_for_worktree.py +0 -0
  4347. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__detect_git_root.py +0 -0
  4348. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__detect_python_scripts_dir.py +0 -0
  4349. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__focus_vscode_window.py +0 -0
  4350. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__maybe_inject_auto_start_before_vscode.py +0 -0
  4351. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__open_log_in_vscode.py +0 -0
  4352. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__print_agent_instructions_block.py +0 -0
  4353. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__prompt_file_relative_path.py +0 -0
  4354. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__propagate_agdt_cache.py +0 -0
  4355. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__resolve_state_context_in_worktree.py +0 -0
  4356. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__run_auto_execute_command.py +0 -0
  4357. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__setup_worktree_from_state.py +0 -0
  4358. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__shell_quote.py +0 -0
  4359. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__spawn_delayed_autostart_verification.py +0 -0
  4360. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_apply_pr_suggestions.py +0 -0
  4361. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_create_jira_epic.py +0 -0
  4362. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_create_jira_issue.py +0 -0
  4363. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_create_jira_subtask.py +0 -0
  4364. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_pr_review.py +0 -0
  4365. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_update_jira_issue.py +0 -0
  4366. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_work_on_jira_issue.py +0 -0
  4367. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__start_copilot_session_for_workflow.py +0 -0
  4368. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__try_terminal_send_fallback.py +0 -0
  4369. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__wait_for_prompt_file.py +0 -0
  4370. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__workflow_prompt_filenames.py +0 -0
  4371. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__workflow_start_prompts.py +0 -0
  4372. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test__write_pending_auto_start_marker.py +0 -0
  4373. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_check_worktree_exists.py +0 -0
  4374. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_and_setup_worktree.py +0 -0
  4375. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_create_placeholder_issue.py +0 -0
  4376. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_create_worktree.py +0 -0
  4377. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_find_workspace_file.py +0 -0
  4378. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_generate_workflow_branch_name.py +0 -0
  4379. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_get_ai_agent_continuation_prompt.py +0 -0
  4380. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_get_current_branch.py +0 -0
  4381. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_get_main_repo_root.py +0 -0
  4382. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_get_repos_parent_dir.py +0 -0
  4383. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_get_worktree_continuation_prompt.py +0 -0
  4384. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_inject_auto_start_task.py +0 -0
  4385. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_inject_git_path_settings.py +0 -0
  4386. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_inject_python_path_settings.py +0 -0
  4387. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_inject_task_permission_settings.py +0 -0
  4388. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_is_in_worktree.py +0 -0
  4389. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_is_vscode_available.py +0 -0
  4390. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_open_vscode_workspace.py +0 -0
  4391. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_placeholderissueresult.py +0 -0
  4392. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_run_worktree_setup_script.py +0 -0
  4393. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_environment.py +0 -0
  4394. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_setup_worktree_in_background_sync.py +0 -0
  4395. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_start_worktree_setup_background.py +0 -0
  4396. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_switch_to_main_branch.py +0 -0
  4397. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_worktreesetupresult.py +0 -0
  4398. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/cli/workflows/worktree_setup/test_worktreestatecontext.py +0 -0
  4399. {agentic_devtools-0.2.266/tests/unit/context_budget → agentic_devtools-0.2.268/tests/unit/config}/__init__.py +0 -0
  4400. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/config/test_load_repo_config.py +0 -0
  4401. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/config/test_load_review_focus_areas.py +0 -0
  4402. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/conftest.py +0 -0
  4403. {agentic_devtools-0.2.266/tests/unit/epic_tree → agentic_devtools-0.2.268/tests/unit/context}/__init__.py +0 -0
  4404. {agentic_devtools-0.2.266/tests/unit/epic_tree/config → agentic_devtools-0.2.268/tests/unit/context/models}/__init__.py +0 -0
  4405. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context/models/test_agentcontext.py +0 -0
  4406. {agentic_devtools-0.2.266/tests/unit/epic_tree/dependencies → agentic_devtools-0.2.268/tests/unit/context/nodes}/__init__.py +0 -0
  4407. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context/nodes/test_retrieve_context_node.py +0 -0
  4408. {agentic_devtools-0.2.266/tests/unit/epic_tree/errors → agentic_devtools-0.2.268/tests/unit/context/retriever}/__init__.py +0 -0
  4409. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context/retriever/test_issuecontextretriever.py +0 -0
  4410. {agentic_devtools-0.2.266/tests/unit/epic_tree/loader → agentic_devtools-0.2.268/tests/unit/context_budget}/__init__.py +0 -0
  4411. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_budgetresult.py +0 -0
  4412. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_collapse_whitespace.py +0 -0
  4413. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_contextbudgeterror.py +0 -0
  4414. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_enforce_context_budget.py +0 -0
  4415. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_hard_truncate.py +0 -0
  4416. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_reductionstage.py +0 -0
  4417. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_remove_image_references.py +0 -0
  4418. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_strip_markdown_formatting.py +0 -0
  4419. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/context_budget/test_validate_content_shape.py +0 -0
  4420. {agentic_devtools-0.2.266/tests/unit/epic_tree/models → agentic_devtools-0.2.268/tests/unit/epic_tree}/__init__.py +0 -0
  4421. {agentic_devtools-0.2.266/tests/unit/epic_tree/normalizer → agentic_devtools-0.2.268/tests/unit/epic_tree/config}/__init__.py +0 -0
  4422. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/config/test_load_epic_tree_config.py +0 -0
  4423. {agentic_devtools-0.2.266/tests/unit/epic_tree/ordering → agentic_devtools-0.2.268/tests/unit/epic_tree/dependencies}/__init__.py +0 -0
  4424. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/dependencies/test_build_dependency_graph.py +0 -0
  4425. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/dependencies/test_detect_cycles.py +0 -0
  4426. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/dependencies/test_topological_sort.py +0 -0
  4427. {agentic_devtools-0.2.266/tests/unit/epic_tree/schema → agentic_devtools-0.2.268/tests/unit/epic_tree/errors}/__init__.py +0 -0
  4428. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/errors/test_configerror.py +0 -0
  4429. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/errors/test_epictreeloaderror.py +0 -0
  4430. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/errors/test_epictreevalidationerror.py +0 -0
  4431. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/errors/test_validationreport.py +0 -0
  4432. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/errors/test_versionmismatcherror.py +0 -0
  4433. {agentic_devtools-0.2.266/tests/unit/epic_tree/validator → agentic_devtools-0.2.268/tests/unit/epic_tree/loader}/__init__.py +0 -0
  4434. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/loader/test__find_repo_root.py +0 -0
  4435. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/loader/test__normalize_validation_path.py +0 -0
  4436. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/loader/test_load_epic_tree.py +0 -0
  4437. {agentic_devtools-0.2.266/tests/unit/file_locking → agentic_devtools-0.2.268/tests/unit/epic_tree/models}/__init__.py +0 -0
  4438. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/models/test_epictree.py +0 -0
  4439. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/models/test_featurenode.py +0 -0
  4440. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/models/test_issuenode.py +0 -0
  4441. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/models/test_subtasknode.py +0 -0
  4442. {agentic_devtools-0.2.266/tests/unit/hierarchy → agentic_devtools-0.2.268/tests/unit/epic_tree/normalizer}/__init__.py +0 -0
  4443. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/normalizer/test_normalize_tree.py +0 -0
  4444. {agentic_devtools-0.2.266/tests/unit/hierarchy/artifact_profiles → agentic_devtools-0.2.268/tests/unit/epic_tree/ordering}/__init__.py +0 -0
  4445. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/ordering/test_creation_sequence.py +0 -0
  4446. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/ordering/test_resolve_sibling_order.py +0 -0
  4447. {agentic_devtools-0.2.266/tests/unit/hierarchy/cascade → agentic_devtools-0.2.268/tests/unit/epic_tree/schema}/__init__.py +0 -0
  4448. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/schema/test_load_schema.py +0 -0
  4449. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/schema/test_schema_path.py +0 -0
  4450. {agentic_devtools-0.2.266/tests/unit/hierarchy/detector → agentic_devtools-0.2.268/tests/unit/epic_tree/validator}/__init__.py +0 -0
  4451. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/validator/test_check_schema_version.py +0 -0
  4452. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/epic_tree/validator/test_validate_epic_tree.py +0 -0
  4453. {agentic_devtools-0.2.266/tests/unit/hierarchy/enforcement → agentic_devtools-0.2.268/tests/unit/file_locking}/__init__.py +0 -0
  4454. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_cross_platform_behavior.py +0 -0
  4455. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_file_lock_error.py +0 -0
  4456. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_lock_file.py +0 -0
  4457. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_lock_functions.py +0 -0
  4458. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_locked_file.py +0 -0
  4459. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_locked_file_edge_cases.py +0 -0
  4460. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_locked_state_file.py +0 -0
  4461. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_unix_file_locking.py +0 -0
  4462. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_unlock_file.py +0 -0
  4463. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/file_locking/test_windows_file_locking.py +0 -0
  4464. {agentic_devtools-0.2.266/tests/unit/hierarchy/github_detector → agentic_devtools-0.2.268/tests/unit/hierarchy}/__init__.py +0 -0
  4465. {agentic_devtools-0.2.266/tests/unit/hierarchy/jira_detector → agentic_devtools-0.2.268/tests/unit/hierarchy/artifact_profiles}/__init__.py +0 -0
  4466. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/artifact_profiles/test_epic_profile.py +0 -0
  4467. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/artifact_profiles/test_feature_profile.py +0 -0
  4468. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/artifact_profiles/test_get_artifact_profile_invalid.py +0 -0
  4469. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/artifact_profiles/test_get_artifact_profile_returns_copy.py +0 -0
  4470. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/artifact_profiles/test_task_profile.py +0 -0
  4471. {agentic_devtools-0.2.266/tests/unit/hierarchy/metadata_io → agentic_devtools-0.2.268/tests/unit/hierarchy/cascade}/__init__.py +0 -0
  4472. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_all_children_skipped.py +0 -0
  4473. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_cascade_internals.py +0 -0
  4474. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_cascade_read_error.py +0 -0
  4475. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_cascade_with_parent.py +0 -0
  4476. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_find_eligible_skip_before.py +0 -0
  4477. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_halt_on_api_error.py +0 -0
  4478. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_halt_on_failure.py +0 -0
  4479. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_idempotent_label.py +0 -0
  4480. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_no_children.py +0 -0
  4481. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_skip_closed_issues.py +0 -0
  4482. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_skip_deleted_issues.py +0 -0
  4483. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_skip_speckit_skip.py +0 -0
  4484. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_skipped_text.py +0 -0
  4485. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_trigger_first_child.py +0 -0
  4486. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/cascade/test_trigger_next_sibling.py +0 -0
  4487. {agentic_devtools-0.2.266/tests/unit/hierarchy/models → agentic_devtools-0.2.268/tests/unit/hierarchy/detector}/__init__.py +0 -0
  4488. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/detector/test_hierarchydetector.py +0 -0
  4489. {agentic_devtools-0.2.266/tests/unit/hierarchy/path_resolver → agentic_devtools-0.2.268/tests/unit/hierarchy/enforcement}/__init__.py +0 -0
  4490. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_check_parent_specked.py +0 -0
  4491. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_enforce_parent_specked.py +0 -0
  4492. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_enforcementresult.py +0 -0
  4493. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_grandchild_enforcement.py +0 -0
  4494. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_legacy_path_file_match.py +0 -0
  4495. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_legacy_path_lookup.py +0 -0
  4496. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/enforcement/test_reject_trigger.py +0 -0
  4497. {agentic_devtools-0.2.266/tests/unit/mcp → agentic_devtools-0.2.268/tests/unit/hierarchy/github_detector}/__init__.py +0 -0
  4498. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/github_detector/test_githubhierarchydetector.py +0 -0
  4499. {agentic_devtools-0.2.266/tests/unit/mcp/server → agentic_devtools-0.2.268/tests/unit/hierarchy/jira_detector}/__init__.py +0 -0
  4500. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/jira_detector/test_jirahierarchydetector.py +0 -0
  4501. {agentic_devtools-0.2.266/tests/unit/orchestration → agentic_devtools-0.2.268/tests/unit/hierarchy/metadata_io}/__init__.py +0 -0
  4502. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/metadata_io/test_read_hierarchy_yml.py +0 -0
  4503. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/metadata_io/test_read_hierarchy_yml_errors.py +0 -0
  4504. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/metadata_io/test_standalone_no_yml.py +0 -0
  4505. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/metadata_io/test_write_hierarchy_yml.py +0 -0
  4506. {agentic_devtools-0.2.266/tests/unit/orchestration/checkpointing → agentic_devtools-0.2.268/tests/unit/hierarchy/models}/__init__.py +0 -0
  4507. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/models/test_artifactprofile.py +0 -0
  4508. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/models/test_cascadeevent.py +0 -0
  4509. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/models/test_hierarchylevel.py +0 -0
  4510. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/models/test_hierarchymetadata.py +0 -0
  4511. {agentic_devtools-0.2.266/tests/unit/orchestration/execution → agentic_devtools-0.2.268/tests/unit/hierarchy/path_resolver}/__init__.py +0 -0
  4512. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/path_resolver/test_backward_compatibility.py +0 -0
  4513. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/path_resolver/test_resolve_fallback_path.py +0 -0
  4514. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/path_resolver/test_resolve_hierarchical_path.py +0 -0
  4515. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/hierarchy/path_resolver/test_resolve_standalone_path.py +0 -0
  4516. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/adr_validation → agentic_devtools-0.2.268/tests/unit/mcp}/__init__.py +0 -0
  4517. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/context → agentic_devtools-0.2.268/tests/unit/mcp/server}/__init__.py +0 -0
  4518. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/mcp/server/test__load_azure_devops_config.py +0 -0
  4519. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/mcp/server/test__load_jira_config.py +0 -0
  4520. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/mcp/server/test_create_mcp_server.py +0 -0
  4521. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/mcp/server/test_main.py +0 -0
  4522. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/context_factory → agentic_devtools-0.2.268/tests/unit/orchestration}/__init__.py +0 -0
  4523. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/decision_gate → agentic_devtools-0.2.268/tests/unit/orchestration/checkpointing}/__init__.py +0 -0
  4524. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/checkpointing/test_get_checkpointer.py +0 -0
  4525. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/decision_policy → agentic_devtools-0.2.268/tests/unit/orchestration/execution}/__init__.py +0 -0
  4526. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/event_edge_mapping → agentic_devtools-0.2.268/tests/unit/orchestration/execution/adr_validation}/__init__.py +0 -0
  4527. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/adr_validation/test_validate_adr_014.py +0 -0
  4528. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/exceptions → agentic_devtools-0.2.268/tests/unit/orchestration/execution/context}/__init__.py +0 -0
  4529. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/context/test_executioncontext.py +0 -0
  4530. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/idempotency → agentic_devtools-0.2.268/tests/unit/orchestration/execution/context_factory}/__init__.py +0 -0
  4531. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/context_factory/test_build_execution_context.py +0 -0
  4532. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/poc_node → agentic_devtools-0.2.268/tests/unit/orchestration/execution/decision_gate}/__init__.py +0 -0
  4533. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/decision_gate/test_decisionrequired.py +0 -0
  4534. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/protocols → agentic_devtools-0.2.268/tests/unit/orchestration/execution/decision_policy}/__init__.py +0 -0
  4535. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/decision_policy/test_load_decision_policy.py +0 -0
  4536. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/decision_policy/test_validate_policy_data.py +0 -0
  4537. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/retry → agentic_devtools-0.2.268/tests/unit/orchestration/execution/event_edge_mapping}/__init__.py +0 -0
  4538. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/event_edge_mapping/test_build_routing_function.py +0 -0
  4539. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/event_edge_mapping/test_eventedgeconfig.py +0 -0
  4540. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/event_edge_mapping/test_load_event_edge_mapping.py +0 -0
  4541. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/state → agentic_devtools-0.2.268/tests/unit/orchestration/execution/exceptions}/__init__.py +0 -0
  4542. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/exceptions/test_reasoningtimeouterror.py +0 -0
  4543. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/exceptions/test_retryexhaustederror.py +0 -0
  4544. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/exceptions/test_toolinvocationerror.py +0 -0
  4545. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/trace_persistence → agentic_devtools-0.2.268/tests/unit/orchestration/execution/idempotency}/__init__.py +0 -0
  4546. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/idempotency/test_idempotency_edge_cases.py +0 -0
  4547. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/idempotency/test_idempotencyentry.py +0 -0
  4548. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/idempotency/test_idempotencyregistry.py +0 -0
  4549. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/idempotency/test_idempotent_tool_wrapper.py +0 -0
  4550. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/tracing → agentic_devtools-0.2.268/tests/unit/orchestration/execution/poc_node}/__init__.py +0 -0
  4551. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/poc_node/test_create_analysis_node.py +0 -0
  4552. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/poc_node/test_tool_result_envelope.py +0 -0
  4553. {agentic_devtools-0.2.266/tests/unit/orchestration/execution/types → agentic_devtools-0.2.268/tests/unit/orchestration/execution/protocols}/__init__.py +0 -0
  4554. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/protocols/test_assert_import_isolation.py +0 -0
  4555. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/protocols/test_reasoningprovider.py +0 -0
  4556. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/protocols/test_toolregistry.py +0 -0
  4557. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/protocols/test_traceemitter.py +0 -0
  4558. {agentic_devtools-0.2.266/tests/unit/orchestration/graph_builder → agentic_devtools-0.2.268/tests/unit/orchestration/execution/retry}/__init__.py +0 -0
  4559. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/retry/test_with_retry.py +0 -0
  4560. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/run_id/__init__.py +0 -0
  4561. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/run_id/test_validate_run_id.py +0 -0
  4562. {agentic_devtools-0.2.266/tests/unit/orchestration/llm → agentic_devtools-0.2.268/tests/unit/orchestration/execution/state}/__init__.py +0 -0
  4563. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/state/test_executionstate.py +0 -0
  4564. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/base_provider → agentic_devtools-0.2.268/tests/unit/orchestration/execution/trace_persistence}/__init__.py +0 -0
  4565. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/trace_persistence/test_persistenttraceemitter.py +0 -0
  4566. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/trace_persistence/test_trace_persistence_edge_cases.py +0 -0
  4567. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/trace_persistence/test_tracerecord.py +0 -0
  4568. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/trace_persistence/test_write_execution_summary.py +0 -0
  4569. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/call_logger → agentic_devtools-0.2.268/tests/unit/orchestration/execution/tracing}/__init__.py +0 -0
  4570. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/tracing/test_loggingtraceemitter.py +0 -0
  4571. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/tracing/test_make_trace_event.py +0 -0
  4572. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/tracing/test_redact_sensitive_keys.py +0 -0
  4573. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/tracing/test_traceevent.py +0 -0
  4574. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/config → agentic_devtools-0.2.268/tests/unit/orchestration/execution/types}/__init__.py +0 -0
  4575. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/types/test_jsonvalue.py +0 -0
  4576. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/types/test_reasoningresponse.py +0 -0
  4577. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/execution/types/test_tokenusage.py +0 -0
  4578. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/config_schema → agentic_devtools-0.2.268/tests/unit/orchestration/graph_builder}/__init__.py +0 -0
  4579. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/graph_builder/test_build_work_on_issue_graph.py +0 -0
  4580. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/cost_estimator → agentic_devtools-0.2.268/tests/unit/orchestration/llm}/__init__.py +0 -0
  4581. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/errors → agentic_devtools-0.2.268/tests/unit/orchestration/llm/base_provider}/__init__.py +0 -0
  4582. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/base_provider/test_llmprovider.py +0 -0
  4583. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/base_provider/test_omit_none_values.py +0 -0
  4584. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/factory → agentic_devtools-0.2.268/tests/unit/orchestration/llm/call_logger}/__init__.py +0 -0
  4585. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/call_logger/test_calllogger.py +0 -0
  4586. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/mock_provider → agentic_devtools-0.2.268/tests/unit/orchestration/llm/config}/__init__.py +0 -0
  4587. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/config/test_load_config.py +0 -0
  4588. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/config/test_resolve_node_config.py +0 -0
  4589. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/provider_config → agentic_devtools-0.2.268/tests/unit/orchestration/llm/config_schema}/__init__.py +0 -0
  4590. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/config_schema/test_validate_config.py +0 -0
  4591. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/providers → agentic_devtools-0.2.268/tests/unit/orchestration/llm/cost_estimator}/__init__.py +0 -0
  4592. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/cost_estimator/test_costestimator.py +0 -0
  4593. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/providers/azure_openai → agentic_devtools-0.2.268/tests/unit/orchestration/llm/errors}/__init__.py +0 -0
  4594. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/errors/test_errors.py +0 -0
  4595. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/providers/local_model → agentic_devtools-0.2.268/tests/unit/orchestration/llm/factory}/__init__.py +0 -0
  4596. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/factory/test_providerfactory.py +0 -0
  4597. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/providers/openai_direct → agentic_devtools-0.2.268/tests/unit/orchestration/llm/mock_provider}/__init__.py +0 -0
  4598. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/mock_provider/test_mock_provider.py +0 -0
  4599. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/retry → agentic_devtools-0.2.268/tests/unit/orchestration/llm/provider_config}/__init__.py +0 -0
  4600. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/provider_config/test_llmproviderconfig.py +0 -0
  4601. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/testing → agentic_devtools-0.2.268/tests/unit/orchestration/llm/providers}/__init__.py +0 -0
  4602. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/testing/canonical_hash → agentic_devtools-0.2.268/tests/unit/orchestration/llm/providers/azure_openai}/__init__.py +0 -0
  4603. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/providers/azure_openai/test_azureopenaiprovider.py +0 -0
  4604. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/testing/deterministic → agentic_devtools-0.2.268/tests/unit/orchestration/llm/providers/local_model}/__init__.py +0 -0
  4605. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/providers/local_model/test_localmodelprovider.py +0 -0
  4606. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/testing/fixture_store → agentic_devtools-0.2.268/tests/unit/orchestration/llm/providers/openai_direct}/__init__.py +0 -0
  4607. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/providers/openai_direct/test_openaidirectprovider.py +0 -0
  4608. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/token_counter → agentic_devtools-0.2.268/tests/unit/orchestration/llm/retry}/__init__.py +0 -0
  4609. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/retry/test_retryhandler.py +0 -0
  4610. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/types → agentic_devtools-0.2.268/tests/unit/orchestration/llm/testing}/__init__.py +0 -0
  4611. {agentic_devtools-0.2.266/tests/unit/orchestration/llm/usage_tracker → agentic_devtools-0.2.268/tests/unit/orchestration/llm/testing/canonical_hash}/__init__.py +0 -0
  4612. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/testing/canonical_hash/test_compute_fixture_key.py +0 -0
  4613. {agentic_devtools-0.2.266/tests/unit/orchestration/node_factory → agentic_devtools-0.2.268/tests/unit/orchestration/llm/testing/deterministic}/__init__.py +0 -0
  4614. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/testing/deterministic/test_deterministictestprovider.py +0 -0
  4615. {agentic_devtools-0.2.266/tests/unit/orchestration/pilot_workflow → agentic_devtools-0.2.268/tests/unit/orchestration/llm/testing/fixture_store}/__init__.py +0 -0
  4616. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/testing/fixture_store/test_fixturestore.py +0 -0
  4617. {agentic_devtools-0.2.266/tests/unit/orchestration/review → agentic_devtools-0.2.268/tests/unit/orchestration/llm/token_counter}/__init__.py +0 -0
  4618. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/token_counter/test_tokencounter.py +0 -0
  4619. {agentic_devtools-0.2.266/tests/unit/orchestration/review/nodes → agentic_devtools-0.2.268/tests/unit/orchestration/llm/types}/__init__.py +0 -0
  4620. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/types/test_llmresponse.py +0 -0
  4621. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/types/test_streamchunk.py +0 -0
  4622. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/types/test_tokenusage.py +0 -0
  4623. {agentic_devtools-0.2.266/tests/unit/orchestration/runner → agentic_devtools-0.2.268/tests/unit/orchestration/llm/usage_tracker}/__init__.py +0 -0
  4624. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/llm/usage_tracker/test_usagetracker.py +0 -0
  4625. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas → agentic_devtools-0.2.268/tests/unit/orchestration/node_factory}/__init__.py +0 -0
  4626. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/node_factory/test_make_node.py +0 -0
  4627. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/__init__ → agentic_devtools-0.2.268/tests/unit/orchestration/pilot_workflow}/__init__.py +0 -0
  4628. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test__utc_now.py +0 -0
  4629. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_checklist_creation_node.py +0 -0
  4630. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_checkpoint_compatibility.py +0 -0
  4631. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_commit_node.py +0 -0
  4632. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_completion_node.py +0 -0
  4633. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_error_handler_node.py +0 -0
  4634. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_get_mermaid_diagram.py +0 -0
  4635. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_implementation_node.py +0 -0
  4636. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_implementation_review_node.py +0 -0
  4637. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_initiate_node.py +0 -0
  4638. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_planning_node.py +0 -0
  4639. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_pull_request_node.py +0 -0
  4640. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_checklist_creation.py +0 -0
  4641. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_commit.py +0 -0
  4642. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_implementation.py +0 -0
  4643. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_implementation_review.py +0 -0
  4644. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_initiate.py +0 -0
  4645. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_plan.py +0 -0
  4646. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_pull_request.py +0 -0
  4647. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_setup.py +0 -0
  4648. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_route_after_verify.py +0 -0
  4649. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_routing_purity.py +0 -0
  4650. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_setup_node.py +0 -0
  4651. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/pilot_workflow/test_verification_node.py +0 -0
  4652. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/_confidence → agentic_devtools-0.2.268/tests/unit/orchestration/review}/__init__.py +0 -0
  4653. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/_enums → agentic_devtools-0.2.268/tests/unit/orchestration/review/nodes}/__init__.py +0 -0
  4654. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/review/nodes/test_review_file_node.py +0 -0
  4655. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/_export → agentic_devtools-0.2.268/tests/unit/orchestration/runner}/__init__.py +0 -0
  4656. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/runner/test__is_workflow_paused.py +0 -0
  4657. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/runner/test_run_langchain_workflow.py +0 -0
  4658. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/_validation → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/__init__}/__init__.py +0 -0
  4659. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/__init__/test_serialization.py +0 -0
  4660. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/_fallback → agentic_devtools-0.2.268/tests/unit/orchestration/schemas}/__init__.py +0 -0
  4661. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/examples → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/_confidence}/__init__.py +0 -0
  4662. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_confidence/test_confidencescore.py +0 -0
  4663. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/examples/review_examples → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/_enums}/__init__.py +0 -0
  4664. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_enums/test_escalationcategory.py +0 -0
  4665. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_enums/test_qualitygatename.py +0 -0
  4666. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_enums/test_severity.py +0 -0
  4667. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_enums/test_verdict.py +0 -0
  4668. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/examples/shared_examples → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/_export}/__init__.py +0 -0
  4669. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_export/test_export_json_schema.py +0 -0
  4670. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/examples/work_examples → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/_fallback}/__init__.py +0 -0
  4671. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_fallback/test_fallback_pipeline.py +0 -0
  4672. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/_validation}/__init__.py +0 -0
  4673. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_validation/test__truncate_utf8.py +0 -0
  4674. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_validation/test_schemavalidationerror.py +0 -0
  4675. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/_validation/test_validate_llm_output.py +0 -0
  4676. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review/decision → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/examples}/__init__.py +0 -0
  4677. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review/finding → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/examples/review_examples}/__init__.py +0 -0
  4678. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/examples/review_examples/test_review_examples.py +0 -0
  4679. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review/result → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/examples/shared_examples}/__init__.py +0 -0
  4680. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/examples/shared_examples/test_shared_examples.py +0 -0
  4681. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review/summary → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/examples/work_examples}/__init__.py +0 -0
  4682. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/examples/work_examples/test_work_examples.py +0 -0
  4683. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/review/verdict → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review}/__init__.py +0 -0
  4684. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/shared → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review/decision}/__init__.py +0 -0
  4685. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/decision/test_reviewdecision.py +0 -0
  4686. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/shared/confidence → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review/finding}/__init__.py +0 -0
  4687. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/finding/test_codesuggestion.py +0 -0
  4688. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/finding/test_filereviewfinding.py +0 -0
  4689. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/shared/escalation → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review/result}/__init__.py +0 -0
  4690. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/result/test_filereviewresult.py +0 -0
  4691. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/shared/stop_condition → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review/summary}/__init__.py +0 -0
  4692. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/summary/test_reviewsummary.py +0 -0
  4693. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/review/verdict}/__init__.py +0 -0
  4694. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/verdict/test_reviewsuggestion.py +0 -0
  4695. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/review/verdict/test_reviewverdict.py +0 -0
  4696. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue/checklist → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/shared}/__init__.py +0 -0
  4697. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue/diagnosis → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/shared/confidence}/__init__.py +0 -0
  4698. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/shared/confidence/test_confidencescore.py +0 -0
  4699. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue/plan → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/shared/escalation}/__init__.py +0 -0
  4700. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/shared/escalation/test_escalationreason.py +0 -0
  4701. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue/quality → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/shared/stop_condition}/__init__.py +0 -0
  4702. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/shared/stop_condition/test_stopcondition.py +0 -0
  4703. {agentic_devtools-0.2.266/tests/unit/orchestration/schemas/work_on_issue/summary → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue}/__init__.py +0 -0
  4704. {agentic_devtools-0.2.266/tests/unit/orchestration/state_schema → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue/checklist}/__init__.py +0 -0
  4705. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/work_on_issue/checklist/test_checklistitem.py +0 -0
  4706. {agentic_devtools-0.2.266/tests/unit/orchestration/tools → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue/diagnosis}/__init__.py +0 -0
  4707. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/work_on_issue/diagnosis/test_testfailurediagnosis.py +0 -0
  4708. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/audit → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue/plan}/__init__.py +0 -0
  4709. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/work_on_issue/plan/test_implementationplan.py +0 -0
  4710. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/builtins → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue/quality}/__init__.py +0 -0
  4711. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/work_on_issue/quality/test_qualitygateresult.py +0 -0
  4712. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/decorators → agentic_devtools-0.2.268/tests/unit/orchestration/schemas/work_on_issue/summary}/__init__.py +0 -0
  4713. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/schemas/work_on_issue/summary/test_implementationsummary.py +0 -0
  4714. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/definition → agentic_devtools-0.2.268/tests/unit/orchestration/state_schema}/__init__.py +0 -0
  4715. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/state_schema/test_workonissueevent.py +0 -0
  4716. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/state_schema/test_workonissuestate.py +0 -0
  4717. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/executor → agentic_devtools-0.2.268/tests/unit/orchestration/tools}/__init__.py +0 -0
  4718. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/langchain_adapter → agentic_devtools-0.2.268/tests/unit/orchestration/tools/audit}/__init__.py +0 -0
  4719. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/audit/test_emit_audit_log.py +0 -0
  4720. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/audit/test_get_timestamp.py +0 -0
  4721. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/registry → agentic_devtools-0.2.268/tests/unit/orchestration/tools/builtins}/__init__.py +0 -0
  4722. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/builtins/test_builtin_functions.py +0 -0
  4723. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/builtins/test_filesystem_containment.py +0 -0
  4724. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/builtins/test_register_git_tools.py +0 -0
  4725. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/builtins/test_sc001_tool_count.py +0 -0
  4726. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/result → agentic_devtools-0.2.268/tests/unit/orchestration/tools/decorators}/__init__.py +0 -0
  4727. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/decorators/test_tool_definition_decorator.py +0 -0
  4728. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/review_bindings → agentic_devtools-0.2.268/tests/unit/orchestration/tools/definition}/__init__.py +0 -0
  4729. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/definition/test_tooldefinition.py +0 -0
  4730. {agentic_devtools-0.2.266/tests/unit/orchestration/tools/validation → agentic_devtools-0.2.268/tests/unit/orchestration/tools/executor}/__init__.py +0 -0
  4731. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_audit_duration.py +0 -0
  4732. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_audit_failure.py +0 -0
  4733. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_dry_run.py +0 -0
  4734. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_execute.py +0 -0
  4735. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_invoke.py +0 -0
  4736. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_is_dry_run_fallback.py +0 -0
  4737. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_list_all_get_categories.py +0 -0
  4738. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_shutdown.py +0 -0
  4739. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_thread_safety.py +0 -0
  4740. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/executor/test_timeout.py +0 -0
  4741. {agentic_devtools-0.2.266/tests/unit/prompts → agentic_devtools-0.2.268/tests/unit/orchestration/tools/langchain_adapter}/__init__.py +0 -0
  4742. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/langchain_adapter/test_import_error.py +0 -0
  4743. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/langchain_adapter/test_json_type_to_python_list.py +0 -0
  4744. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/langchain_adapter/test_optional_fields.py +0 -0
  4745. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/langchain_adapter/test_to_langchain_tool.py +0 -0
  4746. {agentic_devtools-0.2.266/tests/unit/prompts/loader → agentic_devtools-0.2.268/tests/unit/orchestration/tools/registry}/__init__.py +0 -0
  4747. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/registry/test_concretetoolregistry.py +0 -0
  4748. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/registry/test_get_function.py +0 -0
  4749. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/registry/test_invoke.py +0 -0
  4750. {agentic_devtools-0.2.266/tests/unit/segments → agentic_devtools-0.2.268/tests/unit/orchestration/tools/result}/__init__.py +0 -0
  4751. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/result/test_toolresult.py +0 -0
  4752. {agentic_devtools-0.2.266/tests/unit/segments/cleanup → agentic_devtools-0.2.268/tests/unit/orchestration/tools/review_bindings}/__init__.py +0 -0
  4753. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/review_bindings/test_review_bindings.py +0 -0
  4754. {agentic_devtools-0.2.266/tests/unit/segments/errors → agentic_devtools-0.2.268/tests/unit/orchestration/tools/validation}/__init__.py +0 -0
  4755. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/orchestration/tools/validation/test_validate_inputs.py +0 -0
  4756. {agentic_devtools-0.2.266/tests/unit/segments/manager → agentic_devtools-0.2.268/tests/unit/prompts}/__init__.py +0 -0
  4757. {agentic_devtools-0.2.266/tests/unit/segments/models → agentic_devtools-0.2.268/tests/unit/prompts/loader}/__init__.py +0 -0
  4758. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/conftest.py +0 -0
  4759. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_get_prompts_dir.py +0 -0
  4760. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_get_required_variables.py +0 -0
  4761. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_get_temp_output_dir.py +0 -0
  4762. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_get_template_filename.py +0 -0
  4763. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_get_template_path.py +0 -0
  4764. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_load_and_render_prompt.py +0 -0
  4765. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_load_ci_template.py +0 -0
  4766. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_load_prompt_template.py +0 -0
  4767. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_log_prompt_with_save_notice.py +0 -0
  4768. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_pr_review_consolidate_and_submit_prompt_rendering.py +0 -0
  4769. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_pr_review_delegate_prompt_rendering.py +0 -0
  4770. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_pr_review_pr_synthesis_prompt_rendering.py +0 -0
  4771. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_save_generated_prompt.py +0 -0
  4772. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_silentundefined.py +0 -0
  4773. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_substitute_variables.py +0 -0
  4774. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_substitute_variables_syntax_error.py +0 -0
  4775. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_template_validation_error.py +0 -0
  4776. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/prompts/loader/test_validate_template_variables.py +0 -0
  4777. {agentic_devtools-0.2.266/tests/unit/segments/reconciler → agentic_devtools-0.2.268/tests/unit/segments}/__init__.py +0 -0
  4778. {agentic_devtools-0.2.266/tests/unit/skill_injector → agentic_devtools-0.2.268/tests/unit/segments/cleanup}/__init__.py +0 -0
  4779. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/cleanup/test_cleanup_segments.py +0 -0
  4780. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/cleanup/test_is_owner_alive.py +0 -0
  4781. {agentic_devtools-0.2.266/tests/unit/state → agentic_devtools-0.2.268/tests/unit/segments/errors}/__init__.py +0 -0
  4782. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/errors/test_reconciliationerror.py +0 -0
  4783. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/errors/test_segmenterror.py +0 -0
  4784. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/errors/test_segmentlifecycleerror.py +0 -0
  4785. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/errors/test_segmentnotfounderror.py +0 -0
  4786. {agentic_devtools-0.2.266/tests/unit/submission_manager → agentic_devtools-0.2.268/tests/unit/segments/manager}/__init__.py +0 -0
  4787. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test__atomic_write_segment.py +0 -0
  4788. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_complete_segment.py +0 -0
  4789. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_create_segment.py +0 -0
  4790. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_fail_segment.py +0 -0
  4791. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_get_segments_dir.py +0 -0
  4792. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_list_segments.py +0 -0
  4793. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_read_segment.py +0 -0
  4794. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/manager/test_write_segment_data.py +0 -0
  4795. {agentic_devtools-0.2.266/tests/unit/submission_processor → agentic_devtools-0.2.268/tests/unit/segments/models}/__init__.py +0 -0
  4796. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/models/test_segmentstatus.py +0 -0
  4797. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/models/test_statesegment.py +0 -0
  4798. {agentic_devtools-0.2.266/tests/unit/task_state → agentic_devtools-0.2.268/tests/unit/segments/reconciler}/__init__.py +0 -0
  4799. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/reconciler/test_apply_reconciliation.py +0 -0
  4800. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/reconciler/test_precedencedecision.py +0 -0
  4801. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/reconciler/test_reconcile_segments.py +0 -0
  4802. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/segments/reconciler/test_reconciliationrecord.py +0 -0
  4803. {agentic_devtools-0.2.266/tests/unit/tools → agentic_devtools-0.2.268/tests/unit/skill_injector}/__init__.py +0 -0
  4804. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__derive_fallback_description_from_markdown.py +0 -0
  4805. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__ensure_github_gitignore_unignores_agdt.py +0 -0
  4806. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__extract_description.py +0 -0
  4807. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__flatten_filename.py +0 -0
  4808. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__generate_readme.py +0 -0
  4809. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__get_source_dir.py +0 -0
  4810. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__list_md_files.py +0 -0
  4811. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test__parse_frontmatter.py +0 -0
  4812. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/skill_injector/test_inject_skills.py +0 -0
  4813. {agentic_devtools-0.2.266/tests/unit/tools/azure_devops → agentic_devtools-0.2.268/tests/unit/state}/__init__.py +0 -0
  4814. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__emit_pin_diagnostic.py +0 -0
  4815. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__get_git_email.py +0 -0
  4816. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__get_or_refresh_identity.py +0 -0
  4817. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__read_identity_cache.py +0 -0
  4818. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__resolve_identity.py +0 -0
  4819. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__sync_bootstrap_for_context_key.py +0 -0
  4820. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__update_bootstrap_worktree_key.py +0 -0
  4821. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test__write_identity_cache.py +0 -0
  4822. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_clear_state.py +0 -0
  4823. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_clear_workflow_state.py +0 -0
  4824. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_delete_pin_file.py +0 -0
  4825. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_delete_value.py +0 -0
  4826. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_all_keys.py +0 -0
  4827. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_bootstrap_state.py +0 -0
  4828. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_pull_request_id.py +0 -0
  4829. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_pypi_dry_run.py +0 -0
  4830. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_pypi_package_name.py +0 -0
  4831. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_pypi_repository.py +0 -0
  4832. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_pypi_version.py +0 -0
  4833. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_state_dir.py +0 -0
  4834. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_state_file_path.py +0 -0
  4835. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_thread_id.py +0 -0
  4836. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_value.py +0 -0
  4837. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_get_workflow_state.py +0 -0
  4838. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_is_dry_run.py +0 -0
  4839. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_is_safe_dir_segment.py +0 -0
  4840. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_is_workflow_active.py +0 -0
  4841. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_load_state.py +0 -0
  4842. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_load_state_locked.py +0 -0
  4843. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_read_and_validate_pin_file.py +0 -0
  4844. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_read_modify_write_state.py +0 -0
  4845. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_refresh_pin_file_ttl.py +0 -0
  4846. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_save_state.py +0 -0
  4847. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_save_state_locked.py +0 -0
  4848. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_bootstrap_state.py +0 -0
  4849. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_context_value.py +0 -0
  4850. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_dry_run.py +0 -0
  4851. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_pull_request_id.py +0 -0
  4852. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_pypi_dry_run.py +0 -0
  4853. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_pypi_package_name.py +0 -0
  4854. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_pypi_repository.py +0 -0
  4855. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_pypi_version.py +0 -0
  4856. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_resolve_thread.py +0 -0
  4857. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_thread_id.py +0 -0
  4858. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_value.py +0 -0
  4859. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_set_workflow_state.py +0 -0
  4860. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_should_resolve_thread.py +0 -0
  4861. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_update_workflow_context.py +0 -0
  4862. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_update_workflow_step.py +0 -0
  4863. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_workflow_state_integration.py +0 -0
  4864. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/state/test_write_pin_file.py +0 -0
  4865. {agentic_devtools-0.2.266/tests/unit/tools/git → agentic_devtools-0.2.268/tests/unit/submission_manager}/__init__.py +0 -0
  4866. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_create_submission_manager.py +0 -0
  4867. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_faileditemsummary.py +0 -0
  4868. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_failurereport.py +0 -0
  4869. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_submissionitem.py +0 -0
  4870. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_submissionmanager.py +0 -0
  4871. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_submissionstatus.py +0 -0
  4872. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_manager/test_transientsubmissionerror.py +0 -0
  4873. {agentic_devtools-0.2.266/tests/unit/tools/jira → agentic_devtools-0.2.268/tests/unit/submission_processor}/__init__.py +0 -0
  4874. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_processor/conftest.py +0 -0
  4875. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_processor/test__get_attribution_params.py +0 -0
  4876. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_processor/test__validate_suggestions.py +0 -0
  4877. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_processor/test_create_review_processor.py +0 -0
  4878. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/submission_processor/test_process_submission.py +0 -0
  4879. {agentic_devtools-0.2.266/tests/workflows → agentic_devtools-0.2.268/tests/unit/task_state}/__init__.py +0 -0
  4880. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test__update_task_in_all_tasks.py +0 -0
  4881. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_add_task.py +0 -0
  4882. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_background_task.py +0 -0
  4883. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_cleanup_expired_tasks.py +0 -0
  4884. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_duration_seconds.py +0 -0
  4885. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_from_dict_invalid_status.py +0 -0
  4886. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_active_tasks.py +0 -0
  4887. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_all_tasks.py +0 -0
  4888. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_all_tasks_file_path.py +0 -0
  4889. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_background_tasks.py +0 -0
  4890. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_background_tasks_dir.py +0 -0
  4891. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_failed_most_recent_per_command.py +0 -0
  4892. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_incomplete_most_recent_per_command.py +0 -0
  4893. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_logs_dir.py +0 -0
  4894. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_most_recent_tasks_per_command.py +0 -0
  4895. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_other_incomplete_tasks.py +0 -0
  4896. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_recent_tasks.py +0 -0
  4897. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_task_by_id.py +0 -0
  4898. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_task_from_all_tasks.py +0 -0
  4899. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_get_tasks_by_status.py +0 -0
  4900. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_is_expired.py +0 -0
  4901. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_print_task_tracking_info.py +0 -0
  4902. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_remove_task.py +0 -0
  4903. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_save_background_tasks.py +0 -0
  4904. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_sort_tasks.py +0 -0
  4905. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_task_lifecycle.py +0 -0
  4906. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_task_status.py +0 -0
  4907. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/task_state/test_update_task.py +0 -0
  4908. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test__escape_for_cmd.py +0 -0
  4909. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test__get_requests.py +0 -0
  4910. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test_add_pull_request_comment.py +0 -0
  4911. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test_add_reviewer.py +0 -0
  4912. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test_create_pull_request.py +0 -0
  4913. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test_reply_to_pull_request_thread.py +0 -0
  4914. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/azure_devops/test_update_review_narrative.py +0 -0
  4915. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test__capture.py +0 -0
  4916. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test__run_op.py +0 -0
  4917. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_amend_commit.py +0 -0
  4918. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_create_commit.py +0 -0
  4919. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_force_push.py +0 -0
  4920. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_get_recent_changes.py +0 -0
  4921. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_publish_branch.py +0 -0
  4922. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_push.py +0 -0
  4923. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_save_work.py +0 -0
  4924. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/git/test_stage_changes.py +0 -0
  4925. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test__fetch_remote_links.py +0 -0
  4926. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test_add_comment.py +0 -0
  4927. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test_create_epic.py +0 -0
  4928. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test_create_issue.py +0 -0
  4929. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test_create_subtask.py +0 -0
  4930. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/unit/tools/jira/test_fetch_issue_context.py +0 -0
  4931. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/vpn/test_vpn_commands.py +0 -0
  4932. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/vpn/test_vpn_runner.py +0 -0
  4933. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/conftest.py +0 -0
  4934. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_ai_pr_loop_redispatch.py +0 -0
  4935. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_ai_pr_loop_throttler.py +0 -0
  4936. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_copilot_generate.py +0 -0
  4937. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_enforce_budget.py +0 -0
  4938. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_fix_markdown_deterministic.py +0 -0
  4939. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_workflow_end_to_end.py +0 -0
  4940. {agentic_devtools-0.2.266 → agentic_devtools-0.2.268}/tests/workflows/test_wrap_markdown_lines.py +0 -0
@@ -0,0 +1,4375 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # generate-spec-from-issue.sh - Generate a full speckit planning artifact suite
4
+ #
5
+ # Runs the complete speckit pipeline: specify → clarify → checklist → plan →
6
+ # tasks → analyze → markdownlint validation. Each phase invokes the Copilot
7
+ # SDK via copilot_generate.py.
8
+ #
9
+ # When --phase <N> is provided, runs only the specified phase (1-5) and its
10
+ # markdownlint validation. Phase mapping:
11
+ # 1 → specify (spec.md)
12
+ # 2 → clarify + checklist (spec.md, checklists/requirements.md)
13
+ # 3 → plan (plan.md + optional artifacts)
14
+ # 4 → tasks (tasks.md)
15
+ # 5 → analyze (analysis-report.md)
16
+ #
17
+ # When --phase is omitted, runs all phases sequentially (backward compatible).
18
+ #
19
+ # Usage: generate-spec-from-issue.sh [--phase <1-5>] [--max-retries <N>]
20
+ #
21
+ # Environment Variables (required):
22
+ # ISSUE_NUMBER - The GitHub issue number
23
+ # ISSUE_TITLE - The issue title
24
+ # ISSUE_BODY - The issue body/description
25
+ # ISSUE_URL - The issue URL
26
+ # SHORT_NAME - Sanitized short name for branch/directory
27
+ # COPILOT_GITHUB_TOKEN - Provided by the workflow via GitHub App token
28
+ #
29
+ # Environment Variables (optional):
30
+ # COPILOT_MODEL - Model to use via the Copilot SDK (default: claude-opus-4.6)
31
+ # COPILOT_TIMEOUT - Seconds to wait for a Copilot SDK response (default: 600).
32
+ # Plan, Tasks, and Analyze phases override this to 900.
33
+ # SPEC_BASE_PATH - Base path for specs (default: specs)
34
+ # AGDT_PLAN_CONTEXT_BUDGET - Context budget in characters for the plan phase
35
+ # (default: 32000). If the spec content exceeds this
36
+ # limit, deterministic reduction is applied before
37
+ # calling the LLM.
38
+ # MARKDOWNLINT_MAX_ITERATIONS - Maximum number of markdownlint validation/
39
+ # remediation iterations (default: 5). Phase 7
40
+ # retries up to this limit before failing.
41
+ # SPECKIT_COPILOT_CLI_ON_STALL - Enable recovery layers (Layer 3-5) on stall
42
+ # detection (default: true). Set to "false" to
43
+ # disable and fail immediately on stall.
44
+ # SPECKIT_CRITICAL_GATE_REMEDIATION - Enable/disable CRITICAL analysis gate
45
+ # remediation (default: true). When true,
46
+ # the gate attempts multi-layer LLM-based
47
+ # remediation before failing.
48
+ # SPECKIT_CRITICAL_GATE_MAX_RETRIES - Max retries for Layer 1 (standard LLM
49
+ # remediation) of CRITICAL gate (default: 2).
50
+ # AGDT_MIN_SPEC_BYTES_REDUCTION_FACTOR - Factor for dynamic MIN_SPEC_BYTES
51
+ # reduction on short issues (default: 0.6,
52
+ # range: 0.0–1.0). A value of 0.6 means
53
+ # the threshold floor is 60% of original.
54
+ # SPECIFY_MAX_RETRIES - Maximum validation-consuming retry attempts for Phase 1
55
+ # specify (default: 3).
56
+ # MIN_SPEC_BYTES - Minimum spec size in bytes (default: 2048).
57
+ # MIN_FUNCTIONAL_REQUIREMENTS - Minimum unique FR/NFR entries (default: 5).
58
+ # MIN_USER_STORIES - Minimum user stories with Given/When/Then (default: 3).
59
+ # MAX_BULLET_LINE_PCT - Maximum bullet-point percentage (default: 80).
60
+ #
61
+ # Outputs:
62
+ # GITHUB_OUTPUT: branch_name, spec_file, issue_number, spec_dir
63
+
64
+ set -euo pipefail
65
+
66
+ # ---------------------------------------------------------------------------
67
+ # Argument parsing: optional --phase <1-5>
68
+ # ---------------------------------------------------------------------------
69
+ PHASE=""
70
+ MAX_RETRIES=""
71
+ while [[ $# -gt 0 ]]; do
72
+ case "$1" in
73
+ --phase)
74
+ PHASE="${2:-}"
75
+ if [[ -z "$PHASE" ]]; then
76
+ echo "Error: --phase requires a value (1-5)" >&2
77
+ exit 1
78
+ fi
79
+ if [[ ! "$PHASE" =~ ^[1-5]$ ]]; then
80
+ echo "Error: --phase must be 1-5 (got '$PHASE')" >&2
81
+ exit 1
82
+ fi
83
+ shift 2
84
+ ;;
85
+ --max-retries)
86
+ MAX_RETRIES="${2:-}"
87
+ if [[ -z "$MAX_RETRIES" ]]; then
88
+ echo "Error: --max-retries requires a value" >&2
89
+ exit 1
90
+ fi
91
+ if [[ ! "$MAX_RETRIES" =~ ^[0-9]+$ ]]; then
92
+ echo "Error: --max-retries must be a non-negative integer (got '$MAX_RETRIES')" >&2
93
+ exit 1
94
+ fi
95
+ shift 2
96
+ ;;
97
+ *)
98
+ echo "Error: Unknown argument '$1'" >&2
99
+ exit 1
100
+ ;;
101
+ esac
102
+ done
103
+
104
+ # Validate required environment variables
105
+ : "${ISSUE_NUMBER:?ISSUE_NUMBER is required}"
106
+ : "${ISSUE_TITLE:?ISSUE_TITLE is required}"
107
+ : "${SHORT_NAME:?SHORT_NAME is required}"
108
+
109
+ : "${COPILOT_GITHUB_TOKEN:?COPILOT_GITHUB_TOKEN is required (provided by workflow via GitHub App token)}"
110
+
111
+ ISSUE_BODY="${ISSUE_BODY:-}"
112
+ ISSUE_URL="${ISSUE_URL:-}"
113
+ COPILOT_MODEL="${COPILOT_MODEL:-claude-opus-4.6}"
114
+ SPEC_BASE_PATH="${SPEC_BASE_PATH:-specs}"
115
+ MARKDOWNLINT_MAX_ITERATIONS="${MARKDOWNLINT_MAX_ITERATIONS:-5}"
116
+ # Validate as a positive base-10 integer; fall back to default on bad input
117
+ # (e.g., non-numeric strings or octal-looking values like "08").
118
+ if ! [[ "$MARKDOWNLINT_MAX_ITERATIONS" =~ ^[0-9]+$ ]] || (( 10#$MARKDOWNLINT_MAX_ITERATIONS <= 0 )); then
119
+ echo "Warning: MARKDOWNLINT_MAX_ITERATIONS='$MARKDOWNLINT_MAX_ITERATIONS' is not a valid positive integer. Using default (5)." >&2
120
+ MARKDOWNLINT_MAX_ITERATIONS=5
121
+ fi
122
+ # Maximum prompt size in characters for per-file LLM remediation (NFR-004).
123
+ # Estimated token count = ceil(char_count / 4); 32000 chars ≈ 8000 tokens.
124
+ MARKDOWNLINT_PROMPT_MAX_CHARS=32000
125
+ # Pin markdownlint-cli2 version to prevent output format changes from breaking
126
+ # the parser. Update this AND .github/workflows/copilot-setup-steps.yml together.
127
+ MARKDOWNLINT_CLI2_VERSION="0.17.2"
128
+ # Enable/disable the enhanced recovery layers (Layer 3: multi-turn SDK remediation,
129
+ # Layer 4: alternate LLM remediation) on stall detection. Set to "false" to disable.
130
+ SPECKIT_COPILOT_CLI_ON_STALL="${SPECKIT_COPILOT_CLI_ON_STALL:-true}"
131
+ # Enable/disable CRITICAL analysis gate remediation. When enabled, the gate
132
+ # attempts LLM-based remediation before failing. Set to "false" to disable.
133
+ SPECKIT_CRITICAL_GATE_REMEDIATION="${SPECKIT_CRITICAL_GATE_REMEDIATION:-true}"
134
+ # Maximum retries for Layer 1 (standard LLM remediation) of the CRITICAL gate.
135
+ SPECKIT_CRITICAL_GATE_MAX_RETRIES="${SPECKIT_CRITICAL_GATE_MAX_RETRIES:-2}"
136
+ # Validate as a non-negative base-10 integer; fall back to default on bad input.
137
+ if ! [[ "$SPECKIT_CRITICAL_GATE_MAX_RETRIES" =~ ^[0-9]+$ ]]; then
138
+ echo "Warning: SPECKIT_CRITICAL_GATE_MAX_RETRIES='$SPECKIT_CRITICAL_GATE_MAX_RETRIES' is not a valid non-negative integer. Using default (2)." >&2
139
+ SPECKIT_CRITICAL_GATE_MAX_RETRIES=2
140
+ fi
141
+
142
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
143
+ REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
144
+
145
+ # Source the CRITICAL analysis gate library (FR-009)
146
+ # shellcheck source=check-analysis-gate.sh
147
+ source "$SCRIPT_DIR/check-analysis-gate.sh"
148
+
149
+ # Source shared retry library
150
+ # shellcheck source=lib/retry.sh
151
+ source "$SCRIPT_DIR/lib/retry.sh"
152
+
153
+ # ---------------------------------------------------------------------------
154
+ # Validate and normalize HIERARCHY_LEVEL (FR-001, FR-010, #1859)
155
+ # Done BEFORE sourcing spec-validation.sh, which reads HIERARCHY_LEVEL at
156
+ # source time (e.g. to set MIN_USER_STORIES=0 for epic level).
157
+ # Valid values: epic, feature, task. Defaults to 'feature' when unset or empty.
158
+ # Normalizes to lowercase so callers can pass 'Epic', 'FEATURE', etc.
159
+ # Unknown values log a warning and fall back to 'feature'.
160
+ # ---------------------------------------------------------------------------
161
+ HIERARCHY_LEVEL="$(printf '%s' "${HIERARCHY_LEVEL:-feature}" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')"
162
+ if [[ ! "$HIERARCHY_LEVEL" =~ ^(epic|feature|task)$ ]]; then
163
+ echo "Warning: Unknown HIERARCHY_LEVEL='$HIERARCHY_LEVEL'. Defaulting to 'feature'." >&2
164
+ HIERARCHY_LEVEL="feature"
165
+ fi
166
+ echo "Hierarchy level: $HIERARCHY_LEVEL"
167
+
168
+ # Source Phase 1 spec validation library (FR-001, #1505)
169
+ # shellcheck source=lib/spec-validation.sh
170
+ source "$SCRIPT_DIR/lib/spec-validation.sh"
171
+
172
+ # ---------------------------------------------------------------------------
173
+ # Validate ISSUE_NUMBER is a positive integer (FR-011)
174
+ # ---------------------------------------------------------------------------
175
+ if [[ ! "$ISSUE_NUMBER" =~ ^[1-9][0-9]*$ ]]; then
176
+ echo "Error: ISSUE_NUMBER must be a positive integer (got '$ISSUE_NUMBER')" >&2
177
+ exit 1
178
+ fi
179
+
180
+ echo "=== SpecKit: Generating Full Planning Artifact Suite ==="
181
+ echo "Issue: #$ISSUE_NUMBER - $ISSUE_TITLE"
182
+ echo "Model: $COPILOT_MODEL"
183
+
184
+ # Function to get the next feature number (legacy autoincrement, kept for
185
+ # potential fallback use). Only counts directories/branches that match the
186
+ # legacy 3-digit prefix pattern ^[0-9]{3}- so that issue-numbered directories
187
+ # with non-3-digit prefixes (e.g. 42-foo, 1176-bar) do not inflate the
188
+ # autoincrement counter (FR-007). Note: 3-digit issue numbers (100–999) will
189
+ # still match the legacy pattern and be counted — this is an accepted overlap
190
+ # since the autoincrement function is only used as a fallback.
191
+ get_next_feature_number() {
192
+ local highest=0
193
+
194
+ # Check existing specs directories — only legacy 3-digit prefixed dirs
195
+ if [[ -d "$REPO_ROOT/$SPEC_BASE_PATH" ]]; then
196
+ for dir in "$REPO_ROOT/$SPEC_BASE_PATH"/*; do
197
+ [[ -d "$dir" ]] || continue
198
+ dirname=$(basename "$dir")
199
+ # Only match legacy 3-digit prefixed directories (FR-007)
200
+ echo "$dirname" | grep -q '^[0-9]\{3\}-' || continue
201
+ number=$(echo "$dirname" | grep -o '^[0-9]\{3\}')
202
+ number=$((10#$number))
203
+ if [[ $number -gt $highest ]]; then
204
+ highest=$number
205
+ fi
206
+ done
207
+ fi
208
+
209
+ # Check branches — already correctly filters ^[0-9]{3}-
210
+ branches=$(git branch -a 2>/dev/null || echo "")
211
+ if [[ -n "$branches" ]]; then
212
+ while IFS= read -r branch; do
213
+ clean_branch=$(echo "$branch" | sed 's/^[* ]*//; s|^remotes/[^/]*/||')
214
+ if echo "$clean_branch" | grep -q '^[0-9]\{3\}-'; then
215
+ number=$(echo "$clean_branch" | grep -o '^[0-9]\{3\}' || echo "0")
216
+ number=$((10#$number))
217
+ if [[ $number -gt $highest ]]; then
218
+ highest=$number
219
+ fi
220
+ fi
221
+ done <<< "$branches"
222
+ fi
223
+
224
+ echo $((highest + 1))
225
+ }
226
+
227
+ # ---------------------------------------------------------------------------
228
+ # Collision detection & directory reuse (FR-004, FR-012, FR-015)
229
+ #
230
+ # Use the GitHub issue number directly as the spec directory prefix instead
231
+ # of autoincrementing. If a directory for this issue already exists, reuse
232
+ # it (even if the issue title — and therefore SHORT_NAME — has changed).
233
+ # ---------------------------------------------------------------------------
234
+ EXISTING_DIRS=()
235
+
236
+ shopt -s nullglob
237
+ for dir in "$REPO_ROOT/$SPEC_BASE_PATH"/${ISSUE_NUMBER}-*; do
238
+ if [[ -d "$dir" ]]; then
239
+ EXISTING_DIRS+=("$dir")
240
+ fi
241
+ done
242
+ shopt -u nullglob
243
+
244
+ if (( ${#EXISTING_DIRS[@]} > 1 )); then
245
+ echo "Error: Found multiple existing spec directories for issue #$ISSUE_NUMBER:" >&2
246
+ for dir in "${EXISTING_DIRS[@]}"; do
247
+ echo " - $(basename "$dir")" >&2
248
+ done
249
+ echo "Refusing to choose one directory non-deterministically. Remove or rename the extra directories and retry." >&2
250
+ exit 1
251
+ fi
252
+
253
+ EXISTING_DIR=""
254
+ if (( ${#EXISTING_DIRS[@]} == 1 )); then
255
+ EXISTING_DIR="${EXISTING_DIRS[0]}"
256
+ fi
257
+
258
+ if [[ -n "$EXISTING_DIR" ]]; then
259
+ # FR-015: For 3-digit issue numbers (100-999), the prefix overlaps with
260
+ # the legacy ^[0-9]{3}- namespace. Verify that the candidate directory
261
+ # actually belongs to this issue by checking for a Source Issue marker.
262
+ if [[ ${#ISSUE_NUMBER} -eq 3 ]]; then
263
+ SOURCE_ISSUE_FOUND=false
264
+ for artifact in "$EXISTING_DIR/checklists/requirements.md" "$EXISTING_DIR/spec.md"; do
265
+ if [[ -f "$artifact" ]] && grep -Eq "\*\*Source Issue\*\*.*#${ISSUE_NUMBER}([^0-9]|$)" "$artifact"; then
266
+ SOURCE_ISSUE_FOUND=true
267
+ break
268
+ fi
269
+ done
270
+ if [[ "$SOURCE_ISSUE_FOUND" != "true" ]]; then
271
+ echo "Error: Found existing directory '$(basename "$EXISTING_DIR")' but it does not contain a matching Source Issue marker for #$ISSUE_NUMBER." >&2
272
+ echo "This may be an unrelated legacy directory. Refusing to reuse." >&2
273
+ exit 1
274
+ fi
275
+ fi
276
+
277
+ # Reuse existing directory (FR-012: stable identity even if title changed)
278
+ EXISTING_DIRNAME=$(basename "$EXISTING_DIR")
279
+ BRANCH_NAME="$EXISTING_DIRNAME"
280
+ SPEC_DIR="$EXISTING_DIR"
281
+ echo "Reusing existing spec directory: $EXISTING_DIRNAME"
282
+ else
283
+ # Create new directory with raw issue number prefix (FR-001)
284
+ BRANCH_NAME="${ISSUE_NUMBER}-${SHORT_NAME}"
285
+ SPEC_DIR="$REPO_ROOT/$SPEC_BASE_PATH/$BRANCH_NAME"
286
+ fi
287
+ SPEC_FILE="$SPEC_BASE_PATH/$(basename "$SPEC_DIR")/spec.md"
288
+
289
+ echo "Branch: $BRANCH_NAME"
290
+ echo "Spec Directory: $SPEC_DIR"
291
+
292
+ # Create spec directory structure
293
+ mkdir -p "$SPEC_DIR"
294
+ mkdir -p "$SPEC_DIR/checklists"
295
+ mkdir -p "$SPEC_DIR/contracts"
296
+ # Add .gitkeep files so empty directories are tracked by git and appear in the
297
+ # PR artifact list. Later phases will populate these directories with real files.
298
+ touch "$SPEC_DIR/checklists/.gitkeep"
299
+ touch "$SPEC_DIR/contracts/.gitkeep"
300
+
301
+ # Copy spec-directory markdownlint config override (stricter than root —
302
+ # enforces MD041 without the front_matter_title exemption since specs
303
+ # never use front matter).
304
+ # Compute the correct relative path to repo-root .markdownlint.json based on
305
+ # the actual depth of SPEC_DIR, so this works for any SPEC_BASE_PATH depth.
306
+ # NOTE: The root .markdownlint-cli2.jsonc has a "config" section, which
307
+ # disables per-directory .markdownlint.json discovery. Phase 7 lint calls
308
+ # therefore run with cwd=$spec_dir so markdownlint-cli2 does NOT find the
309
+ # root .markdownlint-cli2.jsonc, falling back to markdownlint's own
310
+ # per-file directory-based config resolution that honours this override.
311
+ _mdlint_template="$SCRIPT_DIR/templates/spec-markdownlint.json"
312
+ if [[ -f "$_mdlint_template" ]]; then
313
+ _spec_rel="${SPEC_DIR#"$REPO_ROOT/"}"
314
+ _depth=$(echo "$_spec_rel" | tr '/' '\n' | wc -l)
315
+ _extends_prefix=""
316
+ for (( _i=0; _i<_depth; _i++ )); do _extends_prefix="../$_extends_prefix"; done
317
+ _extends_path="${_extends_prefix}.markdownlint.json"
318
+ sed "s|\"extends\": \"../../.markdownlint.json\"|\"extends\": \"${_extends_path}\"|" \
319
+ "$_mdlint_template" > "$SPEC_DIR/.markdownlint.json"
320
+ fi
321
+
322
+ # ---------------------------------------------------------------------------
323
+ # Retry helper — provided by shared library (lib/retry.sh)
324
+ # Usage: call_with_retry <max_attempts> <initial_delay_seconds> <command...>
325
+ # ---------------------------------------------------------------------------
326
+
327
+ # ---------------------------------------------------------------------------
328
+ # call_llm <prompt_text>
329
+ #
330
+ # Generic LLM invocation via the Copilot SDK. Sends the prompt to
331
+ # copilot_generate.py and prints the response to stdout.
332
+ # Returns non-zero on empty/failed response.
333
+ # ---------------------------------------------------------------------------
334
+ call_llm() {
335
+ local prompt="$1"
336
+ local response=""
337
+
338
+ _call_api() {
339
+ response=$(printf '%s' "$prompt" | python "$SCRIPT_DIR/copilot_generate.py")
340
+ local exit_code=$?
341
+ if [[ $exit_code -ne 0 ]]; then
342
+ return "$exit_code"
343
+ fi
344
+ if [[ -z "$response" ]]; then
345
+ echo "Empty response from LLM (copilot_generate.py produced no output)." >&2
346
+ return 1
347
+ fi
348
+ return 0
349
+ }
350
+
351
+ if ! call_with_retry 3 5 _call_api; then
352
+ return 1
353
+ fi
354
+
355
+ printf '%s' "$response"
356
+ }
357
+
358
+ # ---------------------------------------------------------------------------
359
+ # append_model_footer <file>
360
+ #
361
+ # Appends a standard model-attribution footer to an artifact file.
362
+ # Idempotent: strips any existing footer before appending.
363
+ # ---------------------------------------------------------------------------
364
+ append_model_footer() {
365
+ local file="$1"
366
+ local tmp_footer_file="${file}.footer.tmp"
367
+ # Strip any existing footer to avoid duplication (only at end of file)
368
+ local content
369
+ content=$(_strip_footer_from_text "$(cat "$file")")
370
+ rm -f "$tmp_footer_file"
371
+ if ! printf '%s\n\n---\n*Generated by Copilot SDK (%s)*\n' "$content" "$COPILOT_MODEL" > "$tmp_footer_file"; then
372
+ echo "Error: Failed to write footer to temporary file: $tmp_footer_file" >&2
373
+ rm -f "$tmp_footer_file"
374
+ return 1
375
+ fi
376
+ if ! mv "$tmp_footer_file" "$file"; then
377
+ echo "Error: Failed to move file with footer into place: $file" >&2
378
+ rm -f "$tmp_footer_file"
379
+ return 1
380
+ fi
381
+ }
382
+
383
+ # ---------------------------------------------------------------------------
384
+ # strip_model_footer <text>
385
+ #
386
+ # Removes the model-attribution footer from artifact content before feeding
387
+ # it into an LLM prompt, so footers don't pollute the context or duplicate.
388
+ # Prints the stripped content to stdout.
389
+ # ---------------------------------------------------------------------------
390
+ strip_model_footer() {
391
+ _strip_footer_from_text "$1"
392
+ }
393
+
394
+ # ---------------------------------------------------------------------------
395
+ # _strip_footer_from_text <text>
396
+ #
397
+ # Internal helper: removes a trailing model-attribution footer from text.
398
+ # The sed pattern is anchored to end-of-string ($), so markdown horizontal
399
+ # rules (---) elsewhere in the content are preserved.
400
+ # ---------------------------------------------------------------------------
401
+ _strip_footer_from_text() {
402
+ local text="$1"
403
+ # Remove trailing model-attribution footer: blank line(s) + --- + attribution line.
404
+ # The sed substitution only matches at the end of text ($), so markdown horizontal
405
+ # rules (---) elsewhere in the content are preserved. When no footer is present
406
+ # the substitution is a no-op and the text passes through unchanged.
407
+ # Note: use [[:space:]] instead of \s for POSIX ERE portability (GNU sed treats \s as literal 's')
408
+ printf '%s' "$text" | sed -E ':a;N;$!ba;s/\n*\n---\n\*Generated by Copilot SDK \([^)]*\)\*[[:space:]]*$//'
409
+ }
410
+
411
+ # ========================== Markdownlint Validation ==========================
412
+
413
+ # ---------------------------------------------------------------------------
414
+ # log_file_header <phase_label> <filepath>
415
+ #
416
+ # Logs the first 3 lines of a generated file to stderr for quick preamble
417
+ # detection. If the file is empty, logs "(empty)" instead.
418
+ # ---------------------------------------------------------------------------
419
+ log_file_header() {
420
+ local phase_label="$1"
421
+ local filepath="$2"
422
+ local filename
423
+ filename=$(basename "$filepath")
424
+ if [[ ! -s "$filepath" ]]; then
425
+ echo "[$phase_label] First lines of $filename: (empty)" >&2
426
+ return 0
427
+ fi
428
+ local first_lines
429
+ first_lines=$(head -n 3 "$filepath" | awk 'BEGIN { sep = "" } { printf "%s%s", sep, $0; sep = " | " }')
430
+ echo "[$phase_label] First lines of $filename: $first_lines" >&2
431
+ }
432
+
433
+ # ---------------------------------------------------------------------------
434
+ # check_npx_available
435
+ #
436
+ # Guards against missing npx. Returns 0 if npx is available, 1 otherwise
437
+ # with an actionable error message to stderr.
438
+ # ---------------------------------------------------------------------------
439
+ check_npx_available() {
440
+ if ! command -v npx &>/dev/null; then
441
+ echo "Error: npx is not available. Install Node.js/npm to enable markdownlint validation." >&2
442
+ return 1
443
+ fi
444
+ return 0
445
+ }
446
+
447
+ # ---------------------------------------------------------------------------
448
+ # _join_continuation_lines <raw_output>
449
+ #
450
+ # Pre-processes raw markdownlint output to join continuation lines back onto
451
+ # the preceding violation line. markdownlint-cli2 v0.22+ can wrap long
452
+ # [Context: ...] descriptions onto separate lines. A "violation start line"
453
+ # is any line matching ^.+\.md:[0-9]+ (file path followed by : and a line number).
454
+ # Subsequent lines that do NOT match that pattern are appended to the previous
455
+ # violation line separated by a single space, except for known markdownlint
456
+ # metadata/footer lines and blank separators, which act as boundaries.
457
+ # ---------------------------------------------------------------------------
458
+ _join_continuation_lines() {
459
+ local raw="$1"
460
+ [[ -z "$raw" ]] && return 0
461
+ printf '%s\n' "$raw" | awk '
462
+ function flush_buf() {
463
+ if (buf != "") {
464
+ print buf
465
+ buf = ""
466
+ }
467
+ }
468
+ /^.+\.md:[0-9]+/ {
469
+ flush_buf()
470
+ buf = $0
471
+ next
472
+ }
473
+ /^[[:space:]]*$/ {
474
+ flush_buf()
475
+ next
476
+ }
477
+ /^markdownlint-cli2/ || /^Finding:/ || /^Linting:/ || /^Summary:/ {
478
+ flush_buf()
479
+ next
480
+ }
481
+ {
482
+ if (buf != "") buf = buf " " $0
483
+ }
484
+ END {
485
+ flush_buf()
486
+ }
487
+ '
488
+ }
489
+
490
+ # ---------------------------------------------------------------------------
491
+ # _count_raw_violations <raw_output>
492
+ #
493
+ # Fallback violation counter: counts lines matching ^.+\.md:[0-9]+ in the raw
494
+ # markdownlint output. Used only for logging when parse_markdownlint_output
495
+ # returns 0 violations despite a non-zero lint exit code.
496
+ # ---------------------------------------------------------------------------
497
+ _count_raw_violations() {
498
+ local raw="$1"
499
+ [[ -z "$raw" ]] && { echo "0"; return 0; }
500
+ local count
501
+ count=$(printf '%s\n' "$raw" | grep -cE '^.+\.md:[0-9]+' || true)
502
+ echo "$count"
503
+ }
504
+
505
+ # ---------------------------------------------------------------------------
506
+ # parse_markdownlint_output <raw_output>
507
+ #
508
+ # Parses markdownlint-cli2 stdout/stderr output into structured violation
509
+ # records. Each output line is in the format:
510
+ # filename:line:col rule/alias description
511
+ # Prints one record per line as tab-separated: filename\tline\tcol\trule\tdescription
512
+ # ---------------------------------------------------------------------------
513
+ parse_markdownlint_output() {
514
+ local raw="$1"
515
+ if [[ -z "$raw" ]]; then
516
+ return 0
517
+ fi
518
+ # Match lines like: path/file.md:10:1 MD013/line-length Expected: ...
519
+ # or: path/file.md:10:1 error MD013/line-length Expected: ...
520
+ # or: path/file.md:10 MD013/line-length Expected: ...
521
+ # markdownlint-cli2 v0.22+ inserts "error"/"warning" between location and rule
522
+ _join_continuation_lines "$raw" | while IFS= read -r line; do
523
+ # Skip empty lines and summary/metadata lines
524
+ [[ -z "$line" ]] && continue
525
+ [[ "$line" =~ ^markdownlint-cli2 ]] && continue
526
+ [[ "$line" =~ ^Finding: ]] && continue
527
+ [[ "$line" =~ ^Linting: ]] && continue
528
+ [[ "$line" =~ ^Summary: ]] && continue
529
+ # Pattern with col and severity: filename:line:col [error|warning] rule description
530
+ if [[ "$line" =~ ^(.+):([0-9]+):([0-9]+)[[:space:]]+(error|warning)[[:space:]]+([A-Z]+[0-9]+/[^[:space:]]+)[[:space:]]+(.+)$ ]]; then
531
+ printf '%s\t%s\t%s\t%s\t%s\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[5]}" "${BASH_REMATCH[6]}"
532
+ # Pattern with col, no severity: filename:line:col rule description
533
+ elif [[ "$line" =~ ^(.+):([0-9]+):([0-9]+)[[:space:]]+([A-Z]+[0-9]+/[^[:space:]]+)[[:space:]]+(.+)$ ]]; then
534
+ printf '%s\t%s\t%s\t%s\t%s\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}"
535
+ # Pattern without col, with severity: filename:line [error|warning] rule description
536
+ elif [[ "$line" =~ ^(.+):([0-9]+)[[:space:]]+(error|warning)[[:space:]]+([A-Z]+[0-9]+/[^[:space:]]+)[[:space:]]+(.+)$ ]]; then
537
+ printf '%s\t%s\t%s\t%s\t%s\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "0" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}"
538
+ # Pattern without col, no severity: filename:line rule description
539
+ elif [[ "$line" =~ ^(.+):([0-9]+)[[:space:]]+([A-Z]+[0-9]+/[^[:space:]]+)[[:space:]]+(.+)$ ]]; then
540
+ printf '%s\t%s\t%s\t%s\t%s\n' "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}" "0" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}"
541
+ else
542
+ # Explicit no-op: prevents unmatched lines from leaving a non-zero
543
+ # exit status on the if-elif chain, which with set -euo pipefail
544
+ # would propagate through the pipeline and abort the caller.
545
+ :
546
+ fi
547
+ done
548
+ return 0
549
+ }
550
+
551
+ # ---------------------------------------------------------------------------
552
+ # compute_violation_fingerprint <parsed_violations>
553
+ #
554
+ # Produces a deterministic fingerprint from parsed violations for stall
555
+ # detection. Uses filename, line, col, and rule (stable identity fields).
556
+ # Prints an md5sum hash to stdout.
557
+ # ---------------------------------------------------------------------------
558
+ compute_violation_fingerprint() {
559
+ local violations="$1"
560
+ if [[ -z "$violations" ]]; then
561
+ echo "empty"
562
+ return 0
563
+ fi
564
+ # Extract stable fields (filename, line, col, rule), sort, and hash
565
+ echo "$violations" | awk -F'\t' '{print $1, $2, $3, $4}' | sort | md5sum | awk '{print $1}'
566
+ }
567
+
568
+ # ---------------------------------------------------------------------------
569
+ # _is_valid_md_start <line>
570
+ #
571
+ # Returns 0 (true) if the given line looks like a valid markdown construct
572
+ # that could legitimately begin a file: heading, blockquote, list item,
573
+ # table row, link/image, fenced code, ordered list, setext underline, or
574
+ # HTML comment. Used by strip_llm_preamble to distinguish real content
575
+ # from conversational preamble.
576
+ #
577
+ # Defined at top level (not inside strip_llm_preamble) because bash
578
+ # function definitions are always global — nesting would pollute the
579
+ # caller's namespace just the same.
580
+ # ---------------------------------------------------------------------------
581
+ _is_valid_md_start() {
582
+ local line="$1"
583
+ [[ -z "$line" ]] && return 1
584
+ # Headings may be indented by up to 3 spaces (CommonMark). 4+ spaces are code blocks.
585
+ local leading_spaces="${line%%[! ]*}"
586
+ local trimmed="${line#"$leading_spaces"}"
587
+ [[ "$trimmed" =~ ^#{1,6}[[:space:]]+ && "${#leading_spaces}" -le 3 ]] && return 0
588
+ [[ "$line" =~ ^\> ]] && return 0
589
+ [[ "$line" =~ ^-[[:space:]]+ ]] && return 0
590
+ [[ "$line" =~ ^\*[[:space:]]+ ]] && return 0
591
+ [[ "$line" =~ ^\+[[:space:]]+ ]] && return 0
592
+ [[ "$line" =~ ^\| ]] && return 0
593
+ [[ "$line" =~ ^\[ ]] && return 0
594
+ [[ "$line" =~ ^! ]] && return 0
595
+ [[ "$line" =~ ^\`\`\` ]] && return 0
596
+ [[ "$line" =~ ^[0-9]+\.[[:space:]]+ ]] && return 0
597
+ [[ "$line" =~ ^---+ ]] && return 0
598
+ [[ "$line" =~ ^===+ ]] && return 0
599
+ [[ "$line" == "<!--"* ]] && return 0
600
+ return 1
601
+ }
602
+
603
+ # ---------------------------------------------------------------------------
604
+ # strip_llm_preamble <llm_output> <original_first_line>
605
+ #
606
+ # Safety net that removes conversational preamble text that LLMs sometimes
607
+ # prepend to their output (e.g. "All 13 violations fixed — here's the
608
+ # corrected file:"). If the first line of the LLM output does not look
609
+ # like valid markdown, the function searches for the first heading line
610
+ # (# ...) when the original file started with a heading, or strips lines
611
+ # until a recognised markdown construct is found.
612
+ #
613
+ # Prints the cleaned content to stdout. If no preamble is detected, the
614
+ # output is identical to the input (no-op).
615
+ # ---------------------------------------------------------------------------
616
+ strip_llm_preamble() {
617
+ local llm_output="$1"
618
+ local original_first_line="${2:-}"
619
+ local _fl line
620
+
621
+ [[ -z "$llm_output" ]] && return 0
622
+
623
+ # Strip BOM marker (UTF-8 BOM: EF BB BF) if present at the start (FR-006)
624
+ # The BOM is a single Unicode character U+FEFF encoded as 3 bytes in UTF-8
625
+ local bom=$'\xEF\xBB\xBF'
626
+ if [[ "${llm_output}" == "${bom}"* ]]; then
627
+ llm_output="${llm_output#"${bom}"}"
628
+ fi
629
+
630
+ # Skip leading blank/whitespace-only lines to find the first non-empty line.
631
+ # A blank first line should not be treated as a valid markdown start.
632
+ local first_line=""
633
+ local skipped_blanks=false
634
+ while IFS= read -r _fl; do
635
+ if [[ "$_fl" =~ [^[:space:]] ]]; then
636
+ first_line="$_fl"
637
+ break
638
+ else
639
+ skipped_blanks=true
640
+ fi
641
+ done <<< "$llm_output"
642
+
643
+ # If the entire output is blank lines, return as-is
644
+ [[ -z "$first_line" ]] && { printf '%s' "$llm_output"; return 0; }
645
+
646
+ # If the first non-empty line is valid markdown...
647
+ if _is_valid_md_start "$first_line"; then
648
+ if [[ "$skipped_blanks" == true ]]; then
649
+ # Leading blank lines before valid markdown — trim them to avoid
650
+ # MD041 violations (the file must start with content, not blanks).
651
+ local trimmed=""
652
+ local found=false
653
+ while IFS= read -r line; do
654
+ if [[ "$found" == true ]]; then
655
+ trimmed+="$line"$'\n'
656
+ elif [[ "$line" =~ [^[:space:]] ]]; then
657
+ found=true
658
+ trimmed+="$line"$'\n'
659
+ fi
660
+ done <<< "$llm_output"
661
+ [[ -n "$trimmed" ]] && trimmed="${trimmed%$'\n'}"
662
+ printf '%s' "$trimmed"
663
+ else
664
+ # No leading blanks — return as-is
665
+ printf '%s' "$llm_output"
666
+ fi
667
+ return 0
668
+ fi
669
+
670
+ # Multi-line preamble detection (FR-006): if lines 1–3 are conversational
671
+ # but a subsequent line (within first 5 lines) is a heading, strip only
672
+ # the preamble lines.
673
+ local line_num=0
674
+ local found_heading_in_early_lines=false
675
+ while IFS= read -r line; do
676
+ line_num=$((line_num + 1))
677
+ [[ "$line_num" -gt 5 ]] && break
678
+ if [[ "$line_num" -gt 1 ]] && [[ "$line" =~ ^#{1,6}[[:space:]]+ ]]; then
679
+ found_heading_in_early_lines=true
680
+ break
681
+ fi
682
+ done <<< "$llm_output"
683
+
684
+ if [[ "$found_heading_in_early_lines" == true ]]; then
685
+ # Strip preamble lines before the heading
686
+ local result=""
687
+ local found_md=false
688
+ while IFS= read -r line; do
689
+ if [[ "$found_md" == true ]]; then
690
+ result+="$line"$'\n'
691
+ elif [[ "$line" =~ ^#{1,6}[[:space:]]+ ]]; then
692
+ found_md=true
693
+ result+="$line"$'\n'
694
+ fi
695
+ done <<< "$llm_output"
696
+ if [[ "$found_md" == true && -n "$result" ]]; then
697
+ printf '%s' "${result%$'\n'}"
698
+ return 0
699
+ fi
700
+ fi
701
+
702
+ # Preamble detected — log a warning
703
+ echo "[Sanitize] ⚠ LLM preamble detected: \"$(printf '%.60s' "$first_line")...\" — stripping." >&2
704
+
705
+ # Strategy 1: If the original file started with a heading, find the first
706
+ # heading line in the LLM output and strip everything before it.
707
+ if [[ "$original_first_line" =~ ^#{1,6}[[:space:]]+ ]]; then
708
+ local found_heading=false
709
+ local result=""
710
+ while IFS= read -r line; do
711
+ if [[ "$found_heading" == true ]]; then
712
+ result+="$line"$'\n'
713
+ elif [[ "$line" =~ ^#{1,6}[[:space:]]+ ]]; then
714
+ found_heading=true
715
+ result+="$line"$'\n'
716
+ fi
717
+ done <<< "$llm_output"
718
+ if [[ "$found_heading" == true && -n "$result" ]]; then
719
+ # Remove trailing newline added by the loop
720
+ printf '%s' "${result%$'\n'}"
721
+ return 0
722
+ fi
723
+ fi
724
+
725
+ # Strategy 2: Find the first line that looks like valid markdown
726
+ local found_md=false
727
+ local result=""
728
+ while IFS= read -r line; do
729
+ if [[ "$found_md" == true ]]; then
730
+ result+="$line"$'\n'
731
+ elif _is_valid_md_start "$line"; then
732
+ found_md=true
733
+ result+="$line"$'\n'
734
+ fi
735
+ done <<< "$llm_output"
736
+ if [[ "$found_md" == true && -n "$result" ]]; then
737
+ printf '%s' "${result%$'\n'}"
738
+ return 0
739
+ fi
740
+
741
+ # Strategy 3: No valid markdown found — keep the LLM output unchanged
742
+ echo "[Sanitize] ⚠ Could not find valid markdown start in LLM output. Keeping LLM output unchanged." >&2
743
+ printf '%s' "$llm_output"
744
+ }
745
+
746
+ # ---------------------------------------------------------------------------
747
+ # ensure_heading_start <content> <default_heading>
748
+ #
749
+ # Ensures that <content> starts with a markdown heading (# ... through
750
+ # ###### ...). If the first non-empty line is already a heading, any
751
+ # leading blank lines are stripped so the output truly starts with the
752
+ # heading. Otherwise, <default_heading> is prepended with a blank line
753
+ # separator.
754
+ #
755
+ # Prints the (possibly modified) content to stdout.
756
+ # ---------------------------------------------------------------------------
757
+ ensure_heading_start() {
758
+ local content="$1"
759
+ local default_heading="${2:-# Document}"
760
+ [[ -z "$content" ]] && { printf '%s' "$default_heading"; return 0; }
761
+ local first_line=""
762
+ while IFS= read -r _fl; do
763
+ if [[ "$_fl" =~ [^[:space:]] ]]; then first_line="$_fl"; break; fi
764
+ done <<< "$content"
765
+ # Check for heading with optional up to 3 leading spaces (CommonMark)
766
+ local trimmed_first="${first_line#"${first_line%%[! ]*}"}"
767
+ if [[ "$first_line" =~ ^#{1,6}[[:space:]]+ ]] || [[ "$trimmed_first" =~ ^#{1,6}[[:space:]]+ && "${#first_line}" -le "$((${#trimmed_first} + 3))" ]]; then
768
+ # Strip leading blank/whitespace-only lines so the output truly starts with the heading
769
+ local trimmed_h=""
770
+ local found_h=false
771
+ while IFS= read -r line; do
772
+ if [[ "$found_h" == true ]]; then
773
+ trimmed_h+="$line"$'\n'
774
+ elif [[ "$line" =~ [^[:space:]] ]]; then
775
+ found_h=true
776
+ trimmed_h+="$line"$'\n'
777
+ fi
778
+ done <<< "$content"
779
+ [[ -n "$trimmed_h" ]] && trimmed_h="${trimmed_h%$'\n'}"
780
+ printf '%s' "$trimmed_h"
781
+ else
782
+ echo "[Sanitize] ⚠ No heading found — prepending default: \"$default_heading\"" >&2
783
+ # Strip leading blank/whitespace-only lines before prepending heading
784
+ local trimmed=""
785
+ local found=false
786
+ while IFS= read -r line; do
787
+ if [[ "$found" == true ]]; then
788
+ trimmed+="$line"$'\n'
789
+ elif [[ "$line" =~ [^[:space:]] ]]; then
790
+ found=true
791
+ trimmed+="$line"$'\n'
792
+ fi
793
+ done <<< "$content"
794
+ [[ -n "$trimmed" ]] && trimmed="${trimmed%$'\n'}"
795
+ printf '%s\n\n%s' "$default_heading" "$trimmed"
796
+ fi
797
+ }
798
+
799
+ # ---------------------------------------------------------------------------
800
+ # wrap_long_lines_in_spec_dir <spec_dir> [max_line_length]
801
+ #
802
+ # Best-effort deterministic pass that wraps overlong prose / list items in
803
+ # all .md files under <spec_dir> to <max_line_length> characters (default
804
+ # 200, matching the MD013 config in .markdownlint-cli2.jsonc). Fenced code
805
+ # blocks, tables, indented code, YAML front matter, and headings are
806
+ # preserved verbatim.
807
+ #
808
+ # This step reduces MD013 violations before the downstream markdownlint
809
+ # validation loop kicks off LLM remediation — LLM output very commonly
810
+ # produces single-line paragraphs and list items that exceed the 200-char
811
+ # limit. Always returns 0 — this is a best-effort pass, not a gate.
812
+ # ---------------------------------------------------------------------------
813
+ wrap_long_lines_in_spec_dir() {
814
+ local spec_dir="$1"
815
+ local max_line_length="${2:-200}"
816
+ local -a md_files=()
817
+ while IFS= read -r -d '' file; do
818
+ md_files+=("$file")
819
+ done < <(find "$spec_dir" -name '*.md' -type f -print0)
820
+
821
+ if [[ ${#md_files[@]} -eq 0 ]]; then
822
+ return 0
823
+ fi
824
+
825
+ local py_bin=""
826
+ if command -v python3 &>/dev/null; then
827
+ py_bin=python3
828
+ elif command -v python &>/dev/null && python -c 'import sys; raise SystemExit(0 if sys.version_info[0] >= 3 else 1)' &>/dev/null; then
829
+ py_bin=python
830
+ else
831
+ echo "[Wrap] ⚠ no Python 3 interpreter available — skipping line-wrap pre-validation pass" >&2
832
+ return 0
833
+ fi
834
+
835
+ if ! "$py_bin" "$SCRIPT_DIR/wrap_markdown_lines.py" \
836
+ --quiet \
837
+ --max-line-length "$max_line_length" \
838
+ "${md_files[@]}"; then
839
+ echo "[Wrap] ⚠ wrap_markdown_lines.py exited non-zero — continuing" >&2
840
+ fi
841
+ return 0
842
+ }
843
+
844
+ # ---------------------------------------------------------------------------
845
+ # quick_markdown_sanity_check <spec_dir>
846
+ #
847
+ # Best-effort pre-validation pass over all .md files in <spec_dir>.
848
+ # Fixes deterministic issues (leading blank lines, long prose lines) and
849
+ # logs warnings for problems that require manual attention.
850
+ #
851
+ # Always returns 0 — this is a best-effort check, not a gate.
852
+ # ---------------------------------------------------------------------------
853
+ quick_markdown_sanity_check() {
854
+ local spec_dir="$1"
855
+ local file content first_line
856
+
857
+ while IFS= read -r -d '' file; do
858
+ # (a) Empty file — skip
859
+ if [[ ! -s "$file" ]]; then
860
+ echo "[Sanitize] ⚠ Empty file: $file — skipping" >&2
861
+ continue
862
+ fi
863
+
864
+ content=$(cat "$file")
865
+
866
+ # Treat whitespace-only files as empty. Command substitution strips
867
+ # trailing newlines, so blank files with only whitespace/newlines can
868
+ # appear empty here despite being non-zero bytes on disk.
869
+ if [[ ! "$content" =~ [^[:space:]] ]]; then
870
+ echo "[Sanitize] ⚠ Empty/blank file: $file — truncating and skipping" >&2
871
+ : > "$file"
872
+ continue
873
+ fi
874
+
875
+ # (b) Leading blank/whitespace-only lines — remove them
876
+ local trimmed=""
877
+ local found=false
878
+ while IFS= read -r line; do
879
+ if [[ "$found" == true ]]; then
880
+ trimmed+="$line"$'\n'
881
+ elif [[ "$line" =~ [^[:space:]] ]]; then
882
+ found=true
883
+ trimmed+="$line"$'\n'
884
+ fi
885
+ done <<< "$content"
886
+ [[ -n "$trimmed" ]] && trimmed="${trimmed%$'\n'}"
887
+
888
+ if [[ "$trimmed" != "$content" ]]; then
889
+ printf '%s\n' "$trimmed" > "$file"
890
+ content="$trimmed"
891
+ fi
892
+
893
+ # Find first non-blank line (treating whitespace-only as blank)
894
+ first_line=""
895
+ while IFS= read -r _fl; do
896
+ if [[ "$_fl" =~ [^[:space:]] ]]; then first_line="$_fl"; break; fi
897
+ done <<< "$content"
898
+
899
+ # (c) Starts with code fence — skip (no deterministic fix)
900
+ if [[ "$first_line" =~ ^\`\`\` ]]; then
901
+ echo "[Sanitize] ⚠ File starts with code fence: $file — skipping" >&2
902
+ continue
903
+ fi
904
+
905
+ # (d) First non-empty line is not a heading — log warning
906
+ if [[ ! "$first_line" =~ ^#{1,6}[[:space:]]+ ]]; then
907
+ echo "[Sanitize] ⚠ File does not start with a heading: $file" >&2
908
+ fi
909
+ done < <(find "$spec_dir" -name '*.md' -type f -print0)
910
+
911
+ # Wrap overlong prose lines after leading-blank removal so that files
912
+ # with leading whitespace before YAML front matter (---) are handled
913
+ # correctly — the wrapper only detects front matter on the very first
914
+ # line.
915
+ wrap_long_lines_in_spec_dir "$spec_dir"
916
+
917
+ return 0
918
+ }
919
+
920
+ # ---------------------------------------------------------------------------
921
+ # _run_enhanced_remediation <spec_dir> <affected_files...>
922
+ #
923
+ # Layer 3: Enhanced multi-turn SDK remediation. When the standard per-file
924
+ # LLM loop stalls, this function performs up to 3 sub-iterations of combined
925
+ # remediation: sends a richer prompt with ALL affected file contents + ALL
926
+ # remaining violations, writes corrections, then re-runs markdownlint to
927
+ # validate. Returns 0 if all violations are resolved, 1 otherwise.
928
+ # ---------------------------------------------------------------------------
929
+ _run_enhanced_remediation() {
930
+ local spec_dir="$1"
931
+ shift
932
+ local -a affected_files=("$@")
933
+
934
+ echo "[Phase 7] [Layer 3] Starting enhanced multi-turn remediation (${#affected_files[@]} file(s))..." >&2
935
+
936
+ local max_sub_iter=3
937
+ local sub_iter
938
+
939
+ for (( sub_iter=1; sub_iter<=max_sub_iter; sub_iter++ )); do
940
+ echo "[Phase 7] [Layer 3] Sub-iteration $sub_iter/$max_sub_iter" >&2
941
+
942
+ # Build combined prompt with all files and violations
943
+ local combined_content=""
944
+ local combined_violations=""
945
+
946
+ for af in "${affected_files[@]}"; do
947
+ [[ -f "$af" ]] || continue
948
+ local fc=""
949
+ fc=$(strip_model_footer "$(cat "$af")")
950
+ combined_content="$combined_content
951
+ ===FILE:$af===
952
+ $fc
953
+ "
954
+ # Get per-file violations
955
+ local file_lint=""
956
+ file_lint=$(cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "$af" 2>&1) || true
957
+ if [[ -n "$file_lint" ]]; then
958
+ combined_violations="$combined_violations
959
+ ## Violations in $af
960
+ $file_lint
961
+ "
962
+ fi
963
+ done
964
+
965
+ if [[ -z "$combined_violations" ]]; then
966
+ echo "[Phase 7] [Layer 3] ✓ No violations remain after sub-iteration $((sub_iter - 1))." >&2
967
+ return 0
968
+ fi
969
+
970
+ local enhanced_prompt="You are a markdown lint fixer. Fix ALL markdownlint violations in the files below.
971
+
972
+ ## All remaining violations
973
+ $combined_violations
974
+
975
+ ## Rules
976
+ - Your response MUST contain the corrected content for EACH file, separated by delimiter lines
977
+ - Use EXACTLY this delimiter format: ===FILE:<filepath>===
978
+ - Output ONLY corrected markdown content after each delimiter — no commentary
979
+ - Do NOT add conversational preamble before the first delimiter
980
+ - For MD040 (fenced-code-language): add a language identifier (use 'text' if unsure)
981
+ - For MD056 (table-column-count): ensure all table rows have the same number of columns as the header
982
+ - For MD013 (line-length): break long lines at natural points to stay under 200 characters
983
+ - Preserve all content meaning and structure
984
+
985
+ ## Files to fix
986
+ $combined_content
987
+
988
+ ## CRITICAL
989
+ Start your response with ===FILE: delimiter. No preamble."
990
+
991
+ local prompt_len=${#enhanced_prompt}
992
+ if [[ $prompt_len -gt 64000 ]]; then
993
+ echo "[Phase 7] [Layer 3] Warning: Combined prompt too large ($prompt_len chars). Skipping." >&2
994
+ return 1
995
+ fi
996
+
997
+ local response=""
998
+ if ! response=$(call_llm "$enhanced_prompt"); then
999
+ echo "[Phase 7] [Layer 3] Warning: LLM call failed in sub-iteration $sub_iter." >&2
1000
+ continue
1001
+ fi
1002
+
1003
+ # Parse response and write files
1004
+ # Helper: validate that a parsed path is in the affected_files allowlist
1005
+ _is_allowed_file() {
1006
+ local candidate="$1"
1007
+ for allowed in "${affected_files[@]}"; do
1008
+ [[ "$candidate" == "$allowed" ]] && return 0
1009
+ done
1010
+ return 1
1011
+ }
1012
+
1013
+ local current_file="" current_content=""
1014
+ while IFS= read -r line; do
1015
+ if [[ "$line" =~ ^===FILE:(.+)===$ ]]; then
1016
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
1017
+ local original_first_line=""
1018
+ original_first_line=$(head -n 1 "$current_file" 2>/dev/null || echo "")
1019
+ current_content=$(strip_llm_preamble "$current_content" "$original_first_line")
1020
+ if [[ "$current_content" =~ [^[:space:]] ]]; then
1021
+ printf '%s\n' "$current_content" > "$current_file"
1022
+ append_model_footer "$current_file"
1023
+ echo "[Phase 7] [Layer 3] ✓ Applied fix to $(basename "$current_file")" >&2
1024
+ fi
1025
+ fi
1026
+ current_file="${BASH_REMATCH[1]}"
1027
+ current_file="${current_file#"${current_file%%[![:space:]]*}"}"
1028
+ current_file="${current_file%"${current_file##*[![:space:]]}"}"
1029
+ # Validate path is in the affected_files allowlist
1030
+ if ! _is_allowed_file "$current_file"; then
1031
+ echo "[Phase 7] [Layer 3] ⚠ Skipping unrecognized path from model: $current_file" >&2
1032
+ current_file=""
1033
+ fi
1034
+ current_content=""
1035
+ else
1036
+ if [[ -n "$current_file" ]]; then
1037
+ current_content="${current_content:+$current_content
1038
+ }$line"
1039
+ fi
1040
+ fi
1041
+ done <<< "$response"
1042
+ # Write last file
1043
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
1044
+ local original_first_line=""
1045
+ original_first_line=$(head -n 1 "$current_file" 2>/dev/null || echo "")
1046
+ current_content=$(strip_llm_preamble "$current_content" "$original_first_line")
1047
+ if [[ "$current_content" =~ [^[:space:]] ]]; then
1048
+ printf '%s\n' "$current_content" > "$current_file"
1049
+ append_model_footer "$current_file"
1050
+ echo "[Phase 7] [Layer 3] ✓ Applied fix to $(basename "$current_file")" >&2
1051
+ fi
1052
+ fi
1053
+
1054
+ # Re-run lint to check
1055
+ local lint_exit=0
1056
+ (cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${affected_files[@]}" 2>&1) >/dev/null || lint_exit=$?
1057
+
1058
+ if [[ $lint_exit -eq 0 ]]; then
1059
+ echo "[Phase 7] [Layer 3] ✓ All violations resolved after sub-iteration $sub_iter." >&2
1060
+ return 0
1061
+ fi
1062
+ echo "[Phase 7] [Layer 3] Violations remain after sub-iteration $sub_iter — continuing." >&2
1063
+ done
1064
+
1065
+ echo "[Phase 7] [Layer 3] ✗ Enhanced remediation exhausted ($max_sub_iter sub-iterations)." >&2
1066
+ return 1
1067
+ }
1068
+
1069
+ # ---------------------------------------------------------------------------
1070
+ # _run_alternate_llm_remediation <spec_dir> <affected_files...>
1071
+ #
1072
+ # Layer 4: Alternate LLM remediation with distinct prompt strategy. Uses
1073
+ # call_llm with a differently structured prompt (focused on self-validation
1074
+ # instructions) to attempt fixes from a fresh angle. Returns 0 if all
1075
+ # violations resolved, 1 otherwise.
1076
+ #
1077
+ # Note: Despite the historical "Copilot CLI" name in logs, this layer uses
1078
+ # the SDK-based call_llm helper (not `gh copilot`) because the CLI does not
1079
+ # produce the ===FILE: delimited output required by the parser.
1080
+ # ---------------------------------------------------------------------------
1081
+ _run_alternate_llm_remediation() {
1082
+ local spec_dir="$1"
1083
+ shift
1084
+ local -a affected_files=("$@")
1085
+
1086
+ echo "[Phase 7] [Layer 4] Starting alternate LLM remediation (${#affected_files[@]} file(s))..." >&2
1087
+
1088
+ local max_attempts=3
1089
+ local attempt
1090
+
1091
+ for (( attempt=1; attempt<=max_attempts; attempt++ )); do
1092
+ echo "[Phase 7] [Layer 4] Attempt $attempt/$max_attempts" >&2
1093
+
1094
+ # Build structured prompt
1095
+ local file_contents=""
1096
+ local violations=""
1097
+
1098
+ for af in "${affected_files[@]}"; do
1099
+ [[ -f "$af" ]] || continue
1100
+ file_contents="$file_contents
1101
+ ===FILE:$af===
1102
+ $(cat "$af")
1103
+ "
1104
+ local file_lint=""
1105
+ file_lint=$(cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "$af" 2>&1) || true
1106
+ if [[ -n "$file_lint" ]]; then
1107
+ violations="$violations
1108
+ $file_lint
1109
+ "
1110
+ fi
1111
+ done
1112
+
1113
+ if [[ -z "$violations" ]]; then
1114
+ echo "[Phase 7] [Layer 4] ✓ No violations remain." >&2
1115
+ return 0
1116
+ fi
1117
+
1118
+ local cli_prompt="Fix the following markdownlint violations in these markdown files.
1119
+
1120
+ VIOLATIONS:
1121
+ $violations
1122
+
1123
+ FILES:
1124
+ $file_contents
1125
+
1126
+ INSTRUCTIONS:
1127
+ 1. Fix all violations listed above
1128
+ 2. For MD040: add language identifier to bare code fences (use 'text' if unsure)
1129
+ 3. For MD056: ensure all table rows have same column count as header
1130
+ 4. For MD013: break long lines at natural points (under 200 chars)
1131
+ 5. Output ONLY the corrected file contents with ===FILE:<path>=== delimiters
1132
+ 6. Start your response with ===FILE: delimiter. No preamble."
1133
+
1134
+ # Guard: skip if prompt exceeds size limit (avoids timeouts when
1135
+ # Layer 3 already skipped for the same reason).
1136
+ local cli_prompt_len=${#cli_prompt}
1137
+ if [[ $cli_prompt_len -gt 64000 ]]; then
1138
+ echo "[Phase 7] [Layer 4] Warning: Combined prompt too large ($cli_prompt_len chars). Skipping." >&2
1139
+ return 1
1140
+ fi
1141
+
1142
+ local cli_response=""
1143
+ if ! cli_response=$(call_llm "$cli_prompt"); then
1144
+ echo "[Phase 7] [Layer 4] Warning: LLM call failed in attempt $attempt." >&2
1145
+ continue
1146
+ fi
1147
+
1148
+ # Helper: validate that a parsed path is in the affected_files allowlist
1149
+ _is_allowed_file_l4() {
1150
+ local candidate="$1"
1151
+ for allowed in "${affected_files[@]}"; do
1152
+ [[ "$candidate" == "$allowed" ]] && return 0
1153
+ done
1154
+ return 1
1155
+ }
1156
+
1157
+ # If response contains file delimiters, parse and apply
1158
+ if echo "$cli_response" | grep -q "^===FILE:"; then
1159
+ local current_file="" current_content=""
1160
+ while IFS= read -r line; do
1161
+ if [[ "$line" =~ ^===FILE:(.+)===$ ]]; then
1162
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
1163
+ local original_first_line=""
1164
+ original_first_line=$(head -n 1 "$current_file" 2>/dev/null || echo "")
1165
+ current_content=$(strip_llm_preamble "$current_content" "$original_first_line")
1166
+ if [[ "$current_content" =~ [^[:space:]] ]]; then
1167
+ printf '%s\n' "$current_content" > "$current_file"
1168
+ append_model_footer "$current_file"
1169
+ fi
1170
+ fi
1171
+ current_file="${BASH_REMATCH[1]}"
1172
+ current_file="${current_file#"${current_file%%[![:space:]]*}"}"
1173
+ current_file="${current_file%"${current_file##*[![:space:]]}"}"
1174
+ # Validate path is in the affected_files allowlist
1175
+ if ! _is_allowed_file_l4 "$current_file"; then
1176
+ echo "[Phase 7] [Layer 4] ⚠ Skipping unrecognized path from model: $current_file" >&2
1177
+ current_file=""
1178
+ fi
1179
+ current_content=""
1180
+ else
1181
+ if [[ -n "$current_file" ]]; then
1182
+ current_content="${current_content:+$current_content
1183
+ }$line"
1184
+ fi
1185
+ fi
1186
+ done <<< "$cli_response"
1187
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
1188
+ local original_first_line=""
1189
+ original_first_line=$(head -n 1 "$current_file" 2>/dev/null || echo "")
1190
+ current_content=$(strip_llm_preamble "$current_content" "$original_first_line")
1191
+ if [[ "$current_content" =~ [^[:space:]] ]]; then
1192
+ printf '%s\n' "$current_content" > "$current_file"
1193
+ append_model_footer "$current_file"
1194
+ fi
1195
+ fi
1196
+ fi
1197
+
1198
+ # Re-run lint to validate
1199
+ local lint_exit=0
1200
+ (cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${affected_files[@]}" 2>&1) >/dev/null || lint_exit=$?
1201
+
1202
+ if [[ $lint_exit -eq 0 ]]; then
1203
+ echo "[Phase 7] [Layer 4] ✓ All violations resolved after attempt $attempt." >&2
1204
+ return 0
1205
+ fi
1206
+ echo "[Phase 7] [Layer 4] Violations remain after attempt $attempt." >&2
1207
+ done
1208
+
1209
+ echo "[Phase 7] [Layer 4] ✗ Alternate LLM remediation exhausted ($max_attempts attempts)." >&2
1210
+ return 1
1211
+ }
1212
+
1213
+ # Source CRITICAL gate remediation library (FR-009)
1214
+ # shellcheck source=lib/critical-gate-remediation.sh
1215
+ source "$SCRIPT_DIR/lib/critical-gate-remediation.sh"
1216
+
1217
+ # Source clarify retry library (multi-layer clarify phase remediation)
1218
+ # shellcheck source=lib/clarify-retry.sh
1219
+ source "$SCRIPT_DIR/lib/clarify-retry.sh"
1220
+
1221
+ # ---------------------------------------------------------------------------
1222
+ # run_markdownlint_validation <spec_dir>
1223
+ #
1224
+ # Runs the markdownlint validation/remediation loop for markdown files in
1225
+ # the given spec directory. Attempts auto-fix first, then LLM remediation
1226
+ # if violations remain. Stops on clean result, stall detection, or max
1227
+ # iterations.
1228
+ #
1229
+ # Recovery layers (invoked on stall/exhaustion when SPECKIT_COPILOT_CLI_ON_STALL=true):
1230
+ # Layer 1: Deterministic fixers (MD040, MD056) — run before iteration loop
1231
+ # Layer 2: Standard per-file LLM remediation (existing iteration loop)
1232
+ # Layer 3: Enhanced multi-turn SDK remediation (_run_enhanced_remediation)
1233
+ # Layer 4: Alternate LLM remediation (_run_alternate_llm_remediation)
1234
+ # Layer 5: Graceful fallback — proceed with warning
1235
+ #
1236
+ # Returns 0 on success (all files lint-clean or graceful fallback).
1237
+ # ---------------------------------------------------------------------------
1238
+ run_markdownlint_validation() {
1239
+ local spec_dir="$1"
1240
+
1241
+ # Guard: check npx availability (EC5)
1242
+ if ! check_npx_available; then
1243
+ return 1
1244
+ fi
1245
+
1246
+ # Guard: check for markdown files (EC9 — empty spec directory)
1247
+ # Use find instead of bash glob to reliably discover nested .md files
1248
+ # without requiring shopt -s globstar (which is not enabled by default).
1249
+ local md_files=()
1250
+ while IFS= read -r -d '' f; do
1251
+ md_files+=("$f")
1252
+ done < <(find "$spec_dir" -name '*.md' -type f -print0)
1253
+
1254
+ if [[ ${#md_files[@]} -eq 0 ]]; then
1255
+ echo "[Phase 7] No markdown files found in $spec_dir — skipping validation." >&2
1256
+ echo "markdownlint_status=success" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1257
+ echo "markdownlint_iterations=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1258
+ echo "markdownlint_violations=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1259
+ return 0
1260
+ fi
1261
+
1262
+ # Layer 1: Deterministic fixers (MD040, MD056) — fast, 100% reliable
1263
+ echo "[Phase 7] [Layer 1] Running deterministic fixers (MD040, MD056)..." >&2
1264
+ python "$SCRIPT_DIR/fix_markdown_deterministic.py" "${md_files[@]}" || {
1265
+ echo "[Phase 7] [Layer 1] Warning: Deterministic fixer script failed (non-fatal)." >&2
1266
+ }
1267
+
1268
+ local max_iter="$MARKDOWNLINT_MAX_ITERATIONS"
1269
+ local prev_fingerprint=""
1270
+ local prev_violation_count=0
1271
+ local count_stall_streak=0
1272
+ local iteration=0
1273
+ local total_iterations=0
1274
+ local final_violation_count=0
1275
+ local last_lint_exit=1
1276
+ local stall_detected=false
1277
+
1278
+ echo "[Phase 7] Starting markdownlint validation (max $max_iter iterations, ${#md_files[@]} markdown files)" >&2
1279
+
1280
+ for (( iteration=1; iteration<=max_iter; iteration++ )); do
1281
+ total_iterations=$iteration
1282
+ echo "" >&2
1283
+ echo "[Phase 7] Iteration $iteration/$max_iter" >&2
1284
+
1285
+ # Step 1: Auto-fix pass (run from spec_dir so per-spec .markdownlint.json is discovered)
1286
+ echo "[Phase 7] Running markdownlint-cli2 --fix..." >&2
1287
+ (cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs --fix "${md_files[@]}") 2>&1 || true
1288
+
1289
+ # Step 2: Check-only pass — capture output (run from spec_dir)
1290
+ local lint_output=""
1291
+ local lint_exit=0
1292
+ lint_output=$(cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${md_files[@]}" 2>&1) || lint_exit=$?
1293
+ last_lint_exit=$lint_exit
1294
+
1295
+ # Persist raw lint output for CI debugging (append per iteration)
1296
+ {
1297
+ echo "--- Iteration $iteration ($(date -u +%Y-%m-%dT%H:%M:%SZ)) ---"
1298
+ echo "$lint_output"
1299
+ echo ""
1300
+ } >> "$spec_dir/.markdownlint-debug.log" || true
1301
+
1302
+ if [[ $lint_exit -eq 0 ]]; then
1303
+ echo "[Phase 7] ✓ All files lint-clean after auto-fix." >&2
1304
+ final_violation_count=0
1305
+ break
1306
+ fi
1307
+
1308
+ # Step 3: Parse remaining violations
1309
+ local parsed=""
1310
+ parsed=$(parse_markdownlint_output "$lint_output")
1311
+
1312
+ local violation_count=0
1313
+ if [[ -n "$parsed" ]]; then
1314
+ violation_count=$(printf '%s\n' "$parsed" | awk 'END{print NR}')
1315
+ fi
1316
+ final_violation_count=$violation_count
1317
+
1318
+ # Guard: lint failed but parser found no violations — attempt raw-output
1319
+ # LLM remediation instead of breaking out of the loop immediately.
1320
+ if [[ $violation_count -eq 0 ]]; then
1321
+ local raw_count=0
1322
+ raw_count=$(_count_raw_violations "$lint_output")
1323
+ echo "[Phase 7] ⚠ markdownlint exited $lint_exit but no violations could be parsed (raw count: ~$raw_count)." >&2
1324
+ echo "[Phase 7] Raw output:" >&2
1325
+ printf '%s\n' "$lint_output" | head -20 >&2
1326
+ echo "[Phase 7] Attempting raw-output LLM remediation..." >&2
1327
+
1328
+ # Extract file paths from raw output; fall back to all md_files
1329
+ local raw_affected_files=""
1330
+ raw_affected_files=$(printf '%s\n' "$lint_output" | grep -oE '^[^:]+\.md' | sort -u || true)
1331
+ if [[ -z "$raw_affected_files" ]]; then
1332
+ raw_affected_files=$(printf '%s\n' "${md_files[@]}")
1333
+ fi
1334
+
1335
+ local raw_remediation_applied=false
1336
+ while IFS= read -r target_file; do
1337
+ [[ -z "$target_file" ]] && continue
1338
+ [[ ! -f "$target_file" ]] && continue
1339
+
1340
+ local file_content=""
1341
+ file_content=$(cat "$target_file")
1342
+ local stripped_content=""
1343
+ stripped_content=$(strip_model_footer "$file_content")
1344
+ local original_first_line=""
1345
+ original_first_line=$(printf '%s' "$stripped_content" | head -n 1)
1346
+
1347
+ # Filter lint output to only lines relevant to the current target_file
1348
+ # to avoid inflating the prompt when multiple files are in the output.
1349
+ local filtered_lint_output=""
1350
+ filtered_lint_output=$(
1351
+ awk -v file="$target_file" '
1352
+ function is_target_start(line) {
1353
+ return index(line, file ":") == 1 || index(line, "./" file ":") == 1
1354
+ }
1355
+
1356
+ function is_violation_start(line) {
1357
+ return line ~ /^.+\.md:[0-9]+/
1358
+ }
1359
+
1360
+ function is_metadata_boundary(line) {
1361
+ return line ~ /^(markdownlint-cli2|markdownlint)([[:space:]:-]|$)/ ||
1362
+ line ~ /^Summary([[:space:]:-]|$)/ ||
1363
+ line ~ /^Lint(ing| results?)([[:space:]:-]|$)/ ||
1364
+ line ~ /^Finding:/
1365
+ }
1366
+
1367
+ is_target_start($0) {
1368
+ capture = 1
1369
+ print
1370
+ next
1371
+ }
1372
+
1373
+ capture && (is_violation_start($0) || is_metadata_boundary($0)) {
1374
+ capture = 0
1375
+ }
1376
+
1377
+ capture {
1378
+ print
1379
+ }
1380
+ ' <<< "$lint_output"
1381
+ )
1382
+
1383
+ if [[ -z "$filtered_lint_output" ]]; then
1384
+ filtered_lint_output="No file-specific markdownlint output could be extracted for $target_file from the combined markdownlint report. Fix only violations relevant to this file content."
1385
+ fi
1386
+
1387
+ local raw_prompt="You are a markdown lint fixer. The markdownlint tool reported violations but the output could not be parsed structurally. Fix all violations indicated in the raw linter output below.
1388
+
1389
+ ## Raw markdownlint output
1390
+ $filtered_lint_output
1391
+
1392
+ ## Rules
1393
+ - Your response MUST begin immediately with markdown content — no conversational preamble
1394
+ - Output ONLY the corrected markdown content, nothing else
1395
+ - Do NOT add commentary, explanations, or code fences around the output
1396
+ - Do NOT change the meaning or structure of the content beyond what is needed to fix the violations
1397
+ - Preserve all headings, lists, tables, and code blocks
1398
+
1399
+ ## File content to fix ($target_file)
1400
+ $stripped_content
1401
+
1402
+ ## CRITICAL
1403
+ Your response must begin with the actual markdown content."
1404
+
1405
+ local prompt_len=${#raw_prompt}
1406
+ if [[ $prompt_len -gt $MARKDOWNLINT_PROMPT_MAX_CHARS ]]; then
1407
+ echo "[Phase 7] Warning: Raw prompt for $target_file exceeds $MARKDOWNLINT_PROMPT_MAX_CHARS chars ($prompt_len). Skipping." >&2
1408
+ continue
1409
+ fi
1410
+
1411
+ local corrected=""
1412
+ if corrected=$(call_llm "$raw_prompt"); then
1413
+ if [[ -n "$corrected" ]]; then
1414
+ corrected=$(strip_llm_preamble "$corrected" "$original_first_line")
1415
+ if [[ "$corrected" =~ [^[:space:]] ]]; then
1416
+ printf '%s\n' "$corrected" > "$target_file"
1417
+ append_model_footer "$target_file"
1418
+ echo "[Phase 7] ✓ Raw LLM remediation applied to $(basename "$target_file")" >&2
1419
+ raw_remediation_applied=true
1420
+ else
1421
+ echo "[Phase 7] Warning: Raw LLM returned blank content for $(basename "$target_file"). Skipping." >&2
1422
+ fi
1423
+ fi
1424
+ else
1425
+ echo "[Phase 7] Warning: Raw LLM call failed for $(basename "$target_file")." >&2
1426
+ fi
1427
+ done <<< "$raw_affected_files"
1428
+
1429
+ if [[ "$raw_remediation_applied" == "true" ]]; then
1430
+ echo "[Phase 7] Raw remediation applied — continuing loop." >&2
1431
+ continue
1432
+ else
1433
+ echo "[Phase 7] Raw remediation failed for all files — breaking." >&2
1434
+ break
1435
+ fi
1436
+ fi
1437
+
1438
+ # Collect affected files
1439
+ local affected_files=""
1440
+ if [[ -n "$parsed" ]]; then
1441
+ affected_files=$(echo "$parsed" | awk -F'\t' '{print $1}' | sort -u)
1442
+ fi
1443
+ local affected_count=0
1444
+ if [[ -n "$affected_files" ]]; then
1445
+ affected_count=$(printf '%s\n' "$affected_files" | awk 'END{print NR}')
1446
+ fi
1447
+
1448
+ echo "[Phase 7] $violation_count violation(s) remaining in $affected_count file(s)" >&2
1449
+ if [[ -n "$affected_files" ]]; then
1450
+ echo "$affected_files" | while IFS= read -r af; do
1451
+ echo "[Phase 7] - $af" >&2
1452
+ done
1453
+ fi
1454
+
1455
+ # Step 4: Stall detection
1456
+ local current_fingerprint=""
1457
+ current_fingerprint=$(compute_violation_fingerprint "$parsed")
1458
+
1459
+ if [[ "$current_fingerprint" == "$prev_fingerprint" ]]; then
1460
+ echo "[Phase 7] ⚠ Stall detected — violations unchanged from previous iteration." >&2
1461
+ stall_detected=true
1462
+ break
1463
+ fi
1464
+
1465
+ # Secondary stall detection: if violation count has not decreased for
1466
+ # 2 consecutive iterations, the LLM is likely introducing new violations
1467
+ # at the same rate it fixes others (e.g. preamble causing MD041).
1468
+ if [[ $prev_violation_count -gt 0 && $violation_count -ge $prev_violation_count ]]; then
1469
+ count_stall_streak=$((count_stall_streak + 1))
1470
+ else
1471
+ count_stall_streak=0
1472
+ fi
1473
+ if [[ $count_stall_streak -ge 2 ]]; then
1474
+ echo "[Phase 7] ⚠ Stall detected — violation count has not decreased for $count_stall_streak consecutive iterations ($violation_count >= $prev_violation_count)." >&2
1475
+ stall_detected=true
1476
+ break
1477
+ fi
1478
+
1479
+ prev_fingerprint="$current_fingerprint"
1480
+ prev_violation_count=$violation_count
1481
+
1482
+ # Step 5-6: LLM remediation for each file with violations
1483
+ echo "[Phase 7] Running LLM remediation for $affected_count file(s)..." >&2
1484
+
1485
+ while IFS= read -r target_file; do
1486
+ [[ -z "$target_file" ]] && continue
1487
+
1488
+ # Gather violations for this specific file
1489
+ local file_violations=""
1490
+ file_violations=$(echo "$parsed" | awk -F'\t' -v f="$target_file" '$1 == f {printf "Line %s: %s %s\n", $2, $4, $5}')
1491
+
1492
+ if [[ -z "$file_violations" ]]; then
1493
+ continue
1494
+ fi
1495
+
1496
+ # Read file content and strip footer
1497
+ local file_content=""
1498
+ file_content=$(cat "$target_file")
1499
+ local stripped_content=""
1500
+ stripped_content=$(strip_model_footer "$file_content")
1501
+
1502
+ # Capture the original first line for preamble detection
1503
+ local original_first_line=""
1504
+ original_first_line=$(printf '%s' "$stripped_content" | head -n 1)
1505
+
1506
+ # Build per-file LLM prompt (enforce <8K tokens ≈ 32000 chars)
1507
+ # Conditionally include MD041 guidance only when that rule is violated
1508
+ local md041_rule=""
1509
+ if echo "$file_violations" | grep -q "MD041"; then
1510
+ md041_rule="
1511
+ - For MD041 (first-line-heading): ensure the file starts with a top-level heading (# Heading)"
1512
+ fi
1513
+
1514
+ local llm_prompt="You are a markdown lint fixer. Fix the following markdownlint violations in the markdown file below.
1515
+
1516
+ ## Violations to fix
1517
+ $file_violations
1518
+
1519
+ ## Rules
1520
+ - Your response MUST begin immediately with markdown content — no conversational preamble. Preserve the original first line unless a violation (e.g., MD041) requires changing it
1521
+ - Output ONLY the corrected markdown content, nothing else
1522
+ - Do NOT add commentary, explanations, or code fences around the output
1523
+ - Do NOT start your response with phrases like \"Here is\", \"All violations fixed\", \"I have\", \"Sure\", \"Certainly\", \"Good\", \"Updated\", or any other conversational text
1524
+ - Do NOT change the meaning or structure of the content beyond what is needed to fix the violations
1525
+ - Preserve all headings, lists, tables, and code blocks$md041_rule
1526
+ - For MD013 (line-length): break long lines at natural points (after punctuation, between clauses) to stay under 200 characters
1527
+ - For MD040 (fenced-code-language): add an appropriate language identifier to fenced code blocks
1528
+
1529
+ ## File content to fix
1530
+ $stripped_content
1531
+
1532
+ ## CRITICAL
1533
+ Your response must begin with the actual markdown content. The very first character of your response should be part of the file content (e.g., \`#\` for a heading, \`---\` for front matter, \`>\` for a blockquote). Any preamble or explanation will corrupt the file."
1534
+
1535
+ # Check prompt size (NFR-004: <8K tokens ≈ MARKDOWNLINT_PROMPT_MAX_CHARS chars)
1536
+ local prompt_len=${#llm_prompt}
1537
+ if [[ $prompt_len -gt $MARKDOWNLINT_PROMPT_MAX_CHARS ]]; then
1538
+ echo "[Phase 7] Warning: Prompt for $target_file exceeds $MARKDOWNLINT_PROMPT_MAX_CHARS chars ($prompt_len). Skipping LLM remediation for this file." >&2
1539
+ continue
1540
+ fi
1541
+
1542
+ # Call LLM
1543
+ local corrected=""
1544
+ if corrected=$(call_llm "$llm_prompt"); then
1545
+ if [[ -n "$corrected" ]]; then
1546
+ # Strip any conversational preamble the LLM may have prepended
1547
+ corrected=$(strip_llm_preamble "$corrected" "$original_first_line")
1548
+ if [[ "$corrected" =~ [^[:space:]] ]]; then
1549
+ printf '%s\n' "$corrected" > "$target_file"
1550
+ append_model_footer "$target_file"
1551
+ echo "[Phase 7] ✓ LLM remediation applied to $(basename "$target_file")" >&2
1552
+ else
1553
+ echo "[Phase 7] Warning: LLM returned blank or whitespace-only content for $(basename "$target_file") after preamble stripping. Skipping." >&2
1554
+ fi
1555
+ else
1556
+ echo "[Phase 7] Warning: LLM returned empty content for $(basename "$target_file"). Skipping." >&2
1557
+ fi
1558
+ else
1559
+ echo "[Phase 7] Warning: LLM call failed for $(basename "$target_file"). Continuing." >&2
1560
+ fi
1561
+ done <<< "$affected_files"
1562
+ done
1563
+
1564
+ # Summary logging
1565
+ echo "" >&2
1566
+ echo "[Phase 7] === Validation Summary ===" >&2
1567
+ echo "[Phase 7] Iterations run: $total_iterations/$max_iter" >&2
1568
+ echo "[Phase 7] Final violations: $final_violation_count" >&2
1569
+ echo "[Phase 7] Last lint exit code: $last_lint_exit" >&2
1570
+ if [[ "$stall_detected" == "true" ]]; then
1571
+ echo "[Phase 7] Stall detected: yes" >&2
1572
+ fi
1573
+
1574
+ # Return status — gate on actual lint exit code, not just parsed count.
1575
+ # This prevents silent success when lint fails but output can't be parsed.
1576
+ local markdownlint_status=""
1577
+ if [[ $last_lint_exit -eq 0 && $final_violation_count -eq 0 ]]; then
1578
+ echo "[Phase 7] Result: ✓ SUCCESS — all files lint-clean" >&2
1579
+ markdownlint_status="success"
1580
+ echo "markdownlint_status=$markdownlint_status" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1581
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1582
+ echo "markdownlint_violations=$final_violation_count" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1583
+ return 0
1584
+ fi
1585
+
1586
+ # Check unparseable output before exhaustion: when lint fails but no
1587
+ # violations were parsed, this is the most specific diagnosis regardless
1588
+ # of whether we also hit the iteration limit.
1589
+ if [[ $last_lint_exit -ne 0 && $final_violation_count -eq 0 ]]; then
1590
+ echo "[Phase 7] Result: ✗ FAILED — markdownlint exited $last_lint_exit but violations could not be parsed" >&2
1591
+ markdownlint_status="failed-unparseable"
1592
+ elif [[ "$stall_detected" == "true" ]]; then
1593
+ echo "[Phase 7] Result: ✗ FAILED — stall detected with $final_violation_count remaining violation(s)" >&2
1594
+ markdownlint_status="failed-stall"
1595
+ elif [[ $total_iterations -ge $max_iter && $final_violation_count -gt 0 ]]; then
1596
+ echo "[Phase 7] Result: ✗ FAILED — max iterations ($max_iter) exhausted with $final_violation_count remaining violation(s)" >&2
1597
+ markdownlint_status="failed-exhausted"
1598
+ else
1599
+ markdownlint_status="failed"
1600
+ fi
1601
+
1602
+ # --- Recovery Layers 3-5 (when enabled) ---
1603
+ # Use defaulted expansion so test harnesses sourcing only this section
1604
+ # under set -u do not abort with an unbound-variable error.
1605
+ if [[ "${SPECKIT_COPILOT_CLI_ON_STALL:-true}" == "true" && "$markdownlint_status" != "failed-unparseable" ]]; then
1606
+ echo "" >&2
1607
+ echo "[Phase 7] === Recovery Layers (SPECKIT_COPILOT_CLI_ON_STALL=true) ===" >&2
1608
+
1609
+ # Collect affected files for recovery layers
1610
+ local recovery_affected_files=()
1611
+ local recovery_lint_output=""
1612
+ recovery_lint_output=$(cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${md_files[@]}" 2>&1) || true
1613
+ local recovery_files_raw=""
1614
+ recovery_files_raw=$(printf '%s\n' "$recovery_lint_output" | grep -oE '^[^:]+\.md' | sort -u || true)
1615
+ if [[ -n "$recovery_files_raw" ]]; then
1616
+ while IFS= read -r rf; do
1617
+ [[ -n "$rf" && -f "$rf" ]] && recovery_affected_files+=("$rf")
1618
+ done <<< "$recovery_files_raw"
1619
+ fi
1620
+ # Fallback to all md_files if no specific files identified
1621
+ if [[ ${#recovery_affected_files[@]} -eq 0 ]]; then
1622
+ recovery_affected_files=("${md_files[@]}")
1623
+ fi
1624
+
1625
+ # Layer 3: Enhanced multi-turn SDK remediation
1626
+ if _run_enhanced_remediation "$spec_dir" "${recovery_affected_files[@]}"; then
1627
+ echo "[Phase 7] Result: ✓ SUCCESS — resolved via Layer 3 (enhanced remediation)" >&2
1628
+ echo "markdownlint_status=success" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1629
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1630
+ echo "markdownlint_violations=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1631
+ return 0
1632
+ fi
1633
+
1634
+ # Layer 4: Alternate LLM remediation
1635
+ if _run_alternate_llm_remediation "$spec_dir" "${recovery_affected_files[@]}"; then
1636
+ echo "[Phase 7] Result: ✓ SUCCESS — resolved via Layer 4 (alternate LLM)" >&2
1637
+ echo "markdownlint_status=success" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1638
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1639
+ echo "markdownlint_violations=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1640
+ return 0
1641
+ fi
1642
+
1643
+ # Layer 5: Graceful fallback — proceed with warning
1644
+ echo "" >&2
1645
+ echo "[Phase 7] [Layer 5] Graceful fallback — proceeding with remaining violations as warnings." >&2
1646
+ local remaining_violations=""
1647
+ local lint_rerun_exit=0
1648
+ remaining_violations=$(cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${md_files[@]}" 2>&1) || lint_rerun_exit=$?
1649
+ # Re-count actual remaining violations (final_violation_count may be stale
1650
+ # after Layers 3/4 partially reduced findings)
1651
+ local actual_remaining_count=0
1652
+ actual_remaining_count=$(printf '%s\n' "$remaining_violations" | grep -cE '^.+\.md:[0-9]+' || true)
1653
+ # Guard against tooling/config errors: if markdownlint exited non-zero
1654
+ # but we parsed zero violation lines, something else went wrong.
1655
+ if [[ $lint_rerun_exit -ne 0 && $actual_remaining_count -eq 0 ]]; then
1656
+ echo "[Phase 7] [Layer 5] ⚠ markdownlint exited $lint_rerun_exit but no parseable violations found — possible tooling error." >&2
1657
+ echo "[Phase 7] [Layer 5] Output: $remaining_violations" >&2
1658
+ echo "markdownlint_status=failed" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1659
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1660
+ echo "markdownlint_violations=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1661
+ return 1
1662
+ fi
1663
+ echo "[Phase 7] Remaining violations (warning-only): $actual_remaining_count" >&2
1664
+ printf '%s\n' "$remaining_violations" | head -50 >&2 || true
1665
+ echo "[Phase 7] Result: ⚠ WARNING-FALLBACK — $actual_remaining_count violation(s) remain as warnings" >&2
1666
+
1667
+ echo "markdownlint_status=warning-fallback" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1668
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1669
+ echo "markdownlint_violations=$actual_remaining_count" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1670
+ echo "markdownlint_remaining_violations<<EOF" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1671
+ printf '%s\n' "$remaining_violations" | sed "s|${spec_dir}/||g" | head -30 >> "${GITHUB_OUTPUT:-/dev/stdout}" || true
1672
+ echo "EOF" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1673
+ return 0
1674
+ fi
1675
+
1676
+ echo "markdownlint_status=$markdownlint_status" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1677
+ echo "markdownlint_iterations=$total_iterations" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1678
+ echo "markdownlint_violations=$final_violation_count" >> "${GITHUB_OUTPUT:-/dev/stdout}"
1679
+
1680
+ # Print remaining violations for actionable output (capped at 50 lines to
1681
+ # keep CI logs readable; full output is available via markdownlint re-run)
1682
+ echo "[Phase 7] Remaining violations:" >&2
1683
+ (cd "$spec_dir" && npx "markdownlint-cli2@${MARKDOWNLINT_CLI2_VERSION}" --no-globs "${md_files[@]}" 2>&1) | head -50 >&2 || true
1684
+
1685
+ return 1
1686
+ }
1687
+
1688
+ # ========================== Content Preservation =============================
1689
+ #
1690
+ # Shared validation contract for both CI and interactive modes.
1691
+ # These functions implement the three-layer protection model:
1692
+ # Layer 1: PREVENTION — Improved LLM prompt (see run_clarify_phase / run_checklist_phase)
1693
+ # Layer 2: DETECTION — Structural validation (validate_structural_integrity)
1694
+ # Layer 3: RECOVERY — Backup + restore (create_backup / restore_from_backup)
1695
+ #
1696
+ # Constants used by validate_structural_integrity:
1697
+ # MANDATORY_SECTIONS — Always required in every valid spec.md
1698
+ # REQUIREMENT_RETENTION_THRESHOLD — Minimum % of FR/NFR entries to retain (spec)
1699
+ # CHECKLIST_RETENTION_THRESHOLD — Minimum % of checklist items to retain
1700
+ #
1701
+ # See also: .github/agents/speckit.clarify.agent.md (interactive mode)
1702
+ # ============================================================================
1703
+
1704
+ # Always-mandatory sections in spec.md (FR-006)
1705
+ MANDATORY_SECTIONS=(
1706
+ "## Problem Statement"
1707
+ "## User Scenarios & Testing"
1708
+ "## Requirements"
1709
+ "## Success Criteria"
1710
+ )
1711
+
1712
+ # Retention thresholds (percentage, integer)
1713
+ REQUIREMENT_RETENTION_THRESHOLD=95
1714
+ CHECKLIST_RETENTION_THRESHOLD=100
1715
+
1716
+ # File size (bytes) at or above which a context-window truncation warning
1717
+ # is emitted to stderr during the clarification phase (FR-012).
1718
+ CONTEXT_WINDOW_WARNING_THRESHOLD="${CONTEXT_WINDOW_WARNING_THRESHOLD:-50000}"
1719
+
1720
+ # ---------------------------------------------------------------------------
1721
+ # create_backup <filepath>
1722
+ #
1723
+ # Creates a backup of <filepath> with collision-avoidance naming:
1724
+ # <filepath>.bak, <filepath>.bak.1, <filepath>.bak.2, ...
1725
+ # Aborts with OS-level error detail on write failure (FR-002).
1726
+ # Prints the backup path on stdout.
1727
+ # ---------------------------------------------------------------------------
1728
+ create_backup() {
1729
+ local filepath="$1"
1730
+ local backup_path="${filepath}.bak"
1731
+ local counter=1
1732
+
1733
+ while [[ -e "$backup_path" ]]; do
1734
+ backup_path="${filepath}.bak.${counter}"
1735
+ counter=$((counter + 1))
1736
+ done
1737
+
1738
+ local cp_error
1739
+
1740
+ if ! cp_error=$(cp "$filepath" "$backup_path" 2>&1); then
1741
+ echo "Error: Failed to create backup at '$backup_path': $cp_error" >&2
1742
+ return 1
1743
+ fi
1744
+
1745
+ printf '%s' "$backup_path"
1746
+ }
1747
+
1748
+ # ---------------------------------------------------------------------------
1749
+ # restore_from_backup <filepath> <backup_path>
1750
+ #
1751
+ # Restores the original file from a backup (FR-007).
1752
+ # ---------------------------------------------------------------------------
1753
+ restore_from_backup() {
1754
+ local filepath="$1"
1755
+ local backup_path="$2"
1756
+ local cp_error
1757
+
1758
+ if [[ ! -f "$backup_path" ]]; then
1759
+ echo "Error: Backup file '$backup_path' does not exist" >&2
1760
+ return 1
1761
+ fi
1762
+
1763
+ if ! cp_error=$(cp "$backup_path" "$filepath" 2>&1); then
1764
+ echo "Error: Failed to restore '$filepath' from backup '$backup_path': $cp_error" >&2
1765
+ return 1
1766
+ fi
1767
+ }
1768
+
1769
+ # ---------------------------------------------------------------------------
1770
+ # count_requirement_entries <filepath>
1771
+ #
1772
+ # Counts unique FR-### / NFR-### requirement IDs in the spec. When a
1773
+ # "## Requirements" section exists, only that section is scanned; otherwise the
1774
+ # full file is scanned as a fallback. This supports bullets, paragraphs,
1775
+ # headings, and table-based requirement formats.
1776
+ # Returns count on stdout.
1777
+ # ---------------------------------------------------------------------------
1778
+ count_requirement_entries() {
1779
+ local filepath="$1"
1780
+
1781
+ if [[ ! -f "$filepath" ]]; then
1782
+ echo "0"
1783
+ return 0
1784
+ fi
1785
+
1786
+ # Extract the Requirements section (or full file if none exists), then
1787
+ # use grep -oE to find unique FR-###/NFR-### IDs. This avoids the
1788
+ # non-POSIX awk match(..., ..., capture_array) form that fails on
1789
+ # macOS/BSD awk.
1790
+ local scoped_lines count
1791
+ scoped_lines=$(
1792
+ awk '
1793
+ BEGIN { in_req = 0; saw_req = 0 }
1794
+ /^[[:space:]]*##[[:space:]]+Requirements([[:space:]]*$|[[:space:][:punct:]].*)/ {
1795
+ in_req = 1; saw_req = 1
1796
+ }
1797
+ saw_req && in_req && /^[[:space:]]*##[[:space:]]+/ && $0 !~ /^[[:space:]]*##[[:space:]]+Requirements([[:space:]]*$|[[:space:][:punct:]].*)/ {
1798
+ in_req = 0
1799
+ }
1800
+ { if (!saw_req || in_req) print }
1801
+ ' "$filepath" 2>/dev/null || printf ''
1802
+ )
1803
+
1804
+ if [[ -z "$scoped_lines" ]]; then
1805
+ echo "0"
1806
+ return 0
1807
+ fi
1808
+
1809
+ count=$(printf '%s\n' "$scoped_lines" | grep -oE '(^|[^[:alnum:]_])(FR|NFR)-[0-9]+' | grep -oE '(FR|NFR)-[0-9]+' | sort -u | wc -l) || true
1810
+ echo "${count:-0}"
1811
+ }
1812
+
1813
+ # ---------------------------------------------------------------------------
1814
+ # count_checklist_items <filepath>
1815
+ #
1816
+ # Counts Markdown task list items: - [ ], - [x], - [X]
1817
+ # Returns count on stdout.
1818
+ # ---------------------------------------------------------------------------
1819
+ count_checklist_items() {
1820
+ local filepath="$1"
1821
+ local count
1822
+ count=$(grep -cE '^- \[([xX]| )\] ' "$filepath" 2>/dev/null) || true
1823
+ echo "${count:-0}"
1824
+ }
1825
+
1826
+ # ---------------------------------------------------------------------------
1827
+ # extract_section_headings <filepath>
1828
+ #
1829
+ # Extracts ## headings, strips trailing *(mandatory)* annotations and trims
1830
+ # whitespace. Returns one heading per line on stdout.
1831
+ # ---------------------------------------------------------------------------
1832
+ extract_section_headings() {
1833
+ local filepath="$1"
1834
+ { grep -E '^## ' "$filepath" 2>/dev/null || true; } | sed -E 's/[[:space:]]*\*\(mandatory\)\*[[:space:]]*$//' | sed 's/[[:space:]]*$//'
1835
+ }
1836
+
1837
+ # ---------------------------------------------------------------------------
1838
+ # validate_structural_integrity <original_file> <candidate_file> [--type spec|checklist]
1839
+ #
1840
+ # Compares a candidate output against the original file to ensure structural
1841
+ # integrity is preserved.
1842
+ #
1843
+ # For --type spec (default):
1844
+ # - All mandatory sections must be present
1845
+ # - All original section headings must be preserved
1846
+ # - Requirement entry count must be >= ceil(0.95 * original_count)
1847
+ #
1848
+ # For --type checklist:
1849
+ # - All original section headings must be preserved
1850
+ # - Checklist item count must be >= original_count
1851
+ #
1852
+ # Skips retention check when original count is 0.
1853
+ # Prints specific failure reasons to stderr (NFR-002).
1854
+ # Returns 0 on pass, 1 on fail.
1855
+ # ---------------------------------------------------------------------------
1856
+ validate_structural_integrity() {
1857
+ local original_file="$1"
1858
+ local candidate_file="$2"
1859
+ local file_type="spec"
1860
+
1861
+ # Parse optional --type argument
1862
+ shift 2
1863
+ while [[ $# -gt 0 ]]; do
1864
+ case "$1" in
1865
+ --type)
1866
+ if [[ -z "${2:-}" ]]; then
1867
+ echo "Error: --type requires a value" >&2
1868
+ return 1
1869
+ fi
1870
+ case "$2" in
1871
+ spec|checklist)
1872
+ file_type="$2"
1873
+ ;;
1874
+ *)
1875
+ echo "Error: --type must be 'spec' or 'checklist' (got '$2')" >&2
1876
+ return 1
1877
+ ;;
1878
+ esac
1879
+ shift 2
1880
+ ;;
1881
+ *)
1882
+ echo "Error: Unknown argument '$1'" >&2
1883
+ return 1
1884
+ ;;
1885
+ esac
1886
+ done
1887
+
1888
+ local failed=0
1889
+
1890
+ # --- Mandatory sections check (spec only) ---
1891
+ # Use extracted headings (line-anchored) to avoid false positives from TOC/links
1892
+ if [[ "$file_type" == "spec" ]]; then
1893
+ local candidate_headings_for_mandatory
1894
+ candidate_headings_for_mandatory=$(extract_section_headings "$candidate_file")
1895
+ for section in "${MANDATORY_SECTIONS[@]}"; do
1896
+ local normalized_section
1897
+ normalized_section=$(echo "$section" | sed -E 's/[[:space:]]*\*\(mandatory\)\*[[:space:]]*$//' | sed 's/[[:space:]]*$//')
1898
+ if ! echo "$candidate_headings_for_mandatory" | grep -qxF "$normalized_section"; then
1899
+ echo "Validation FAILED: mandatory section missing: '$normalized_section'" >&2
1900
+ failed=1
1901
+ fi
1902
+ done
1903
+ fi
1904
+
1905
+ # --- All original section headings preserved ---
1906
+ local original_headings candidate_headings
1907
+ original_headings=$(extract_section_headings "$original_file")
1908
+ candidate_headings=$(extract_section_headings "$candidate_file")
1909
+
1910
+ while IFS= read -r heading; do
1911
+ [[ -z "$heading" ]] && continue
1912
+ if ! echo "$candidate_headings" | grep -qxF "$heading"; then
1913
+ echo "Validation FAILED: original section heading missing: '$heading'" >&2
1914
+ failed=1
1915
+ fi
1916
+ done <<< "$original_headings"
1917
+
1918
+ # --- Retention check ---
1919
+ if [[ "$file_type" == "spec" ]]; then
1920
+ local original_count candidate_count threshold
1921
+ original_count=$(count_requirement_entries "$original_file")
1922
+ candidate_count=$(count_requirement_entries "$candidate_file")
1923
+
1924
+ if [[ "$original_count" -gt 0 ]]; then
1925
+ # Integer ceiling: ceil(threshold% * N) = (threshold * N + (100-1)) / 100
1926
+ threshold=$(( (REQUIREMENT_RETENTION_THRESHOLD * original_count + 99) / 100 ))
1927
+ if [[ "$candidate_count" -lt "$threshold" ]]; then
1928
+ echo "Validation FAILED: requirement count dropped from $original_count to $candidate_count (threshold: $threshold, ${REQUIREMENT_RETENTION_THRESHOLD}%)" >&2
1929
+ failed=1
1930
+ fi
1931
+ fi
1932
+ elif [[ "$file_type" == "checklist" ]]; then
1933
+ local original_count candidate_count
1934
+ original_count=$(count_checklist_items "$original_file")
1935
+ candidate_count=$(count_checklist_items "$candidate_file")
1936
+
1937
+ if [[ "$original_count" -gt 0 ]]; then
1938
+ local threshold
1939
+ threshold=$(( (CHECKLIST_RETENTION_THRESHOLD * original_count + 99) / 100 ))
1940
+ if [[ "$candidate_count" -lt "$threshold" ]]; then
1941
+ echo "Validation FAILED: checklist item count dropped from $original_count to $candidate_count (threshold: $threshold, ${CHECKLIST_RETENTION_THRESHOLD}% retention required)" >&2
1942
+ failed=1
1943
+ fi
1944
+ fi
1945
+ fi
1946
+
1947
+ return "$failed"
1948
+ }
1949
+
1950
+ # ---------------------------------------------------------------------------
1951
+ # safe_write_with_validation <original_file> <candidate_content> [--type spec|checklist]
1952
+ #
1953
+ # Orchestrates the full safe-write flow:
1954
+ # 1. Create backup of original (FR-002)
1955
+ # 2. Write candidate to <original_file>.tmp
1956
+ # 3. Run validate_structural_integrity
1957
+ # 4. On pass: mv .tmp original (atomic POSIX rename)
1958
+ # 5. On fail: remove .tmp, leave original unchanged, report errors (FR-007)
1959
+ #
1960
+ # Returns 0 on success, non-zero on any failure (validation, backup, I/O, or
1961
+ # atomic replace).
1962
+ # ---------------------------------------------------------------------------
1963
+ safe_write_with_validation() {
1964
+ local original_file="$1"
1965
+ local candidate_content="$2"
1966
+ shift 2
1967
+ local extra_args=("$@")
1968
+
1969
+ local tmp_file="${original_file}.tmp"
1970
+
1971
+ # Step 1: Create backup
1972
+ local backup_path
1973
+ backup_path=$(create_backup "$original_file") || {
1974
+ echo "Error: Backup creation failed for '$original_file'. Aborting write." >&2
1975
+ return 1
1976
+ }
1977
+ echo "Backup created: $backup_path" >&2
1978
+
1979
+ # Step 2: Write candidate to .tmp
1980
+ printf '%s\n' "$candidate_content" > "$tmp_file" || {
1981
+ echo "Error: Failed to write candidate to '$tmp_file'" >&2
1982
+ rm -f "$tmp_file"
1983
+ rm -f "$backup_path"
1984
+ return 1
1985
+ }
1986
+
1987
+ # Step 3: Validate
1988
+ if validate_structural_integrity "$original_file" "$tmp_file" "${extra_args[@]}"; then
1989
+ # Step 4: Atomic replace
1990
+ mv "$tmp_file" "$original_file" || {
1991
+ echo "Error: Atomic replace failed. Restoring from backup." >&2
1992
+ restore_from_backup "$original_file" "$backup_path"
1993
+ rm -f "$tmp_file"
1994
+ return 1
1995
+ }
1996
+ # Remove backup after successful replace to prevent .bak files from being committed
1997
+ rm -f "$backup_path"
1998
+ echo "Validation passed. File updated: $original_file" >&2
1999
+ return 0
2000
+ else
2001
+ # Step 5: Validation failed — leave original unchanged
2002
+ rm -f "$tmp_file"
2003
+ echo "Validation FAILED. Original file preserved: $original_file" >&2
2004
+ echo "Backup available at: $backup_path" >&2
2005
+ return 1
2006
+ fi
2007
+ }
2008
+
2009
+ # ---------------------------------------------------------------------------
2010
+ # capture_missing_mandatory_sections <original_file> <candidate_content>
2011
+ #
2012
+ # Compares the candidate content against the MANDATORY_SECTIONS array and
2013
+ # returns (prints to stdout) a comma-separated list of missing section names.
2014
+ # Used by run_clarify_phase() to build retry feedback for the LLM.
2015
+ # ---------------------------------------------------------------------------
2016
+ capture_missing_mandatory_sections() {
2017
+ local original_file="$1"
2018
+ local candidate_content="$2"
2019
+ local tmp_check
2020
+ tmp_check=$(mktemp "${original_file}.missing_check.XXXXXX") || {
2021
+ echo "Error: capture_missing_mandatory_sections: failed to create temp file near ${original_file}" >&2
2022
+ return 1
2023
+ }
2024
+ if ! printf '%s\n' "$candidate_content" > "$tmp_check"; then
2025
+ echo "Error: capture_missing_mandatory_sections: failed to write candidate content to $tmp_check" >&2
2026
+ rm -f "$tmp_check"
2027
+ return 1
2028
+ fi
2029
+ local candidate_headings
2030
+ candidate_headings=$(extract_section_headings "$tmp_check")
2031
+ local missing=""
2032
+ for section in "${MANDATORY_SECTIONS[@]}"; do
2033
+ local normalized
2034
+ normalized=$(echo "$section" | sed -E 's/[[:space:]]*\*\(mandatory\)\*[[:space:]]*$//' | sed 's/[[:space:]]*$//')
2035
+ if ! echo "$candidate_headings" | grep -qxF "$normalized"; then
2036
+ missing="${missing}${missing:+, }${normalized}"
2037
+ fi
2038
+ done
2039
+ rm -f "$tmp_check"
2040
+ printf '%s' "$missing"
2041
+ }
2042
+
2043
+ # ========================== Phase Functions ==================================
2044
+
2045
+ # ---------------------------------------------------------------------------
2046
+ # run_specify_phase
2047
+ #
2048
+ # Constructs the specify prompt and calls call_llm.
2049
+ # Prints the generated spec content to stdout.
2050
+ # ---------------------------------------------------------------------------
2051
+ run_specify_phase() {
2052
+ # Load the spec template
2053
+ local template_file="$REPO_ROOT/.specify/presets/agdt-templates/templates/spec-template.md"
2054
+ local spec_template=""
2055
+ if [[ -f "$template_file" ]]; then
2056
+ spec_template=$(cat "$template_file")
2057
+ fi
2058
+
2059
+ # Load the mandatory skeleton block (FR-001, FR-006 #1859)
2060
+ # Select skeleton variant based on HIERARCHY_LEVEL
2061
+ local skeleton_file
2062
+ if [[ "$HIERARCHY_LEVEL" == "epic" ]]; then
2063
+ skeleton_file="$SCRIPT_DIR/templates/specify-skeleton-epic.md"
2064
+ echo "Using specify-skeleton-epic.md for HIERARCHY_LEVEL=epic"
2065
+ else
2066
+ skeleton_file="$SCRIPT_DIR/templates/specify-skeleton.md"
2067
+ fi
2068
+ local skeleton_block=""
2069
+ if [[ -f "$skeleton_file" ]]; then
2070
+ skeleton_block=$(cat "$skeleton_file")
2071
+ fi
2072
+
2073
+ local mandatory_heading_lines=""
2074
+ local section
2075
+ for section in "${MANDATORY_SECTIONS[@]}"; do
2076
+ mandatory_heading_lines="${mandatory_heading_lines}- ${section}"$'\n'
2077
+ done
2078
+
2079
+ # Build level-appropriate instructions (FR-006, #1859)
2080
+ local level_instructions
2081
+ if [[ "$HIERARCHY_LEVEL" == "epic" ]]; then
2082
+ level_instructions="1. Create a complete epic-level specification following the template structure
2083
+ 2. Define goals, vision, and strategic objectives
2084
+ 3. Define functional and non-functional requirements at a high level
2085
+ 4. Include cross-cutting concerns and architectural boundaries
2086
+ 5. Add a \"Source Issue\" field at the top with: #$ISSUE_NUMBER ($ISSUE_URL)
2087
+ 6. Keep the specification focused on strategic WHAT and WHY, not detailed HOW
2088
+ 7. Make reasonable assumptions where details are missing
2089
+ 8. Limit [NEEDS CLARIFICATION] markers to maximum 3 critical items
2090
+ 9. Include ALL mandatory section headings as level-2 markdown headings (##), exactly as shown below:
2091
+ ${mandatory_heading_lines}
2092
+ 10. Write detailed prose paragraphs — do NOT use bullet points for more than ${MAX_BULLET_LINE_PCT}% of content lines.
2093
+ 11. Do NOT include user stories with Given/When/Then scenarios — those belong at the feature level. Focus on goals, vision, and measurable success criteria."
2094
+ else
2095
+ level_instructions="1. Create a complete feature specification following the template structure
2096
+ 2. Include user stories with priorities (P1, P2, P3)
2097
+ 3. Define functional and non-functional requirements
2098
+ 4. Include acceptance scenarios in Given/When/Then format
2099
+ 5. Add a \"Source Issue\" field at the top with: #$ISSUE_NUMBER ($ISSUE_URL)
2100
+ 6. Keep the specification focused on WHAT and WHY, not HOW
2101
+ 7. Make reasonable assumptions where details are missing
2102
+ 8. Limit [NEEDS CLARIFICATION] markers to maximum 3 critical items
2103
+ 9. Include ALL mandatory section headings as level-2 markdown headings (##), exactly as shown below:
2104
+ ${mandatory_heading_lines}
2105
+ 10. Write detailed prose paragraphs — do NOT use bullet points for more than ${MAX_BULLET_LINE_PCT}% of content lines. Sections like Problem Statement and User Scenarios should use prose descriptions, not just bullet lists."
2106
+ fi
2107
+
2108
+ local prompt
2109
+ local prompt_subject="a feature specification"
2110
+ if [[ "$HIERARCHY_LEVEL" == "epic" ]]; then
2111
+ prompt_subject="an epic specification"
2112
+ fi
2113
+ prompt="You are a specification writer. Create $prompt_subject based on the following GitHub issue.
2114
+
2115
+ ## Issue Details
2116
+ - **Issue Number**: #$ISSUE_NUMBER
2117
+ - **Issue URL**: $ISSUE_URL
2118
+ - **Title**: $ISSUE_TITLE
2119
+
2120
+ ## Issue Description
2121
+ $ISSUE_BODY
2122
+
2123
+ ## Instructions
2124
+ ${level_instructions}
2125
+
2126
+ ## Mandatory Document Structure
2127
+
2128
+ Your output MUST contain all of the following sections. Use this skeleton as your structural foundation and fill in each section with substantive, detailed content:
2129
+
2130
+ ${skeleton_block}
2131
+
2132
+ ## Template Reference
2133
+ $spec_template
2134
+
2135
+ Generate the specification now. Output ONLY the specification content, no commentary, no code fences. Start with the header and metadata section.
2136
+
2137
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
2138
+ WRONG: \"Spec created at specs/...\"
2139
+ WRONG: \"Here is the updated specification...\"
2140
+ WRONG: \"Certainly! Here is...\"
2141
+ CORRECT: \"# Spec: Feature Name\"
2142
+ Do NOT include any conversational preamble before the heading."
2143
+
2144
+ call_llm "$prompt"
2145
+ }
2146
+
2147
+ # ---------------------------------------------------------------------------
2148
+ # run_specify_phase_with_feedback
2149
+ #
2150
+ # Variant of run_specify_phase that includes structured feedback from a
2151
+ # previous failed validation attempt. Uses SPECIFY_RETRY_FEEDBACK and
2152
+ # SPECIFY_FAILED_OUTPUT global variables when set. On retry >= 2, injects
2153
+ # an example valid spec for reference (FR-010).
2154
+ # ---------------------------------------------------------------------------
2155
+ run_specify_phase_with_feedback() {
2156
+ if [[ -z "${SPECIFY_RETRY_FEEDBACK:-}" ]]; then
2157
+ run_specify_phase
2158
+ return $?
2159
+ fi
2160
+
2161
+ # Load the spec template
2162
+ local template_file="$REPO_ROOT/.specify/presets/agdt-templates/templates/spec-template.md"
2163
+ local spec_template=""
2164
+ if [[ -f "$template_file" ]]; then
2165
+ spec_template=$(cat "$template_file")
2166
+ fi
2167
+
2168
+ # Load the mandatory skeleton block (FR-001)
2169
+ local skeleton_file="$SCRIPT_DIR/templates/specify-skeleton.md"
2170
+ local skeleton_block=""
2171
+ if [[ -f "$skeleton_file" ]]; then
2172
+ skeleton_block=$(cat "$skeleton_file")
2173
+ fi
2174
+
2175
+ # Load example spec for injection on retry >= 2 (FR-010)
2176
+ local example_section=""
2177
+ if [[ "${specify_retry_count:-0}" -ge 2 ]]; then
2178
+ local example_file="$SCRIPT_DIR/templates/example-valid-spec.md"
2179
+ if [[ -f "$example_file" ]]; then
2180
+ local example_content
2181
+ example_content=$(head -c 1500 "$example_file")
2182
+ example_section="
2183
+ ## Reference: Example Valid Specification (truncated)
2184
+
2185
+ The following is an example of a specification that passes ALL validation checks. Use it as a structural reference:
2186
+
2187
+ \`\`\`markdown
2188
+ ${example_content}
2189
+ \`\`\`
2190
+
2191
+ "
2192
+ fi
2193
+ fi
2194
+
2195
+ local mandatory_heading_lines=""
2196
+ local section
2197
+ for section in "${MANDATORY_SECTIONS[@]}"; do
2198
+ mandatory_heading_lines="${mandatory_heading_lines}- ${section}"$'\n'
2199
+ done
2200
+
2201
+ local prompt
2202
+ prompt="You are a specification writer. Your previous attempt failed structural validation. You MUST fix ALL issues listed below.
2203
+
2204
+ ## Issue Details
2205
+ - **Issue Number**: #$ISSUE_NUMBER
2206
+ - **Issue URL**: $ISSUE_URL
2207
+ - **Title**: $ISSUE_TITLE
2208
+
2209
+ ## Issue Description
2210
+ $ISSUE_BODY
2211
+
2212
+ ${SPECIFY_RETRY_FEEDBACK}
2213
+ ${example_section}
2214
+ ## Your Previous (Invalid) Output
2215
+ ${SPECIFY_FAILED_OUTPUT:-}
2216
+
2217
+ ## Mandatory Document Structure
2218
+
2219
+ Your output MUST contain all of the following sections:
2220
+
2221
+ ${skeleton_block}
2222
+
2223
+ ## Instructions
2224
+ 1. Create a COMPLETE feature specification — not a summary or outline
2225
+ 2. Include user stories with priorities (P1, P2, P3) — each with Given/When/Then scenarios
2226
+ 3. Define at least ${MIN_FUNCTIONAL_REQUIREMENTS} functional requirements (FR-### format)
2227
+ 4. Include at least ${MIN_USER_STORIES} user stories (### User Story headings)
2228
+ 5. Success criteria (SC-### format) must contain measurable targets (numbers, percentages)
2229
+ 6. Write detailed prose — do NOT use bullet points for more than ${MAX_BULLET_LINE_PCT}% of content lines
2230
+ 7. Add a \"Source Issue\" field at the top with: #$ISSUE_NUMBER ($ISSUE_URL)
2231
+ 8. Keep the specification focused on WHAT and WHY, not HOW
2232
+ 9. Include ALL mandatory section headings as level-2 markdown headings (##), exactly as shown below:
2233
+ ${mandatory_heading_lines}
2234
+
2235
+ ## Template Reference
2236
+ $spec_template
2237
+
2238
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
2239
+ Do NOT include any conversational preamble before the heading."
2240
+
2241
+ call_llm "$prompt"
2242
+ }
2243
+
2244
+ # ---------------------------------------------------------------------------
2245
+ # _emit_validation_errors <phase_number> <phase_name> <failures_text>
2246
+ #
2247
+ # Emits structured validation errors to $GITHUB_OUTPUT and writes a
2248
+ # validation-errors.json workspace file for downstream fallback consumption.
2249
+ # Only called on structural validation failures (FR-001).
2250
+ # ---------------------------------------------------------------------------
2251
+ _emit_validation_errors() {
2252
+ local phase_number="$1"
2253
+ local phase_name="$2"
2254
+ local failures_text="$3"
2255
+ local compatibility_failures_text
2256
+
2257
+ compatibility_failures_text=$(printf '%s' "$failures_text" | sed 's/ | REMEDIATION: .*//')
2258
+
2259
+ # Emit semicolon-delimited validation_errors to GITHUB_OUTPUT
2260
+ local output_line
2261
+ output_line=$(printf '%s' "$compatibility_failures_text" | tr '\n' ';' | sed 's/;$//')
2262
+ echo "validation_errors=${output_line}" >> "${GITHUB_OUTPUT:-/dev/null}"
2263
+
2264
+ # Write validation-errors.json workspace file
2265
+ local json_errors="["
2266
+ local first=true
2267
+ while IFS= read -r line; do
2268
+ [[ -z "$line" ]] && continue
2269
+ local category detail
2270
+ category=$(printf '%s' "$line" | sed 's/^[[:space:]]*//' | cut -d: -f1)
2271
+ detail=$(printf '%s' "$line" | sed 's/^[^:]*:[[:space:]]*//')
2272
+ if [[ "$first" == "true" ]]; then
2273
+ first=false
2274
+ else
2275
+ json_errors+=","
2276
+ fi
2277
+ # Escape JSON special characters in detail
2278
+ detail=$(printf '%s' "$detail" | sed 's/\\/\\\\/g; s/"/\\"/g')
2279
+ json_errors+="{\"category\":\"${category}\",\"detail\":\"${detail}\"}"
2280
+ done <<< "$compatibility_failures_text"
2281
+ json_errors+="]"
2282
+
2283
+ local json_file="${GITHUB_WORKSPACE:-${RUNNER_TEMP:-/tmp}}/validation-errors.json"
2284
+ cat > "$json_file" <<JSONEOF
2285
+ {"phase":${phase_number},"phase_name":"${phase_name}","errors":${json_errors}}
2286
+ JSONEOF
2287
+ echo "[Agent Fallback] Wrote validation errors to ${json_file}" >&2
2288
+ }
2289
+
2290
+ # ---------------------------------------------------------------------------
2291
+ # run_specify_phase_with_validation_retries
2292
+ #
2293
+ # Runs Phase 1 specify with structural validation retries and structured
2294
+ # feedback. Validation failures consume retry budget; operational failures do
2295
+ # not consume retry budget. Includes dynamic threshold adaptation (FR-004),
2296
+ # deterministic fallback on exhaustion (FR-003), and metrics reporting (FR-007).
2297
+ #
2298
+ # Stdout: Valid specification content
2299
+ # Returns:
2300
+ # 0 = success
2301
+ # 1 = validation retries exhausted or operational failure cap reached
2302
+ # ---------------------------------------------------------------------------
2303
+ run_specify_phase_with_validation_retries() {
2304
+ local specify_retry_count=0
2305
+ local specify_operational_failures=0
2306
+ local specify_last_failures=""
2307
+ local last_operational_reason=""
2308
+ local validation_rc=0
2309
+ local specify_first_attempt_pass=false
2310
+ local specify_fallback_used=false
2311
+ local specify_failure_reasons=""
2312
+
2313
+ # Dynamic threshold adaptation (FR-004)
2314
+ _compute_dynamic_thresholds "${ISSUE_BODY:-}"
2315
+
2316
+ while [[ "$specify_retry_count" -lt "$SPECIFY_MAX_RETRIES" ]]; do
2317
+ SPEC_CONTENT=$(run_specify_phase_with_feedback) || {
2318
+ echo "[Specify] LLM call failed (operational failure, not counting as retry)" >&2
2319
+ specify_operational_failures=$((specify_operational_failures + 1))
2320
+ last_operational_reason="LLM call failed"
2321
+ if [[ "$specify_operational_failures" -ge "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2322
+ break
2323
+ fi
2324
+ continue
2325
+ }
2326
+ if [[ -z "$SPEC_CONTENT" ]]; then
2327
+ echo "[Specify] LLM returned empty content (operational failure, not counting as retry)" >&2
2328
+ specify_operational_failures=$((specify_operational_failures + 1))
2329
+ last_operational_reason="LLM returned empty content"
2330
+ if [[ "$specify_operational_failures" -ge "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2331
+ break
2332
+ fi
2333
+ continue
2334
+ fi
2335
+ SPEC_CONTENT=$(strip_llm_preamble "$SPEC_CONTENT" "# ")
2336
+ if [[ -z "${SPEC_CONTENT//[[:space:]]/}" ]]; then
2337
+ echo "[Specify] LLM returned only whitespace after preamble stripping (operational failure)" >&2
2338
+ specify_operational_failures=$((specify_operational_failures + 1))
2339
+ last_operational_reason="LLM returned whitespace after preamble stripping"
2340
+ if [[ "$specify_operational_failures" -ge "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2341
+ break
2342
+ fi
2343
+ continue
2344
+ fi
2345
+ SPEC_CONTENT=$(ensure_heading_start "$SPEC_CONTENT" "# Spec: $ISSUE_TITLE")
2346
+
2347
+ # Validate structural quality
2348
+ if specify_last_failures=$(_validate_spec_content "$SPEC_CONTENT"); then
2349
+ unset SPECIFY_RETRY_FEEDBACK SPECIFY_FAILED_OUTPUT 2>/dev/null || true
2350
+ if [[ "$specify_retry_count" -eq 0 ]]; then
2351
+ specify_first_attempt_pass=true
2352
+ fi
2353
+ _report_specify_metrics "$specify_first_attempt_pass" "$specify_retry_count" "$specify_fallback_used" "$specify_failure_reasons" "$((specify_retry_count + 1))"
2354
+ printf '%s' "$SPEC_CONTENT"
2355
+ return 0
2356
+ else
2357
+ validation_rc=$?
2358
+ if [[ "$validation_rc" -eq 2 ]]; then
2359
+ echo "[Specify] Structural validation could not run (operational failure, not counting as retry)" >&2
2360
+ specify_operational_failures=$((specify_operational_failures + 1))
2361
+ last_operational_reason="structural validation could not run"
2362
+ if [[ "$specify_operational_failures" -ge "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2363
+ break
2364
+ fi
2365
+ continue
2366
+ fi
2367
+ fi
2368
+
2369
+ # Track failure reasons for metrics
2370
+ specify_failure_reasons="${specify_last_failures}"
2371
+
2372
+ # Reset only after a non-operational iteration so consecutive rc=2
2373
+ # validation failures can still reach the operational-failure cap.
2374
+ specify_operational_failures=0
2375
+
2376
+ specify_retry_count=$((specify_retry_count + 1))
2377
+ if [[ "$specify_retry_count" -lt "$SPECIFY_MAX_RETRIES" ]]; then
2378
+ echo "[Specify] Validation failed (attempt ${specify_retry_count}/${SPECIFY_MAX_RETRIES}), retrying with structured feedback..." >&2
2379
+ local feedback
2380
+ feedback=$(_build_structured_specify_feedback "/dev/null" "$specify_last_failures")
2381
+ SPECIFY_RETRY_FEEDBACK="$feedback"
2382
+ SPECIFY_FAILED_OUTPUT="$SPEC_CONTENT"
2383
+ else
2384
+ echo "[Specify] Validation failed — all ${SPECIFY_MAX_RETRIES} retries exhausted" >&2
2385
+ fi
2386
+ done
2387
+
2388
+ unset SPECIFY_RETRY_FEEDBACK SPECIFY_FAILED_OUTPUT 2>/dev/null || true
2389
+
2390
+ # Deterministic fallback (FR-003)
2391
+ if [[ "$specify_operational_failures" -lt "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2392
+ echo "[Specify] ⚠️ Activating deterministic fallback skeleton..." >&2
2393
+ local fallback_content
2394
+ if fallback_content=$(_generate_fallback_skeleton "${ISSUE_TITLE:-}" "${ISSUE_BODY:-}" "${ISSUE_NUMBER:-0}" "${ISSUE_URL:-}"); then
2395
+ if [[ -n "$fallback_content" ]]; then
2396
+ specify_fallback_used=true
2397
+ _report_specify_metrics "$specify_first_attempt_pass" "$specify_retry_count" "$specify_fallback_used" "$specify_failure_reasons" "$specify_retry_count"
2398
+ printf '%s' "$fallback_content"
2399
+ return 0
2400
+ fi
2401
+ fi
2402
+ echo "[Specify] ⚠️ Fallback skeleton generation failed" >&2
2403
+ fi
2404
+
2405
+ # Complete failure path
2406
+ if [[ "$specify_operational_failures" -ge "$SPECIFY_MAX_OPERATIONAL_FAILURES" ]]; then
2407
+ echo "Error: Specify phase encountered ${specify_operational_failures} consecutive operational failures (limit: ${SPECIFY_MAX_OPERATIONAL_FAILURES})." >&2
2408
+ echo "Last operational failure: ${last_operational_reason}" >&2
2409
+ else
2410
+ echo "Error: Specify phase failed structural validation after ${SPECIFY_MAX_RETRIES} attempts." >&2
2411
+ echo "Failures:" >&2
2412
+ printf '%s\n' "$specify_last_failures" >&2
2413
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
2414
+ _emit_validation_errors "1" "specify" "$specify_last_failures"
2415
+ fi
2416
+ _report_specify_metrics "$specify_first_attempt_pass" "$specify_retry_count" "$specify_fallback_used" "$specify_failure_reasons" "$specify_retry_count"
2417
+ return 1
2418
+ }
2419
+
2420
+ # ---------------------------------------------------------------------------
2421
+ # _report_specify_metrics <first_attempt_pass> <total_retries> <fallback_used> <failure_reasons> [total_attempts]
2422
+ #
2423
+ # Emits JSON metrics to stderr and GITHUB_OUTPUT for CI visibility (FR-007).
2424
+ #
2425
+ # Parameters:
2426
+ # first_attempt_pass - "true" or "false"
2427
+ # total_retries - Integer count of validation-consuming attempts
2428
+ # fallback_used - "true" or "false"
2429
+ # failure_reasons - Raw failure text (may be empty)
2430
+ # total_attempts - Optional explicit total attempts value
2431
+ # ---------------------------------------------------------------------------
2432
+ _report_specify_metrics() {
2433
+ local first_attempt_pass="${1:-false}"
2434
+ local total_retries="${2:-0}"
2435
+ local fallback_used="${3:-false}"
2436
+ local failure_reasons="${4:-}"
2437
+ local total_attempts="${5:-$((total_retries + 1))}"
2438
+
2439
+ # Build failure reasons array
2440
+ local reasons_json="[]"
2441
+ if [[ -n "$failure_reasons" ]]; then
2442
+ reasons_json="["
2443
+ local first=true
2444
+ while IFS= read -r line; do
2445
+ [[ -z "$line" ]] && continue
2446
+ local cat="${line%%:*}"
2447
+ if [[ "$first" == "true" ]]; then
2448
+ first=false
2449
+ else
2450
+ reasons_json+=","
2451
+ fi
2452
+ reasons_json+="\"${cat}\""
2453
+ done <<< "$failure_reasons"
2454
+ reasons_json+="]"
2455
+ fi
2456
+
2457
+ local metrics_json
2458
+ metrics_json="{\"first_attempt_success\":${first_attempt_pass},\"total_attempts\":${total_attempts},\"fallback_activated\":${fallback_used},\"failure_reasons\":${reasons_json}}"
2459
+
2460
+ echo "[Specify] 📊 Metrics: ${metrics_json}" >&2
2461
+
2462
+ # Output to GITHUB_OUTPUT for CI visibility
2463
+ echo "specify_metrics=${metrics_json}" >> "${GITHUB_OUTPUT:-/dev/null}"
2464
+ }
2465
+
2466
+ # ---------------------------------------------------------------------------
2467
+ # run_clarify_phase
2468
+ #
2469
+ # Reads the current spec.md, asks the LLM to perform an autonomous
2470
+ # clarification pass, and overwrites spec.md with the updated content.
2471
+ # ---------------------------------------------------------------------------
2472
+ run_clarify_phase() {
2473
+ local spec_file="$SPEC_DIR/spec.md"
2474
+
2475
+ # --- Pre-flight checks (FR-009) ---
2476
+ if [[ ! -f "$spec_file" ]]; then
2477
+ echo "Error: spec.md does not exist at '$spec_file'. Run the specify phase first." >&2
2478
+ return 1
2479
+ fi
2480
+ if [[ ! -s "$spec_file" ]]; then
2481
+ echo "Error: spec.md is empty (0 bytes) at '$spec_file'. Run the specify phase first." >&2
2482
+ return 1
2483
+ fi
2484
+
2485
+ # --- File size warning (FR-012) ---
2486
+ local file_size
2487
+ file_size=$(wc -c < "$spec_file")
2488
+ if [[ "$file_size" -ge "$CONTEXT_WINDOW_WARNING_THRESHOLD" ]]; then
2489
+ echo "Warning: spec.md is ${file_size} bytes (≥${CONTEXT_WINDOW_WARNING_THRESHOLD}B). Potential context-window truncation risk." >&2
2490
+ fi
2491
+
2492
+ local spec_content
2493
+ spec_content=$(strip_model_footer "$(cat "$spec_file")")
2494
+
2495
+ # --- Collect baseline metrics for LLM cross-reference ---
2496
+ local section_headings requirement_count
2497
+ section_headings=$(extract_section_headings "$spec_file")
2498
+ requirement_count=$(count_requirement_entries "$spec_file")
2499
+
2500
+ local today
2501
+ today=$(date +%Y-%m-%d)
2502
+
2503
+ local prompt
2504
+ prompt="You are an autonomous specification clarifier. Below is a feature specification. Your task is to:
2505
+
2506
+ CRITICAL PRESERVATION RULES:
2507
+ - You MUST output the COMPLETE specification with ALL sections intact
2508
+ - Do NOT summarize, truncate, or omit any section
2509
+ - Every section heading from the input MUST appear in your output
2510
+ - Every FR-### and NFR-### entry MUST be preserved unless explicitly merged
2511
+ - Replace [NEEDS CLARIFICATION] markers in-place with resolved answers
2512
+ - Append a ## Clarifications section (or add to existing) with session Q&A
2513
+
2514
+ CROSS-REFERENCE CHECKLIST (verify before finalizing your output):
2515
+ The original specification contains the following section headings — ALL must appear in your output:
2516
+ $section_headings
2517
+ The original specification contains $requirement_count requirement entries (FR-### / NFR-###).
2518
+ Your output must retain at least 95% of these entries.
2519
+
2520
+ INSTRUCTIONS:
2521
+ 1. Perform a structured ambiguity scan across these categories:
2522
+ - Functional Scope & Behavior
2523
+ - Domain & Data Model
2524
+ - Interaction & UX Flow
2525
+ - Non-Functional Quality Attributes
2526
+ - Integration & External Dependencies
2527
+ - Edge Cases & Failure Handling
2528
+ - Constraints & Tradeoffs
2529
+ - Terminology & Consistency
2530
+
2531
+ 2. Generate up to 5 clarification questions. For each question, determine the recommended answer based on best practices and the context of the specification.
2532
+
2533
+ 3. Immediately auto-accept all recommended answers (do NOT wait for human input).
2534
+
2535
+ 4. Embed the questions and accepted answers in a \`## Clarifications\` section (placed after the overview/introduction section) with:
2536
+ - A \`### Session $today\` subheading
2537
+ - Bullet points in this format: \`- Q: <question> → A: <accepted answer>\`
2538
+
2539
+ 5. Apply each accepted answer to the appropriate section of the specification:
2540
+ - Functional answers → Functional Requirements section
2541
+ - UX/actor answers → User Stories section
2542
+ - Data shape answers → Key Entities / Data Model section
2543
+ - Non-functional answers → Non-Functional Requirements (convert vague terms to measurable metrics)
2544
+ - Edge case answers → Edge Cases section
2545
+ - Terminology answers → Normalize terminology across the entire spec
2546
+
2547
+ 6. If no critical ambiguities are detected, add a \`## Clarifications\` section with:
2548
+ \`### Session $today\`
2549
+ \`- No critical ambiguities detected.\`
2550
+
2551
+ Output the COMPLETE updated specification content. Output ONLY the spec content, no commentary, no code fences.
2552
+
2553
+ ## Current Specification
2554
+ $spec_content
2555
+
2556
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
2557
+ WRONG: \"Spec created at specs/...\"
2558
+ WRONG: \"Here is the updated specification...\"
2559
+ WRONG: \"Certainly! Here is...\"
2560
+ CORRECT: \"# Spec: Feature Name\"
2561
+ Do NOT include any conversational preamble before the heading."
2562
+
2563
+ # --- LLM call with multi-layer validation retry ---
2564
+ # Layer 1: Targeted feedback retries with stall detection
2565
+ # Layer 2: Incremental patching (_run_clarify_incremental_patch)
2566
+ # Layer 3: Alternate prompt strategy (_run_clarify_alternate_strategy)
2567
+ # Layer 4: Graceful degradation (preserve original, return 0)
2568
+ local clarify_attempt=0
2569
+ local clarify_max_retries="$CLARIFY_MAX_RETRIES"
2570
+ local clarify_retry_feedback=""
2571
+ local result
2572
+ local clarify_status="pending"
2573
+ local prev_fingerprint=""
2574
+ local clarify_layer_used=""
2575
+
2576
+ # Save original spec content for Layer 4 fallback and Layer 2/3
2577
+ local original_spec_content="$spec_content"
2578
+ # Track the last invalid candidate from Layer 1 for use as Layer 2 patch base
2579
+ local last_failed_candidate=""
2580
+
2581
+ # ── Early guard: skip all remediation when budget is 0 ──────────────
2582
+ if [[ "$clarify_max_retries" -le 0 ]]; then
2583
+ echo "[Clarify] All layers skipped (SPECKIT_CLARIFY_MAX_RETRIES=0) — preserving original spec.md" >&2
2584
+ clarify_status="warning-fallback"
2585
+ clarify_layer_used="layer4"
2586
+ echo "clarify_status=$clarify_status" >> "${GITHUB_OUTPUT:-/dev/stdout}"
2587
+ echo "clarify_layer_used=$clarify_layer_used" >> "${GITHUB_OUTPUT:-/dev/stdout}"
2588
+ return 0
2589
+ fi
2590
+
2591
+ # ── Layer 1: Targeted Feedback ──────────────────────────────────────
2592
+ echo "[Clarify] [Layer 1] Targeted feedback retries (max $clarify_max_retries)" >&2
2593
+
2594
+ clarify_attempt=0
2595
+ local _l1_op_failures=0
2596
+ while true; do
2597
+ # Build prompt (with retry feedback if set)
2598
+ local full_prompt="$prompt"
2599
+ if [[ -n "$clarify_retry_feedback" ]]; then
2600
+ full_prompt="RETRY CONTEXT — PREVIOUS ATTEMPT FAILED VALIDATION:
2601
+ ${clarify_retry_feedback}
2602
+ You MUST fix ALL of the above issues in your output this time.
2603
+
2604
+ ${prompt}"
2605
+ fi
2606
+
2607
+ local llm_rc=0
2608
+ result=$(call_llm "$full_prompt") || llm_rc=$?
2609
+ if [[ "$llm_rc" -ne 0 ]]; then
2610
+ _l1_op_failures=$((_l1_op_failures + 1))
2611
+ echo "[Clarify] [Layer 1] LLM call failed (operational error, rc=$llm_rc) — failure $_l1_op_failures/3" >&2
2612
+ if [[ "$_l1_op_failures" -ge 3 ]]; then
2613
+ echo "[Clarify] [Layer 1] Too many operational failures — escalating" >&2
2614
+ break
2615
+ fi
2616
+ continue # Retry without consuming retry budget
2617
+ fi
2618
+ if [[ -z "$result" ]]; then
2619
+ _l1_op_failures=$((_l1_op_failures + 1))
2620
+ echo "[Clarify] [Layer 1] LLM returned empty content — failure $_l1_op_failures/3" >&2
2621
+ if [[ "$_l1_op_failures" -ge 3 ]]; then
2622
+ echo "[Clarify] [Layer 1] Too many operational failures — escalating" >&2
2623
+ break
2624
+ fi
2625
+ continue # Retry without consuming retry budget
2626
+ fi
2627
+ result=$(strip_llm_preamble "$result" "# ")
2628
+ if [[ -z "${result//[[:space:]]/}" ]]; then
2629
+ _l1_op_failures=$((_l1_op_failures + 1))
2630
+ echo "[Clarify] [Layer 1] LLM returned blank content after preamble stripping — failure $_l1_op_failures/3" >&2
2631
+ if [[ "$_l1_op_failures" -ge 3 ]]; then
2632
+ echo "[Clarify] [Layer 1] Too many operational failures — escalating" >&2
2633
+ break
2634
+ fi
2635
+ continue # Retry without consuming retry budget
2636
+ fi
2637
+ result=$(ensure_heading_start "$result" "# Spec: $ISSUE_TITLE")
2638
+
2639
+ # LLM produced usable content — reset operational failure counter
2640
+ _l1_op_failures=0
2641
+
2642
+ # --- Diagnostic logging before validation ---
2643
+ local _diag_tmp
2644
+ if ! _diag_tmp=$(mktemp "${spec_file}.diag.XXXXXX.tmp"); then
2645
+ echo "Error: Clarify phase failed to create a diagnostic temp file for validation logging" >&2
2646
+ return 1
2647
+ fi
2648
+ if ! printf '%s\n' "$result" > "$_diag_tmp"; then
2649
+ rm -f "$_diag_tmp"
2650
+ echo "Error: Clarify phase failed to write diagnostic content to temporary file '$_diag_tmp'" >&2
2651
+ return 1
2652
+ fi
2653
+ echo "[Clarify] [Layer 1] Candidate section headings:" >&2
2654
+ extract_section_headings "$_diag_tmp" >&2 || true
2655
+ log_file_header "Clarify" "$_diag_tmp" || true
2656
+ rm -f "$_diag_tmp"
2657
+
2658
+ # --- Pre-validation with full structural integrity check ---
2659
+ local _preval_tmp _preval_err validation_failure_reasons
2660
+ _preval_tmp=$(mktemp "${spec_file}.preval.XXXXXX") || {
2661
+ echo "Error: Clarify phase failed to create temp file for pre-validation" >&2
2662
+ return 1
2663
+ }
2664
+ _preval_err=$(mktemp "${spec_file}.preval.err.XXXXXX") || {
2665
+ rm -f "$_preval_tmp"
2666
+ echo "Error: Clarify phase failed to create temp file for validation diagnostics" >&2
2667
+ return 1
2668
+ }
2669
+ if ! printf '%s\n' "$result" > "$_preval_tmp"; then
2670
+ rm -f "$_preval_tmp" "$_preval_err"
2671
+ echo "Error: Clarify phase failed to write candidate for pre-validation" >&2
2672
+ return 1
2673
+ fi
2674
+
2675
+ if validate_structural_integrity "$spec_file" "$_preval_tmp" --type spec 2>"$_preval_err"; then
2676
+ rm -f "$_preval_tmp" "$_preval_err"
2677
+ # Validation passed — attempt safe write
2678
+ clarify_retry_feedback=""
2679
+ if safe_write_with_validation "$spec_file" "$result" --type spec; then
2680
+ clarify_status="success"
2681
+ clarify_layer_used="layer1"
2682
+ echo "[Clarify] [Layer 1] ✓ Validation passed" >&2
2683
+ break 2>/dev/null || true # Exit Layer 1 retry loop
2684
+ fi
2685
+ echo "Error: Failed to persist validated Clarify phase output to $spec_file. Original spec.md preserved." >&2
2686
+ return 1
2687
+ fi
2688
+
2689
+ # Validation failed — build structured feedback
2690
+ validation_failure_reasons="$(sed '/^[[:space:]]*$/d' "$_preval_err" || true)"
2691
+ if [[ -z "$validation_failure_reasons" ]]; then
2692
+ validation_failure_reasons="Structural integrity validation failed without detailed diagnostics."
2693
+ fi
2694
+
2695
+ # Track last failed candidate for Layer 2 patch base
2696
+ last_failed_candidate="$result"
2697
+
2698
+ # Stall detection: compare fingerprints
2699
+ local current_fingerprint
2700
+ current_fingerprint=$(_compute_clarify_validation_fingerprint "$spec_file" "$_preval_tmp")
2701
+ rm -f "$_preval_tmp" "$_preval_err"
2702
+
2703
+ if [[ -n "$prev_fingerprint" && "$current_fingerprint" == "$prev_fingerprint" ]]; then
2704
+ echo "[Clarify] [Layer 1] Stall detected — validation fingerprint unchanged, escalating to Layer 2" >&2
2705
+ break
2706
+ fi
2707
+ prev_fingerprint="$current_fingerprint"
2708
+
2709
+ # Build structured retry feedback
2710
+ local _struct_tmp
2711
+ _struct_tmp=$(mktemp "${spec_file}.struct.XXXXXX") || {
2712
+ echo "Error: Clarify phase failed to create temp file for structured feedback" >&2
2713
+ return 1
2714
+ }
2715
+ if ! printf '%s\n' "$result" > "$_struct_tmp"; then
2716
+ rm -f "$_struct_tmp"
2717
+ echo "[Clarify] [Layer 1] Failed to write candidate for structured feedback — treating as operational failure" >&2
2718
+ _l1_op_failures=$((_l1_op_failures + 1))
2719
+ if [[ "$_l1_op_failures" -ge 3 ]]; then
2720
+ echo "[Clarify] [Layer 1] Too many operational failures — escalating" >&2
2721
+ break
2722
+ fi
2723
+ continue # Retry without consuming retry budget
2724
+ fi
2725
+ local structured_feedback
2726
+ structured_feedback=$(_build_structured_clarify_feedback "$spec_file" "$_struct_tmp")
2727
+ rm -f "$_struct_tmp"
2728
+
2729
+ if [[ -n "$structured_feedback" ]]; then
2730
+ clarify_retry_feedback="The previous Clarify response failed structural validation. Fix these specific issues:
2731
+ ${structured_feedback}
2732
+ Raw validation errors:
2733
+ ${validation_failure_reasons}"
2734
+ else
2735
+ clarify_retry_feedback=$'The previous Clarify response failed structural validation. Fix these issues and regenerate the complete response:\n'"$validation_failure_reasons"
2736
+ fi
2737
+
2738
+ clarify_attempt=$((clarify_attempt + 1))
2739
+ if [[ "$clarify_attempt" -gt "$clarify_max_retries" ]]; then
2740
+ echo "[Clarify] [Layer 1] Exhausted ($clarify_max_retries retries)" >&2
2741
+ break
2742
+ fi
2743
+
2744
+ echo "[Clarify] [Layer 1] Retry $clarify_attempt/$clarify_max_retries — validation failed. Reasons: $validation_failure_reasons" >&2
2745
+ done
2746
+
2747
+ # Check if Layer 1 succeeded
2748
+ if [[ "$clarify_status" == "success" ]]; then
2749
+ # Layer 1 succeeded — skip remaining layers
2750
+ :
2751
+ else
2752
+ # Clear stale feedback before Layer 2
2753
+ clarify_retry_feedback=""
2754
+
2755
+ # ── Layer 2: Incremental Patching ────────────────────────────────
2756
+ echo "[Clarify] [Layer 2] Incremental patching (max $clarify_max_retries retries)" >&2
2757
+
2758
+ local _l2_op_failures=0
2759
+ local _l2_exit_reason="exhausted"
2760
+ for (( clarify_attempt=1; clarify_attempt<=clarify_max_retries + 1; clarify_attempt++ )); do
2761
+ echo "[Clarify] [Layer 2] Attempt $clarify_attempt/$((clarify_max_retries + 1))" >&2
2762
+
2763
+ # Build validation failures text from last failed candidate (or original)
2764
+ local _l2_tmp _l2_failures _l2_patch_base
2765
+ _l2_patch_base="${last_failed_candidate:-$original_spec_content}"
2766
+ _l2_tmp=$(mktemp "${spec_file}.l2.XXXXXX") || {
2767
+ _l2_op_failures=$((_l2_op_failures + 1))
2768
+ echo "[Clarify] [Layer 2] Failed to create temp file (operational failure $_l2_op_failures/3)" >&2
2769
+ if [[ "$_l2_op_failures" -ge 3 ]]; then
2770
+ echo "[Clarify] [Layer 2] Too many operational failures — escalating" >&2
2771
+ _l2_exit_reason="operational"
2772
+ break
2773
+ fi
2774
+ clarify_attempt=$((clarify_attempt - 1)) # Don't consume retry budget
2775
+ continue # Retry without consuming retry budget
2776
+ }
2777
+ if ! printf '%s\n' "$_l2_patch_base" > "$_l2_tmp"; then
2778
+ rm -f "$_l2_tmp"
2779
+ _l2_op_failures=$((_l2_op_failures + 1))
2780
+ echo "[Clarify] [Layer 2] Failed to write patch base to temp file (operational failure $_l2_op_failures/3)" >&2
2781
+ if [[ "$_l2_op_failures" -ge 3 ]]; then
2782
+ echo "[Clarify] [Layer 2] Too many operational failures — escalating" >&2
2783
+ _l2_exit_reason="operational"
2784
+ break
2785
+ fi
2786
+ clarify_attempt=$((clarify_attempt - 1)) # Don't consume retry budget
2787
+ continue
2788
+ fi
2789
+ _l2_failures=$(_build_structured_clarify_feedback "$spec_file" "$_l2_tmp" 2>/dev/null || true)
2790
+ rm -f "$_l2_tmp"
2791
+
2792
+ if [[ -z "$_l2_failures" ]]; then
2793
+ # No failures detected — try with last result
2794
+ _l2_failures="Missing mandatory sections or heading structure issues detected."
2795
+ fi
2796
+
2797
+ local patch_rc=0
2798
+ local patched_result=""
2799
+ patched_result=$(_run_clarify_incremental_patch "$spec_file" "$_l2_patch_base" "$_l2_failures") || patch_rc=$?
2800
+
2801
+ if [[ "$patch_rc" -eq 2 ]]; then
2802
+ _l2_op_failures=$((_l2_op_failures + 1))
2803
+ echo "[Clarify] [Layer 2] Operational failure ($_l2_op_failures) — not counting as retry" >&2
2804
+ if [[ "$_l2_op_failures" -ge 3 ]]; then
2805
+ echo "[Clarify] [Layer 2] Too many operational failures — escalating" >&2
2806
+ _l2_exit_reason="operational"
2807
+ break
2808
+ fi
2809
+ clarify_attempt=$((clarify_attempt - 1)) # Don't consume retry budget
2810
+ continue
2811
+ fi
2812
+
2813
+ # Non-operational outcome — reset consecutive operational failure counter
2814
+ _l2_op_failures=0
2815
+
2816
+ if [[ "$patch_rc" -eq 0 && -n "$patched_result" ]]; then
2817
+ patched_result=$(ensure_heading_start "$patched_result" "# Spec: $ISSUE_TITLE")
2818
+ if safe_write_with_validation "$spec_file" "$patched_result" --type spec; then
2819
+ clarify_status="success-layer2"
2820
+ clarify_layer_used="layer2"
2821
+ echo "[Clarify] [Layer 2] ✓ Incremental patching succeeded after attempt $clarify_attempt" >&2
2822
+ break
2823
+ fi
2824
+ # safe_write_with_validation failed after _run_clarify_incremental_patch
2825
+ # already validated the content — this is an I/O/persistence error, not
2826
+ # a validation failure. Fail fast rather than consuming retry budget.
2827
+ echo "Error: [Clarify] [Layer 2] Persistence failure writing validated content to $spec_file. Original spec.md preserved." >&2
2828
+ return 1
2829
+ fi
2830
+
2831
+ echo "[Clarify] [Layer 2] Attempt $clarify_attempt failed" >&2
2832
+ done
2833
+
2834
+ if [[ "$clarify_status" != "success-layer2" ]]; then
2835
+ if [[ "$_l2_exit_reason" == "operational" ]]; then
2836
+ echo "[Clarify] [Layer 2] Escalating due to repeated operational failures" >&2
2837
+ else
2838
+ echo "[Clarify] [Layer 2] Exhausted ($clarify_max_retries retries)" >&2
2839
+ fi
2840
+
2841
+ # Clear stale feedback before Layer 3
2842
+ clarify_retry_feedback=""
2843
+
2844
+ # ── Layer 3: Alternate Prompt Strategy ──────────────────────────
2845
+ echo "[Clarify] [Layer 3] Alternate prompt strategy (max $clarify_max_retries retries)" >&2
2846
+
2847
+ local _l3_op_failures=0
2848
+ local _l3_exit_reason="exhausted"
2849
+ for (( clarify_attempt=1; clarify_attempt<=clarify_max_retries + 1; clarify_attempt++ )); do
2850
+ echo "[Clarify] [Layer 3] Attempt $clarify_attempt/$((clarify_max_retries + 1))" >&2
2851
+
2852
+ local alt_rc=0
2853
+ local alt_result=""
2854
+ alt_result=$(_run_clarify_alternate_strategy "$spec_file" "$original_spec_content" "$section_headings" "$requirement_count") || alt_rc=$?
2855
+
2856
+ if [[ "$alt_rc" -eq 2 ]]; then
2857
+ _l3_op_failures=$((_l3_op_failures + 1))
2858
+ echo "[Clarify] [Layer 3] Operational failure ($_l3_op_failures) — not counting as retry" >&2
2859
+ if [[ "$_l3_op_failures" -ge 3 ]]; then
2860
+ echo "[Clarify] [Layer 3] Too many operational failures — escalating" >&2
2861
+ _l3_exit_reason="operational"
2862
+ break
2863
+ fi
2864
+ clarify_attempt=$((clarify_attempt - 1)) # Don't consume retry budget
2865
+ continue
2866
+ fi
2867
+
2868
+ # Non-operational outcome — reset consecutive operational failure counter
2869
+ _l3_op_failures=0
2870
+
2871
+ if [[ "$alt_rc" -eq 0 && -n "$alt_result" ]]; then
2872
+ alt_result=$(ensure_heading_start "$alt_result" "# Spec: $ISSUE_TITLE")
2873
+ if safe_write_with_validation "$spec_file" "$alt_result" --type spec; then
2874
+ clarify_status="success-layer3"
2875
+ clarify_layer_used="layer3"
2876
+ echo "[Clarify] [Layer 3] ✓ Alternate strategy succeeded after attempt $clarify_attempt" >&2
2877
+ break
2878
+ fi
2879
+ # safe_write_with_validation failed after _run_clarify_alternate_strategy
2880
+ # already validated the content — this is an I/O/persistence error, not
2881
+ # a validation failure. Fail fast rather than consuming retry budget.
2882
+ echo "Error: [Clarify] [Layer 3] Persistence failure writing validated content to $spec_file. Original spec.md preserved." >&2
2883
+ return 1
2884
+ fi
2885
+
2886
+ echo "[Clarify] [Layer 3] Attempt $clarify_attempt failed" >&2
2887
+ done
2888
+
2889
+ if [[ "$clarify_status" != "success-layer3" ]]; then
2890
+ if [[ "$_l3_exit_reason" == "operational" ]]; then
2891
+ echo "[Clarify] [Layer 3] Escalating due to repeated operational failures" >&2
2892
+ else
2893
+ echo "[Clarify] [Layer 3] Exhausted ($clarify_max_retries retries)" >&2
2894
+ fi
2895
+
2896
+ # ── Layer 4: Graceful Degradation ───────────────────────────
2897
+ echo "[Clarify] [Layer 4] Graceful degradation — preserving original spec.md" >&2
2898
+ echo "[Clarify] WARNING-FALLBACK: All remediation layers exhausted. Original spec.md preserved." >&2
2899
+ clarify_status="warning-fallback"
2900
+ clarify_layer_used="layer4"
2901
+ fi
2902
+ fi
2903
+ fi
2904
+
2905
+ # Write clarify_status and clarify_layer_used to GITHUB_OUTPUT
2906
+ echo "clarify_status=$clarify_status" >> "${GITHUB_OUTPUT:-/dev/stdout}"
2907
+ echo "clarify_layer_used=$clarify_layer_used" >> "${GITHUB_OUTPUT:-/dev/stdout}"
2908
+
2909
+ # If graceful degradation, return 0 without modifying the spec
2910
+ if [[ "$clarify_status" == "warning-fallback" ]]; then
2911
+ return 0
2912
+ fi
2913
+
2914
+ # --- Post-write: append model footer only after successful validation ---
2915
+ append_model_footer "$spec_file"
2916
+
2917
+ # --- Post-write: ensure ## Clarifications section exists (FR-005) ---
2918
+ if ! grep -q '^## Clarifications' "$spec_file"; then
2919
+ echo "Warning: LLM output missing ## Clarifications section. Appending minimal entry." >&2
2920
+ # Insert before the model footer using the same safe write path to avoid
2921
+ # destructive overwrites of the validated spec.
2922
+ local content updated_content
2923
+ content=$(strip_model_footer "$(cat "$spec_file")")
2924
+ updated_content=$(printf '%s\n\n## Clarifications\n\n### Session %s\n\n- Autonomous clarification pass completed. See inline updates for details.\n' "$content" "$today")
2925
+ if ! safe_write_with_validation "$spec_file" "$updated_content" --type spec; then
2926
+ echo "Error: Failed to safely append missing ## Clarifications section. Original spec.md preserved." >&2
2927
+ return 1
2928
+ fi
2929
+ append_model_footer "$spec_file"
2930
+ fi
2931
+
2932
+ # --- Post-write: warn about remaining [NEEDS CLARIFICATION] markers ---
2933
+ local remaining_markers
2934
+ remaining_markers=$(grep -c '\[NEEDS CLARIFICATION\]' "$spec_file" 2>/dev/null || echo "0")
2935
+ if [[ "$remaining_markers" -gt 0 ]]; then
2936
+ echo "Warning: $remaining_markers [NEEDS CLARIFICATION] marker(s) remain in spec.md after clarification." >&2
2937
+ fi
2938
+ }
2939
+
2940
+ # ---------------------------------------------------------------------------
2941
+ # run_checklist_phase
2942
+ #
2943
+ # Generates an LLM-based specification quality checklist tailored to the
2944
+ # actual spec content. Writes to checklists/requirements.md.
2945
+ # ---------------------------------------------------------------------------
2946
+ run_checklist_phase() {
2947
+ local spec_content
2948
+ spec_content=$(strip_model_footer "$(cat "$SPEC_DIR/spec.md")")
2949
+
2950
+ local checklist_file="$SPEC_DIR/checklists/requirements.md"
2951
+ local existing_checklist=false
2952
+
2953
+ # --- Conditional pre-flight: only apply backup/validation if file exists ---
2954
+ if [[ -f "$checklist_file" ]] && [[ -s "$checklist_file" ]]; then
2955
+ existing_checklist=true
2956
+ fi
2957
+
2958
+ local checklist_preservation_rules=""
2959
+ if [[ "$existing_checklist" == "true" ]]; then
2960
+ local existing_content
2961
+ existing_content=$(strip_model_footer "$(cat "$checklist_file")")
2962
+ local existing_item_count
2963
+ existing_item_count=$(count_checklist_items "$checklist_file")
2964
+ local existing_headings
2965
+ existing_headings=$(extract_section_headings "$checklist_file")
2966
+
2967
+ checklist_preservation_rules="
2968
+ CRITICAL PRESERVATION RULES:
2969
+ - An existing checklist already exists with $existing_item_count checklist items
2970
+ - You MUST preserve ALL existing checklist items (- [ ] and - [x] and - [X] items)
2971
+ - You MUST preserve ALL existing section headings
2972
+ - You MAY add new checklist items, but you MUST NOT remove or omit any existing ones
2973
+ - Every section heading from the existing checklist MUST appear in your output
2974
+
2975
+ EXISTING CHECKLIST CROSS-REFERENCE:
2976
+ Section headings to preserve:
2977
+ $existing_headings
2978
+ Existing checklist item count: $existing_item_count (ALL must be retained)
2979
+
2980
+ EXISTING CHECKLIST CONTENT:
2981
+ $existing_content
2982
+ "
2983
+ fi
2984
+
2985
+ local prompt
2986
+ prompt="Generate a specification quality checklist for the following feature specification.
2987
+ $checklist_preservation_rules
2988
+ The checklist must follow this structure:
2989
+
2990
+ # Specification Quality Checklist: [Feature Name from the spec]
2991
+
2992
+ **Purpose**: Validate specification completeness before proceeding to planning
2993
+ **Created**: $(date +%Y-%m-%d)
2994
+ **Feature**: [spec.md](../spec.md)
2995
+ **Source Issue**: #$ISSUE_NUMBER
2996
+
2997
+ ## Content Quality
2998
+ - [ ] CHK001 [Specific check derived from the spec content about user value focus]
2999
+ - [ ] CHK002 [Specific check about user story format]
3000
+ - [ ] CHK003 [Specific check about priority assignment]
3001
+ - [ ] CHK004 [Specific check about no implementation details in requirements]
3002
+
3003
+ ## Requirement Completeness
3004
+ - [ ] CHK005 [Specific check about testability of user stories]
3005
+ - [ ] CHK006 [Specific check about edge case documentation]
3006
+ - [ ] CHK007 [Specific check about acceptance scenario format]
3007
+ - [ ] CHK008 [Specific check about measurable success criteria]
3008
+ - [ ] CHK009 [Specific check about scope boundaries]
3009
+ - [ ] CHK010 [Specific check about dependencies and assumptions]
3010
+
3011
+ ## Feature Readiness
3012
+ - [ ] CHK011 [Specific check about functional requirements having acceptance criteria]
3013
+ - [ ] CHK012 [Specific check about user scenario coverage]
3014
+ - [ ] CHK013 [Specific check about measurable outcomes in success criteria]
3015
+ - [ ] CHK014 [Specific check about no implementation details leaking into spec]
3016
+
3017
+ ## Notes
3018
+ - This checklist was generated from the specification content for issue #$ISSUE_NUMBER
3019
+ - Items marked incomplete require spec updates before proceeding to planning
3020
+
3021
+ Make each checklist item SPECIFIC to the actual content of this specification — reference specific user stories, requirements, or sections by name where appropriate. Do NOT use generic placeholder text.
3022
+
3023
+ Output ONLY the markdown checklist, no commentary, no code fences.
3024
+
3025
+ ## Specification Content
3026
+ $spec_content
3027
+
3028
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
3029
+ WRONG: \"Spec created at specs/...\"
3030
+ WRONG: \"Here is the updated specification...\"
3031
+ WRONG: \"Certainly! Here is...\"
3032
+ CORRECT: \"# Specification Quality Checklist: Feature Name\"
3033
+ Do NOT include any conversational preamble before the heading."
3034
+
3035
+ local result
3036
+ result=$(call_llm "$prompt") || return 1
3037
+ if [[ -z "$result" ]]; then
3038
+ echo "Error: Checklist phase returned empty content" >&2
3039
+ return 1
3040
+ fi
3041
+ result=$(strip_llm_preamble "$result" "# ")
3042
+ if [[ -z "${result//[[:space:]]/}" ]]; then
3043
+ echo "Error: Checklist phase returned blank content after preamble stripping" >&2
3044
+ return 1
3045
+ fi
3046
+ result=$(ensure_heading_start "$result" "# Specification Quality Checklist")
3047
+
3048
+ if [[ "$existing_checklist" == "true" ]]; then
3049
+ # --- Safe write with validation for existing checklist ---
3050
+ if ! safe_write_with_validation "$checklist_file" "$result" --type checklist; then
3051
+ echo "Error: Checklist phase output failed structural validation. Original checklist preserved." >&2
3052
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3053
+ _emit_validation_errors "2" "checklist" "MISSING_SECTIONS: checklist output failed structural validation"
3054
+ return 1
3055
+ fi
3056
+ else
3057
+ # --- First-time creation: no baseline to compare, but still write safely ---
3058
+ local tmp_checklist_file="${checklist_file}.tmp"
3059
+ rm -f "$tmp_checklist_file"
3060
+ if ! printf '%s\n' "$result" > "$tmp_checklist_file"; then
3061
+ echo "Error: Failed to write initial checklist to temporary file: $tmp_checklist_file" >&2
3062
+ rm -f "$tmp_checklist_file"
3063
+ return 1
3064
+ fi
3065
+ if ! mv "$tmp_checklist_file" "$checklist_file"; then
3066
+ echo "Error: Failed to move initial checklist into place: $checklist_file" >&2
3067
+ rm -f "$tmp_checklist_file"
3068
+ return 1
3069
+ fi
3070
+ fi
3071
+
3072
+ append_model_footer "$checklist_file"
3073
+ }
3074
+
3075
+ # ---------------------------------------------------------------------------
3076
+ # _derive_plan_artifact_heading <filename>
3077
+ #
3078
+ # Maps a plan-phase artifact filename to an appropriate default heading.
3079
+ # Prints the heading to stdout.
3080
+ # ---------------------------------------------------------------------------
3081
+ _derive_plan_artifact_heading() {
3082
+ local file="$1"
3083
+ case "$file" in
3084
+ plan.md) echo "# Implementation Plan" ;;
3085
+ research.md) echo "# Technical Research" ;;
3086
+ data-model.md) echo "# Data Model" ;;
3087
+ quickstart.md) echo "# Quick Start Guide" ;;
3088
+ contracts/*.md) echo "# API Contract: $(basename "$file" .md)" ;;
3089
+ *) echo "# $(basename "$file" .md)" ;;
3090
+ esac
3091
+ }
3092
+
3093
+ # ---------------------------------------------------------------------------
3094
+ # run_plan_phase
3095
+ #
3096
+ # Generates plan.md and optional artifacts (research.md, data-model.md,
3097
+ # contracts/*, quickstart.md) using artifact delimiters.
3098
+ #
3099
+ # Context budget enforcement: before calling the LLM, the spec content is
3100
+ # passed through the Python budget module to ensure it fits within the
3101
+ # configured context budget (default: 32,000 chars, override via
3102
+ # AGDT_PLAN_CONTEXT_BUDGET). If the content is too large, deterministic
3103
+ # reduction stages are applied (strip markdown → remove images → collapse
3104
+ # whitespace → hard truncate → summary-only).
3105
+ # ---------------------------------------------------------------------------
3106
+ run_plan_phase() {
3107
+ local spec_content
3108
+ spec_content=$(strip_model_footer "$(cat "$SPEC_DIR/spec.md")")
3109
+
3110
+ # --- Context budget enforcement ---
3111
+ local budget_args=()
3112
+ local budget_value="${AGDT_PLAN_CONTEXT_BUDGET:-}"
3113
+ if [[ -n "$budget_value" ]]; then
3114
+ # Validate that the value is a positive integer (strip leading zeros to avoid octal)
3115
+ if [[ "$budget_value" =~ ^[0-9]+$ ]] && (( 10#$budget_value > 0 )); then
3116
+ budget_args+=(--budget "$budget_value")
3117
+ else
3118
+ echo "Warning: AGDT_PLAN_CONTEXT_BUDGET='$budget_value' is not a valid positive integer. Using default." >&2
3119
+ fi
3120
+ fi
3121
+
3122
+ local budget_stderr_file
3123
+ budget_stderr_file=$(mktemp /tmp/budget_stderr.XXXXXX) || {
3124
+ echo "Error: Failed to create temp file for budget stderr capture." >&2
3125
+ return 1
3126
+ }
3127
+ local budget_content=""
3128
+ local budget_exit_code=0
3129
+ budget_content=$(printf '%s' "$spec_content" | python "$SCRIPT_DIR/enforce_budget.py" "${budget_args[@]}" 2>"$budget_stderr_file") || budget_exit_code=$?
3130
+ local budget_stderr=""
3131
+ budget_stderr=$(cat "$budget_stderr_file" 2>/dev/null || echo "")
3132
+ rm -f "$budget_stderr_file"
3133
+
3134
+ if [[ $budget_exit_code -ne 0 ]]; then
3135
+ echo "Error: Context budget enforcement failed for plan phase." >&2
3136
+ if [[ -n "$budget_stderr" ]]; then
3137
+ echo "$budget_stderr" >&2
3138
+ fi
3139
+ return 1
3140
+ fi
3141
+
3142
+ # Emit budget diagnostics
3143
+ if [[ -n "$budget_stderr" ]]; then
3144
+ echo "$budget_stderr" >&2
3145
+ fi
3146
+
3147
+ # Use budget-compliant content for the prompt
3148
+ spec_content="$budget_content"
3149
+
3150
+ local prompt
3151
+ prompt="You are a technical implementation planner. Based on the following feature specification, produce a comprehensive implementation plan.
3152
+
3153
+ Your output must contain multiple artifacts separated by delimiter lines. Use EXACTLY this delimiter format on its own line:
3154
+ ===ARTIFACT:<filename>===
3155
+
3156
+ You MUST produce at least:
3157
+ - plan.md — the main implementation plan
3158
+
3159
+ You SHOULD also produce these artifacts when relevant:
3160
+ - research.md — technical research and decisions (produce this if there are unknowns, technology choices, or best practices to evaluate)
3161
+ - data-model.md — data entity definitions (produce this if the feature involves data entities, state, or persistence)
3162
+ - quickstart.md — quick-start guide for developers picking up this feature
3163
+
3164
+ You MAY produce contract files if the feature involves API endpoints:
3165
+ - contracts/<name>.md — API contract definitions (one per major API area)
3166
+
3167
+ ## Plan Structure (plan.md)
3168
+ Follow this structure:
3169
+ 1. **Technical Context** — technology stack, key dependencies, architecture decisions
3170
+ 2. **Research Summary** — reference research.md if produced; list key decisions made
3171
+ 3. **Design Overview** — high-level architecture for this feature
3172
+ 4. **Implementation Phases** — ordered phases with clear deliverables
3173
+ 5. **Risk Assessment** — potential risks and mitigations
3174
+ 6. **Dependencies** — external and internal dependencies
3175
+
3176
+ ## Research Structure (research.md)
3177
+ For each topic researched:
3178
+ - **Decision**: [choice made]
3179
+ - **Rationale**: [why chosen]
3180
+ - **Alternatives considered**: [what else was evaluated]
3181
+
3182
+ ## Data Model Structure (data-model.md)
3183
+ For each entity:
3184
+ - Entity name, fields, types, validation rules
3185
+ - Relationships between entities
3186
+ - State transitions (if applicable)
3187
+
3188
+ ## Output Format
3189
+ Start each artifact with its delimiter line. Example:
3190
+ ===ARTIFACT:plan.md===
3191
+ (plan content here)
3192
+ ===ARTIFACT:research.md===
3193
+ (research content here)
3194
+
3195
+ Output ONLY the artifact content with delimiters. No commentary outside artifacts, no code fences around the entire output.
3196
+
3197
+ ## Markdown Formatting Rules
3198
+ - ALWAYS include a language identifier on fenced code blocks (e.g., \`\`\`python, \`\`\`bash, \`\`\`text). NEVER use bare \`\`\` without a language.
3199
+ - In markdown tables, ensure EVERY row has the SAME number of columns as the header row. Pad with empty cells if needed.
3200
+ - Keep lines under 200 characters where possible; break at natural points (after punctuation, between clauses).
3201
+
3202
+ ## Feature Specification
3203
+ $spec_content
3204
+
3205
+ CRITICAL: Each artifact MUST begin with a markdown heading on the very first line after its delimiter.
3206
+ WRONG: \"Here is the plan...\"
3207
+ WRONG: \"Certainly! Here is...\"
3208
+ CORRECT: \"# Implementation Plan\"
3209
+ Do NOT include any conversational preamble before the heading in any artifact."
3210
+
3211
+ local response
3212
+ response=$(call_llm "$prompt") || return 1
3213
+
3214
+ # Parse artifacts from delimiter-separated response
3215
+ local current_file=""
3216
+ local current_content=""
3217
+
3218
+ while IFS= read -r line; do
3219
+ if [[ "$line" =~ ^===ARTIFACT:(.+)===$ ]]; then
3220
+ # Write previous artifact if any
3221
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
3222
+ local _plan_heading
3223
+ _plan_heading=$(_derive_plan_artifact_heading "$current_file")
3224
+ current_content=$(strip_llm_preamble "$current_content" "# ")
3225
+ if [[ -z "${current_content//[[:space:]]/}" ]]; then
3226
+ echo "[Sanitize] ⚠ Plan artifact '$current_file' is blank after preamble stripping — skipping" >&2
3227
+ else
3228
+ current_content=$(ensure_heading_start "$current_content" "$_plan_heading")
3229
+ # Ensure parent directory exists (for contracts/ subdirectory)
3230
+ mkdir -p "$SPEC_DIR/$(dirname "$current_file")"
3231
+ printf '%s\n' "$current_content" > "$SPEC_DIR/$current_file"
3232
+ append_model_footer "$SPEC_DIR/$current_file"
3233
+ echo " → Wrote $current_file"
3234
+ fi
3235
+ fi
3236
+ # Trim leading/trailing whitespace from captured filename
3237
+ current_file="${BASH_REMATCH[1]}"
3238
+ current_file="${current_file#"${current_file%%[![:space:]]*}"}"
3239
+ current_file="${current_file%"${current_file##*[![:space:]]}"}"
3240
+ # Validate filename: reject path traversal, absolute paths,
3241
+ # trailing slashes (directory paths), and characters outside
3242
+ # the expected alphanumeric + ._-/ set
3243
+ if [[ "$current_file" == /* || "$current_file" == *..* || -z "$current_file" ]]; then
3244
+ echo "Warning: Skipping invalid artifact filename: $current_file" >&2
3245
+ current_file=""
3246
+ elif [[ "$current_file" == */ ]]; then
3247
+ echo "Warning: Skipping directory-path artifact filename: $current_file" >&2
3248
+ current_file=""
3249
+ elif [[ ! "$current_file" =~ ^[A-Za-z0-9._/-]+$ ]]; then
3250
+ echo "Warning: Skipping artifact filename with invalid characters: $current_file" >&2
3251
+ current_file=""
3252
+ elif [[ -d "$SPEC_DIR/$current_file" ]]; then
3253
+ echo "Warning: Skipping artifact filename that collides with existing directory: $current_file" >&2
3254
+ current_file=""
3255
+ fi
3256
+ current_content=""
3257
+ else
3258
+ if [[ -n "$current_file" ]]; then
3259
+ if [[ -n "$current_content" ]]; then
3260
+ current_content="$current_content
3261
+ $line"
3262
+ else
3263
+ current_content="$line"
3264
+ fi
3265
+ fi
3266
+ fi
3267
+ done <<< "$response"
3268
+
3269
+ # Write the last artifact
3270
+ if [[ -n "$current_file" && -n "$current_content" ]]; then
3271
+ local _plan_heading_last
3272
+ _plan_heading_last=$(_derive_plan_artifact_heading "$current_file")
3273
+ current_content=$(strip_llm_preamble "$current_content" "# ")
3274
+ if [[ -z "${current_content//[[:space:]]/}" ]]; then
3275
+ echo "[Sanitize] ⚠ Plan artifact '$current_file' is blank after preamble stripping — skipping" >&2
3276
+ else
3277
+ current_content=$(ensure_heading_start "$current_content" "$_plan_heading_last")
3278
+ mkdir -p "$SPEC_DIR/$(dirname "$current_file")"
3279
+ printf '%s\n' "$current_content" > "$SPEC_DIR/$current_file"
3280
+ append_model_footer "$SPEC_DIR/$current_file"
3281
+ echo " → Wrote $current_file"
3282
+ fi
3283
+ fi
3284
+
3285
+ # Verify plan.md was produced and is non-empty (required artifact)
3286
+ if [[ ! -s "$SPEC_DIR/plan.md" ]]; then
3287
+ echo "Error: Plan phase did not produce a non-empty plan.md" >&2
3288
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3289
+ _emit_validation_errors "3" "plan" "MISSING_FILE: plan.md was not produced"
3290
+ return 1
3291
+ fi
3292
+ }
3293
+
3294
+ # ---------------------------------------------------------------------------
3295
+ # resolve_parent_context <spec_dir>
3296
+ #
3297
+ # Resolves parent feature's spec.md and plan.md for task-level context injection.
3298
+ # Reads hierarchy.yml in the given spec directory, finds the parent issue's
3299
+ # spec directory, and reads its spec.md and plan.md.
3300
+ #
3301
+ # Sets global variables:
3302
+ # PARENT_SPEC_CONTENT - Content of parent's spec.md (empty if not found)
3303
+ # PARENT_PLAN_CONTENT - Content of parent's plan.md (empty if not found)
3304
+ # PARENT_CONTEXT_STATUS - "complete" if both found, "partial" otherwise
3305
+ #
3306
+ # Returns:
3307
+ # 0 - on success (even with partial context)
3308
+ # 1 - on ambiguous directory match (multiple dirs for same parent number)
3309
+ # ---------------------------------------------------------------------------
3310
+ resolve_parent_context() {
3311
+ local spec_dir="$1"
3312
+ local hierarchy_file="$spec_dir/hierarchy.yml"
3313
+
3314
+ PARENT_SPEC_CONTENT=""
3315
+ PARENT_PLAN_CONTENT=""
3316
+ PARENT_CONTEXT_STATUS="partial"
3317
+
3318
+ if [[ ! -f "$hierarchy_file" ]]; then
3319
+ echo "Warning: No hierarchy.yml found in $spec_dir" >&2
3320
+ return 0
3321
+ fi
3322
+
3323
+ # Parse parent field (strip optional leading #, normalize to integer)
3324
+ local parent_raw parent_number
3325
+ parent_raw=$(awk '
3326
+ /^[[:space:]]*parent:[[:space:]]*/ {
3327
+ line = $0
3328
+ sub(/^[[:space:]]*parent:[[:space:]]*/, "", line)
3329
+
3330
+ # Preserve "#" when value is quoted (e.g., parent: "#1859")
3331
+ if (line ~ /^"/) {
3332
+ sub(/^"/, "", line)
3333
+ sub(/".*$/, "", line)
3334
+ } else if (line ~ /^'\''/) {
3335
+ sub(/^'\''/, "", line)
3336
+ sub(/'\''.*$/, "", line)
3337
+ } else {
3338
+ # For unquoted values, treat " # ..." as an inline YAML comment
3339
+ sub(/[[:space:]]+#.*/, "", line)
3340
+ }
3341
+
3342
+ gsub(/^[[:space:]]+|[[:space:]]+$/, "", line)
3343
+ print line
3344
+ exit
3345
+ }
3346
+ ' "$hierarchy_file")
3347
+ parent_number="${parent_raw#\#}"
3348
+ # Strip leading/trailing whitespace
3349
+ parent_number="$(echo "$parent_number" | tr -d '[:space:]')"
3350
+
3351
+ if [[ -z "$parent_number" ]]; then
3352
+ echo "Warning: No valid parent value found in $hierarchy_file" >&2
3353
+ return 0
3354
+ fi
3355
+ if [[ ! "$parent_number" =~ ^[0-9]+$ ]]; then
3356
+ echo "Warning: Parent value must be numeric in $hierarchy_file (got: $parent_raw)" >&2
3357
+ return 0
3358
+ fi
3359
+ parent_number=$((10#$parent_number))
3360
+
3361
+ echo "Resolving parent context for parent issue #$parent_number"
3362
+
3363
+ # Search SPEC_BASE_PATH for matching directory (bounded depth for nested layouts)
3364
+ local matches=()
3365
+ while IFS= read -r -d '' dir; do
3366
+ matches+=("$dir")
3367
+ done < <(find "$REPO_ROOT/$SPEC_BASE_PATH" -maxdepth 3 -type d \
3368
+ \( -name "${parent_number}" -o -name "${parent_number}-*" \) -print0 2>/dev/null)
3369
+
3370
+ if [[ ${#matches[@]} -gt 1 ]]; then
3371
+ echo "Error: Ambiguous parent directory resolution for parent=$parent_number:" >&2
3372
+ printf ' %s\n' "${matches[@]}" >&2
3373
+ return 1
3374
+ fi
3375
+
3376
+ if [[ ${#matches[@]} -eq 0 ]]; then
3377
+ echo "Warning: No parent directory found for parent=$parent_number in $REPO_ROOT/$SPEC_BASE_PATH" >&2
3378
+ return 0
3379
+ fi
3380
+
3381
+ local parent_dir="${matches[0]}"
3382
+ echo "Found parent directory: $parent_dir"
3383
+
3384
+ # Read parent spec.md
3385
+ if [[ -f "$parent_dir/spec.md" ]]; then
3386
+ PARENT_SPEC_CONTENT=$(strip_model_footer "$(cat "$parent_dir/spec.md")")
3387
+ echo " ✓ Loaded parent spec.md ($(wc -c < "$parent_dir/spec.md") bytes)"
3388
+ else
3389
+ echo "Warning: Parent spec.md not found at $parent_dir/spec.md" >&2
3390
+ fi
3391
+
3392
+ # Read parent plan.md
3393
+ if [[ -f "$parent_dir/plan.md" ]]; then
3394
+ PARENT_PLAN_CONTENT=$(strip_model_footer "$(cat "$parent_dir/plan.md")")
3395
+ echo " ✓ Loaded parent plan.md ($(wc -c < "$parent_dir/plan.md") bytes)"
3396
+ else
3397
+ echo "Warning: Parent plan.md not found at $parent_dir/plan.md" >&2
3398
+ fi
3399
+
3400
+ # Determine context completeness
3401
+ if [[ -n "$PARENT_SPEC_CONTENT" && -n "$PARENT_PLAN_CONTENT" ]]; then
3402
+ PARENT_CONTEXT_STATUS="complete"
3403
+ fi
3404
+
3405
+ echo "Parent context status: $PARENT_CONTEXT_STATUS"
3406
+ return 0
3407
+ }
3408
+
3409
+ # ---------------------------------------------------------------------------
3410
+ # run_tasks_phase
3411
+ #
3412
+ # Generates tasks.md from spec.md, plan.md, and any supporting artifacts.
3413
+ # ---------------------------------------------------------------------------
3414
+ run_tasks_phase() {
3415
+ local spec_content plan_content
3416
+
3417
+ # Task-level: spec.md/plan.md may not exist locally; use parent context (#1859)
3418
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
3419
+ if [[ -f "$SPEC_DIR/spec.md" ]]; then
3420
+ spec_content=$(strip_model_footer "$(cat "$SPEC_DIR/spec.md")")
3421
+ else
3422
+ spec_content="(No local spec.md — see Parent Feature Specification below)"
3423
+ fi
3424
+ if [[ -f "$SPEC_DIR/plan.md" ]]; then
3425
+ plan_content=$(strip_model_footer "$(cat "$SPEC_DIR/plan.md")")
3426
+ else
3427
+ plan_content="(No local plan.md — see Parent Feature Implementation Plan below)"
3428
+ fi
3429
+ else
3430
+ spec_content=$(strip_model_footer "$(cat "$SPEC_DIR/spec.md")")
3431
+ plan_content=$(strip_model_footer "$(cat "$SPEC_DIR/plan.md")")
3432
+ fi
3433
+
3434
+ # Include optional supporting artifacts if they exist
3435
+ local extra_context=""
3436
+ if [[ -f "$SPEC_DIR/research.md" ]]; then
3437
+ extra_context="$extra_context
3438
+
3439
+ ## Research Context
3440
+ $(strip_model_footer "$(cat "$SPEC_DIR/research.md")")"
3441
+ fi
3442
+ if [[ -f "$SPEC_DIR/data-model.md" ]]; then
3443
+ extra_context="$extra_context
3444
+
3445
+ ## Data Model Context
3446
+ $(strip_model_footer "$(cat "$SPEC_DIR/data-model.md")")"
3447
+ fi
3448
+ # Include API contracts so tasks can reference endpoints
3449
+ local contract_file
3450
+ if [[ -d "$SPEC_DIR/contracts" ]]; then
3451
+ for contract_file in "$SPEC_DIR"/contracts/*.md; do
3452
+ [[ -f "$contract_file" ]] || continue
3453
+ extra_context="$extra_context
3454
+
3455
+ ## API Contract: $(basename -- "$contract_file")
3456
+ $(strip_model_footer "$(cat "$contract_file")")"
3457
+ done
3458
+ fi
3459
+ if [[ -f "$SPEC_DIR/quickstart.md" ]]; then
3460
+ extra_context="$extra_context
3461
+
3462
+ ## Quickstart Context
3463
+ $(strip_model_footer "$(cat "$SPEC_DIR/quickstart.md")")"
3464
+ fi
3465
+
3466
+ # Task-level parent context injection (#1859, FR-003, AC-5)
3467
+ # When HIERARCHY_LEVEL=task, inject parent feature's spec.md and plan.md
3468
+ # as additional context for generating this task's slice of work.
3469
+ local parent_context=""
3470
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
3471
+ local resolve_status=0
3472
+ if resolve_parent_context "$SPEC_DIR"; then
3473
+ :
3474
+ else
3475
+ resolve_status=$?
3476
+ fi
3477
+ if [[ $resolve_status -ne 0 ]]; then
3478
+ echo "Warning: Parent context resolution returned non-zero ($resolve_status), continuing with partial context" >&2
3479
+ fi
3480
+ if [[ -n "$PARENT_SPEC_CONTENT" ]]; then
3481
+ parent_context="$parent_context
3482
+
3483
+ ## Parent Feature Specification
3484
+ > This task is a subtask of a parent feature. The parent's specification provides
3485
+ > the full feature context. Generate tasks ONLY for this specific task's scope,
3486
+ > not the entire parent feature.
3487
+
3488
+ $PARENT_SPEC_CONTENT"
3489
+ fi
3490
+ if [[ -n "$PARENT_PLAN_CONTENT" ]]; then
3491
+ parent_context="$parent_context
3492
+
3493
+ ## Parent Feature Implementation Plan
3494
+ > Reference this plan for architectural decisions and design patterns, but
3495
+ > generate tasks only for this task's scope.
3496
+
3497
+ $PARENT_PLAN_CONTENT"
3498
+ fi
3499
+ fi
3500
+
3501
+ local prompt
3502
+ prompt="You are a task breakdown specialist. Based on the following specification and implementation plan, generate a comprehensive task list.
3503
+
3504
+ ## Task Format Rules
3505
+ Each task must follow this EXACT format:
3506
+ \`\`\`
3507
+ - [ ] [TaskID] [P?] [Story?] Description with file path
3508
+ \`\`\`
3509
+ Where:
3510
+ - **Task ID**: Sequential (T001, T002, ...) in execution order
3511
+ - **[P] marker**: Include ONLY if the task is parallelizable (works on different files, no blocking dependencies)
3512
+ - **[Story] label**: [US1], [US2], etc. mapping to spec user stories. Setup/Foundational tasks have NO story label. User story tasks MUST have a story label.
3513
+ - **Description**: Clear action with exact file path where applicable
3514
+
3515
+ ## Phase Structure
3516
+ Organize tasks into these phases:
3517
+ 1. **Phase 1: Setup** — Project initialization, scaffolding (no story labels)
3518
+ 2. **Phase 2: Foundational** — Blocking prerequisites that must complete before user stories (no story labels)
3519
+ 3. **Phase 3+: User Stories** — One phase per user story in priority order (P1, P2, P3...)
3520
+ - Within each story: Tests → Models → Services → Endpoints → Integration
3521
+ 4. **Final Phase: Polish & Cross-Cutting** — Documentation, cleanup, integration tests (no story labels)
3522
+
3523
+ ## Rules
3524
+ - Map each task to the user story it serves
3525
+ - Mark dependencies between tasks
3526
+ - Tasks from API contracts → map to the user story the endpoint serves
3527
+ - Tasks from data model → map to the story(ies) that need the entity
3528
+ - Shared infrastructure → Setup or Foundational phase
3529
+
3530
+ Output ONLY the tasks.md content in markdown format. No commentary, no code fences around the entire output.
3531
+
3532
+ ## Markdown Formatting Rules
3533
+ - ALWAYS include a language identifier on fenced code blocks (e.g., \`\`\`bash, \`\`\`python, \`\`\`text). NEVER use bare \`\`\` without a language.
3534
+ - In markdown tables, ensure EVERY row has the SAME number of columns as the header row.
3535
+ - Keep lines under 200 characters where possible.
3536
+
3537
+ ## Feature Specification
3538
+ $spec_content
3539
+
3540
+ ## Implementation Plan
3541
+ $plan_content
3542
+ $extra_context
3543
+ $parent_context
3544
+
3545
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
3546
+ WRONG: \"Here are the tasks...\"
3547
+ WRONG: \"Certainly! Here is...\"
3548
+ CORRECT: \"# Tasks: Feature Name\"
3549
+ Do NOT include any conversational preamble before the heading."
3550
+
3551
+ # Append FR retry feedback if set by run_fr_validation_with_retry
3552
+ if [[ -n "${SPECKIT_FR_RETRY_FEEDBACK:-}" ]]; then
3553
+ prompt="$prompt
3554
+
3555
+ ## IMPORTANT: FR Coverage Feedback (Retry)
3556
+
3557
+ $SPECKIT_FR_RETRY_FEEDBACK
3558
+
3559
+ You MUST ensure that every FR identifier listed above appears at least once in the task descriptions."
3560
+ # Clear feedback after use so it doesn't persist across retries
3561
+ unset SPECKIT_FR_RETRY_FEEDBACK
3562
+ fi
3563
+
3564
+ # Append CRITICAL gate feedback if set by _run_critical_gate_remediation
3565
+ if [[ -n "${SPECKIT_CRITICAL_GATE_FEEDBACK:-}" ]]; then
3566
+ prompt="$prompt
3567
+
3568
+ ## IMPORTANT: CRITICAL Analysis Gate Feedback (Remediation)
3569
+
3570
+ $SPECKIT_CRITICAL_GATE_FEEDBACK
3571
+
3572
+ You MUST address ALL findings listed above. Failure to do so will cause the CRITICAL analysis gate to fail; in block mode the pipeline will abort."
3573
+ # Clear feedback after use so it doesn't persist across retries
3574
+ unset SPECKIT_CRITICAL_GATE_FEEDBACK
3575
+ fi
3576
+
3577
+ local result
3578
+ result=$(call_llm "$prompt") || return 1
3579
+ if [[ -z "$result" ]]; then
3580
+ echo "Error: Tasks phase returned empty content" >&2
3581
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3582
+ _emit_validation_errors "4" "tasks" "MISSING_FILE: tasks.md content was empty"
3583
+ return 1
3584
+ fi
3585
+ result=$(strip_llm_preamble "$result" "# ")
3586
+ if [[ -z "${result//[[:space:]]/}" ]]; then
3587
+ echo "Error: Tasks phase returned blank content after sanitization" >&2
3588
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3589
+ _emit_validation_errors "4" "tasks" "MISSING_FILE: tasks.md content was blank after sanitization"
3590
+ return 1
3591
+ fi
3592
+ result=$(ensure_heading_start "$result" "# Task List")
3593
+ printf '%s\n' "$result" > "$SPEC_DIR/tasks.md"
3594
+ append_model_footer "$SPEC_DIR/tasks.md"
3595
+ }
3596
+
3597
+ # ---------------------------------------------------------------------------
3598
+ # Resolve FR validation retry budget (single source of truth)
3599
+ # Precedence: --max-retries CLI arg > SPECKIT_VALIDATE_MAX_RETRIES env > default 2
3600
+ # ---------------------------------------------------------------------------
3601
+ if [[ -n "$MAX_RETRIES" ]]; then
3602
+ FR_VALIDATION_MAX_RETRIES="$MAX_RETRIES"
3603
+ elif [[ -n "${SPECKIT_VALIDATE_MAX_RETRIES:-}" ]]; then
3604
+ if [[ "$SPECKIT_VALIDATE_MAX_RETRIES" =~ ^[0-9]+$ ]]; then
3605
+ FR_VALIDATION_MAX_RETRIES="$SPECKIT_VALIDATE_MAX_RETRIES"
3606
+ else
3607
+ echo "Warning: ignoring invalid SPECKIT_VALIDATE_MAX_RETRIES='$SPECKIT_VALIDATE_MAX_RETRIES'; using default 2" >&2
3608
+ FR_VALIDATION_MAX_RETRIES=2
3609
+ fi
3610
+ else
3611
+ FR_VALIDATION_MAX_RETRIES=2
3612
+ fi
3613
+
3614
+ # ---------------------------------------------------------------------------
3615
+ # Resolve clarify phase retry budget (independent of FR validation)
3616
+ # Precedence: SPECKIT_CLARIFY_MAX_RETRIES env > default 2
3617
+ # ---------------------------------------------------------------------------
3618
+ if [[ -n "${SPECKIT_CLARIFY_MAX_RETRIES:-}" ]]; then
3619
+ if [[ "$SPECKIT_CLARIFY_MAX_RETRIES" =~ ^[0-9]+$ ]]; then
3620
+ CLARIFY_MAX_RETRIES="$SPECKIT_CLARIFY_MAX_RETRIES"
3621
+ else
3622
+ echo "Warning: ignoring invalid SPECKIT_CLARIFY_MAX_RETRIES='$SPECKIT_CLARIFY_MAX_RETRIES'; using default 2" >&2
3623
+ CLARIFY_MAX_RETRIES=2
3624
+ fi
3625
+ else
3626
+ CLARIFY_MAX_RETRIES=2
3627
+ fi
3628
+
3629
+ # ---------------------------------------------------------------------------
3630
+ # run_fr_validation
3631
+ #
3632
+ # Calls the Python FR coverage validator and captures JSON output to
3633
+ # $SPEC_DIR/fr-coverage.json. Stderr is captured to a temp file and
3634
+ # cleaned up on exit. Returns the validator exit code:
3635
+ # 0 = all FRs covered (or no FRs found — warning)
3636
+ # 1 = uncovered FRs detected
3637
+ # 2 = operational error
3638
+ # ---------------------------------------------------------------------------
3639
+ run_fr_validation() {
3640
+ echo ""
3641
+ echo "=== FR Coverage Validation ==="
3642
+ local fr_rc=0
3643
+ local fr_stderr_log
3644
+ fr_stderr_log=$(mktemp)
3645
+ agdt-speckit-validate-frs \
3646
+ --spec-file "$SPEC_DIR/spec.md" \
3647
+ --tasks-file "$SPEC_DIR/tasks.md" \
3648
+ --json \
3649
+ --max-retries "$FR_VALIDATION_MAX_RETRIES" \
3650
+ > "$SPEC_DIR/fr-coverage.json" \
3651
+ 2> "$fr_stderr_log" || fr_rc=$?
3652
+
3653
+ if [[ "$fr_rc" -eq 0 ]]; then
3654
+ echo "✓ FR coverage validation passed"
3655
+ rm -f "$fr_stderr_log"
3656
+ elif [[ "$fr_rc" -eq 1 ]]; then
3657
+ echo "✗ FR coverage validation failed — uncovered FRs detected" >&2
3658
+ cat "$SPEC_DIR/fr-coverage.json" >&2
3659
+ rm -f "$fr_stderr_log"
3660
+ elif [[ "$fr_rc" -eq 2 ]]; then
3661
+ echo "Error: FR coverage validation encountered an operational error" >&2
3662
+ if [[ -s "$fr_stderr_log" ]]; then
3663
+ echo "Validator stderr:" >&2
3664
+ cat "$fr_stderr_log" >&2
3665
+ fi
3666
+ rm -f "$fr_stderr_log"
3667
+ else
3668
+ echo "Error: FR coverage validator returned unexpected exit code: $fr_rc" >&2
3669
+ if [[ -s "$fr_stderr_log" ]]; then
3670
+ echo "Validator stderr:" >&2
3671
+ cat "$fr_stderr_log" >&2
3672
+ fi
3673
+ rm -f "$fr_stderr_log"
3674
+ fi
3675
+ return "$fr_rc"
3676
+ }
3677
+
3678
+ # ---------------------------------------------------------------------------
3679
+ # run_test_coverage_validation
3680
+ #
3681
+ # Calls the Python E.2 test coverage validator and captures JSON output to
3682
+ # $SPEC_DIR/test-coverage.json. Always returns 0 (non-blocking):
3683
+ # Validator exit 0 = all FRs have test tasks (no findings) → file written
3684
+ # Validator exit 1 = findings present (flows into analyze phase) → file written
3685
+ # Validator exit 2 = operational error → file removed to avoid downstream parse failures
3686
+ # ---------------------------------------------------------------------------
3687
+ run_test_coverage_validation() {
3688
+ echo ""
3689
+ echo "=== E.2 Test Coverage Validation ==="
3690
+ local tc_rc=0
3691
+ local tc_stderr_log
3692
+ local tc_tmp_output
3693
+ tc_stderr_log=$(mktemp)
3694
+ tc_tmp_output=$(mktemp)
3695
+ agdt-speckit-test-coverage \
3696
+ --spec-file "$SPEC_DIR/spec.md" \
3697
+ --tasks-file "$SPEC_DIR/tasks.md" \
3698
+ --json \
3699
+ > "$tc_tmp_output" \
3700
+ 2> "$tc_stderr_log" || tc_rc=$?
3701
+
3702
+ if [[ "$tc_rc" -eq 0 ]]; then
3703
+ mv "$tc_tmp_output" "$SPEC_DIR/test-coverage.json"
3704
+ echo "✓ Test coverage validation passed — all FRs have test tasks"
3705
+ rm -f "$tc_stderr_log"
3706
+ elif [[ "$tc_rc" -eq 1 ]]; then
3707
+ mv "$tc_tmp_output" "$SPEC_DIR/test-coverage.json"
3708
+ echo "⚠ Test coverage findings detected (non-blocking)" >&2
3709
+ rm -f "$tc_stderr_log"
3710
+ elif [[ "$tc_rc" -eq 2 ]]; then
3711
+ echo "Error: Test coverage validation encountered an operational error" >&2
3712
+ if [[ -s "$tc_stderr_log" ]]; then
3713
+ echo "Validator stderr:" >&2
3714
+ cat "$tc_stderr_log" >&2
3715
+ fi
3716
+ rm -f "$tc_stderr_log" "$tc_tmp_output" "$SPEC_DIR/test-coverage.json"
3717
+ else
3718
+ echo "Error: Test coverage validator returned unexpected exit code: $tc_rc" >&2
3719
+ if [[ -s "$tc_stderr_log" ]]; then
3720
+ echo "Validator stderr:" >&2
3721
+ cat "$tc_stderr_log" >&2
3722
+ fi
3723
+ rm -f "$tc_stderr_log" "$tc_tmp_output" "$SPEC_DIR/test-coverage.json"
3724
+ fi
3725
+ # Non-blocking: always returns 0; findings flow into the analyze phase
3726
+ return 0
3727
+ }
3728
+
3729
+ # ---------------------------------------------------------------------------
3730
+ # run_fr_validation_with_retry
3731
+ #
3732
+ # Runs FR validation against the current tasks.md and retries only when
3733
+ # uncovered FRs are reported.
3734
+ # The initial run_tasks_phase happens before this function is called; on each
3735
+ # retry after a validation failure, this function extracts uncovered FRs from
3736
+ # JSON and re-invokes run_tasks_phase with an augmented prompt listing the
3737
+ # missing FRs, then validates again.
3738
+ # Uses FR_VALIDATION_MAX_RETRIES as the retry budget.
3739
+ # ---------------------------------------------------------------------------
3740
+ run_fr_validation_with_retry() {
3741
+ local attempt=0
3742
+ local fr_rc=0
3743
+
3744
+ while true; do
3745
+ fr_rc=0
3746
+ run_fr_validation || fr_rc=$?
3747
+
3748
+ if [[ "$fr_rc" -eq 0 ]]; then
3749
+ return 0
3750
+ elif [[ "$fr_rc" -ne 1 ]]; then
3751
+ echo "Error: FR validation encountered an operational error (exit code: $fr_rc)" >&2
3752
+ return 2
3753
+ fi
3754
+
3755
+ # fr_rc == 1: uncovered FRs
3756
+ attempt=$((attempt + 1))
3757
+ if [[ "$attempt" -gt "$FR_VALIDATION_MAX_RETRIES" ]]; then
3758
+ echo "Error: FR coverage validation failed after $FR_VALIDATION_MAX_RETRIES retry attempt(s)" >&2
3759
+ echo "Uncovered FRs remain:" >&2
3760
+ if [[ -f "$SPEC_DIR/fr-coverage.json" ]]; then
3761
+ python3 -c "
3762
+ import json, sys
3763
+ data = json.load(open(sys.argv[1]))
3764
+ for fr in data.get('uncovered', []):
3765
+ print(f' - {fr}', file=sys.stderr)
3766
+ " "$SPEC_DIR/fr-coverage.json" 1>&2 || true
3767
+ fi
3768
+ return 1
3769
+ fi
3770
+
3771
+ echo ""
3772
+ echo "=== FR Coverage Retry ($attempt/$FR_VALIDATION_MAX_RETRIES) ==="
3773
+
3774
+ # Extract uncovered FRs for the retry prompt
3775
+ local uncovered_list=""
3776
+ if [[ -f "$SPEC_DIR/fr-coverage.json" ]]; then
3777
+ uncovered_list=$(python3 -c "
3778
+ import json, sys
3779
+ data = json.load(open(sys.argv[1]))
3780
+ print(', '.join(data.get('uncovered', [])))
3781
+ " "$SPEC_DIR/fr-coverage.json" 2>/dev/null || echo "")
3782
+ fi
3783
+
3784
+ echo "Re-running tasks phase with feedback about uncovered FRs: $uncovered_list"
3785
+
3786
+ # Set retry context for the tasks phase
3787
+ export SPECKIT_FR_RETRY_FEEDBACK="The following functional requirements from spec.md are NOT covered by any task in tasks.md: $uncovered_list. Please regenerate tasks.md ensuring every FR has at least one corresponding task."
3788
+
3789
+ COPILOT_TIMEOUT=900 run_tasks_phase || {
3790
+ echo "Error: Tasks phase failed during FR coverage retry" >&2
3791
+ return 1
3792
+ }
3793
+ done
3794
+ }
3795
+
3796
+ # ---------------------------------------------------------------------------
3797
+ # run_analyze_phase
3798
+ #
3799
+ # Cross-artifact consistency analysis producing analysis-report.md.
3800
+ # ---------------------------------------------------------------------------
3801
+ run_analyze_phase() {
3802
+ local spec_content plan_content tasks_content
3803
+ spec_content=$(strip_model_footer "$(cat "$SPEC_DIR/spec.md")")
3804
+ plan_content=$(strip_model_footer "$(cat "$SPEC_DIR/plan.md")")
3805
+ # Tolerate missing tasks.md for epic level (#1859, AC-1)
3806
+ if [[ -f "$SPEC_DIR/tasks.md" ]]; then
3807
+ tasks_content=$(strip_model_footer "$(cat "$SPEC_DIR/tasks.md")")
3808
+ else
3809
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "epic" ]]; then
3810
+ tasks_content="(No tasks.md — epic level does not produce task breakdowns)"
3811
+ echo "Analyze: Tolerating missing tasks.md (epic level)" >&2
3812
+ else
3813
+ echo "Error: tasks.md not found in $SPEC_DIR" >&2
3814
+ return 1
3815
+ fi
3816
+ fi
3817
+
3818
+ # Inject FR coverage data if available (produced by run_fr_validation)
3819
+ local fr_coverage_context=""
3820
+ if [[ -f "$SPEC_DIR/fr-coverage.json" ]]; then
3821
+ fr_coverage_context="
3822
+
3823
+ ## FR Coverage Data (Deterministic — Pre-Validated)
3824
+
3825
+ The following FR coverage data was produced by the deterministic FR validator
3826
+ (\`agdt-speckit-validate-frs\`). Report this data as-is in the Coverage Summary
3827
+ section. Do not re-evaluate FR coverage — use these results directly.
3828
+
3829
+ \`\`\`json
3830
+ $(cat "$SPEC_DIR/fr-coverage.json")
3831
+ \`\`\`
3832
+ "
3833
+ fi
3834
+
3835
+ # Inject test coverage data if available and non-empty (produced by run_test_coverage_validation)
3836
+ local test_coverage_context=""
3837
+ if [[ -s "$SPEC_DIR/test-coverage.json" ]]; then
3838
+ test_coverage_context="
3839
+
3840
+ ## E.2 Test Coverage Data (Deterministic — Pre-Validated)
3841
+
3842
+ The following test coverage data was produced by the deterministic E.2 validator
3843
+ (\`agdt-speckit-test-coverage\`). Report findings as-is in the E.2 Test Coverage
3844
+ section. Do not re-evaluate test coverage — use these results directly.
3845
+
3846
+ \`\`\`json
3847
+ $(cat "$SPEC_DIR/test-coverage.json")
3848
+ \`\`\`
3849
+ "
3850
+ fi
3851
+
3852
+ local prompt
3853
+ prompt="You are a specification quality analyst. Perform a cross-artifact consistency and quality analysis across the following specification, plan, and task list.
3854
+
3855
+ ## Detection Passes (run all seven, max 50 findings total)
3856
+
3857
+ | Pass | Focus |
3858
+ |------|-------|
3859
+ | **A. Duplication** | Near-duplicate requirements; mark lower-quality phrasing for consolidation |
3860
+ | **B. Ambiguity** | Vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria; unresolved placeholders (TODO, TKTK, ???) |
3861
+ | **C. Underspecification** | Requirements missing object/outcome; user stories missing acceptance criteria; tasks referencing undefined components |
3862
+ | **D. Constitution Alignment** | Missing mandated sections or quality gates |
3863
+ | **E. Coverage Gaps** | Requirements with zero tasks; tasks with no requirement mapping; non-functional requirements absent from tasks |
3864
+ | **F. Inconsistency** | Terminology drift; entities in plan but absent in spec; task ordering contradictions; conflicting requirements |
3865
+ | **G. Task Deduplication** | Duplicate, overlapping, or conflicting tasks in tasks.md (distinct from Category A which detects duplicate *requirements*) |
3866
+
3867
+ ### Category G: Task Deduplication Details
3868
+
3869
+ Compare tasks across three dimensions:
3870
+ 1. **Description similarity** — substantially same intent/outcome (not just keyword overlap)
3871
+ 2. **File path overlap** — majority (≥50%) of same files/directories targeted
3872
+ 3. **Code section overlap** — same function/class/method/section referenced
3873
+
3874
+ Classification and severity:
3875
+ - \`duplicate\` (same work, same scope) → CRITICAL
3876
+ - \`conflicting\` (contradictory outcomes) → CRITICAL
3877
+ - \`overlapping\` ≥2 dimensions match strongly → CRITICAL
3878
+ - \`overlapping\` exactly 1 dimension matches → HIGH
3879
+
3880
+ Grouping: Use transitive closure — if A overlaps B and B overlaps C, emit one finding for {A,B,C}. Highest severity wins.
3881
+
3882
+ Each finding must include: overlap_type, severity, task_ids (array of task ID strings, e.g. [\"T001\",\"T002\"]), dimensions (array of triggered dimension names from allowed values: \`description\`, \`file_path\`, \`code_section\`), rationale (≤500 chars).
3883
+
3884
+ Edge cases: Similar descriptions but different files → max HIGH; same file different sections → overlapping or no finding; broad-vs-narrow nesting → overlapping unless materially redundant; single-dimension evidence → max HIGH; contradictory verbs → conflicting.
3885
+
3886
+ Category G is READ-ONLY — do not merge/rewrite tasks. When Category G findings exist, emit a \`### Category G Structured Findings\` section after the findings table containing a valid JSON array of finding objects as raw JSON without Markdown code fences (schema: \`{id: string, overlap_type: \"duplicate\"|\"overlapping\"|\"conflicting\", severity: \"CRITICAL\"|\"HIGH\", task_ids: string[], dimensions: (\"description\"|\"file_path\"|\"code_section\")[], rationale: string}\`). The JSON array MUST be emitted directly — not wrapped in \`\`\`json fences — so downstream parsers can extract it without stripping fence markers.
3887
+
3888
+ ## Severity Levels
3889
+ - **CRITICAL**: Missing core artifact or zero-coverage requirement blocking baseline functionality; task deduplication — duplicate tasks, conflicting tasks, or multi-dimension overlap (≥2 dimensions)
3890
+ - **HIGH**: Duplicate/conflicting requirement; ambiguous security/performance; untestable acceptance criterion; task deduplication — single-dimension overlap
3891
+ - **MEDIUM**: Terminology drift; missing non-functional task coverage; underspecified edge case
3892
+ - **LOW**: Style/wording improvements; minor redundancy not affecting execution order
3893
+
3894
+ ## RESOLVED Finding Format Contract
3895
+ When a finding from a previous analysis has been addressed, change its Severity cell to:
3896
+ \`~~ORIGINAL_SEVERITY~~ → RESOLVED\`
3897
+
3898
+ This format is machine-parsed by the CRITICAL analysis gate. Examples:
3899
+ - CORRECT: \`| F-01 | ... | ~~CRITICAL~~ → RESOLVED | ... |\`
3900
+ - CORRECT: \`| F-02 | ... | ~~HIGH~~ → RESOLVED | ... |\`
3901
+ - INCORRECT: \`| F-01 | ... | ~~CRITICAL~~ | ... |\` (missing RESOLVED marker — gate treats as unresolved)
3902
+ - INCORRECT: \`| F-01 | ... | RESOLVED | ... |\` (missing strikethrough — gate cannot detect original severity)
3903
+
3904
+ ## Report Format
3905
+ Produce a compact Markdown analysis report with:
3906
+
3907
+ 1. **Findings Table**:
3908
+ | ID | Category | Severity | Location(s) | Summary | Recommendation |
3909
+ |----|----------|----------|-------------|---------|----------------|
3910
+
3911
+ 2. **Coverage Summary Table**:
3912
+ | Requirement Key | Has Task? | Task IDs | Notes |
3913
+ |----------------|-----------|----------|-------|
3914
+
3915
+ 3. **Metrics**:
3916
+ - Total Requirements
3917
+ - Total Tasks
3918
+ - Coverage %
3919
+ - Ambiguity Count
3920
+ - Requirement Duplication Count (Category A)
3921
+ - Critical Issues Count
3922
+ - Task Deduplication Finding Count
3923
+ - Task Deduplication by Type (duplicate / overlapping / conflicting)
3924
+ - Multi-Task Group Count (findings involving >2 tasks)
3925
+
3926
+ Output ONLY the analysis report in markdown format. No commentary, no code fences around the entire output.
3927
+
3928
+ ## Feature Specification
3929
+ $spec_content
3930
+
3931
+ ## Implementation Plan
3932
+ $plan_content
3933
+
3934
+ ## Task List
3935
+ $tasks_content
3936
+ $fr_coverage_context
3937
+ $test_coverage_context
3938
+ CRITICAL: Your output MUST begin with a markdown heading on the very first line.
3939
+ WRONG: \"Here is the analysis...\"
3940
+ WRONG: \"Certainly! Here is...\"
3941
+ CORRECT: \"# Analysis Report\"
3942
+ Do NOT include any conversational preamble before the heading."
3943
+
3944
+ local result
3945
+ result=$(call_llm "$prompt") || return 1
3946
+ if [[ -z "$result" ]]; then
3947
+ echo "Error: Analyze phase returned empty content" >&2
3948
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3949
+ _emit_validation_errors "5" "analyze" "MISSING_FILE: analysis-report.md content was empty"
3950
+ return 1
3951
+ fi
3952
+ result=$(strip_llm_preamble "$result" "# ")
3953
+ if [[ -z "${result//[[:space:]]/}" ]]; then
3954
+ echo "Error: Analyze phase returned blank content after preamble removal" >&2
3955
+ # Emit structured validation errors for downstream fallback consumption (FR-001)
3956
+ _emit_validation_errors "5" "analyze" "MISSING_FILE: analysis-report.md content was blank after preamble removal"
3957
+ return 1
3958
+ fi
3959
+ result=$(ensure_heading_start "$result" "# Analysis Report")
3960
+ printf '%s\n' "$result" > "$SPEC_DIR/analysis-report.md"
3961
+ append_model_footer "$SPEC_DIR/analysis-report.md"
3962
+ }
3963
+
3964
+ # ========================== Orchestration ====================================
3965
+
3966
+ # ---------------------------------------------------------------------------
3967
+ # run_single_phase <phase_number>
3968
+ #
3969
+ # Runs only the specified phase (1-5) and its markdownlint validation.
3970
+ # ---------------------------------------------------------------------------
3971
+ run_single_phase() {
3972
+ local phase="$1"
3973
+
3974
+ # Precondition checks: verify prerequisite artifacts exist for phases 2-5
3975
+ case "$phase" in
3976
+ 2)
3977
+ if [[ ! -f "$SPEC_DIR/spec.md" ]]; then
3978
+ echo "Error: $SPEC_DIR/spec.md not found. Phase 1 (specify) must be run first." >&2
3979
+ exit 1
3980
+ fi
3981
+ ;;
3982
+ 3)
3983
+ if [[ ! -f "$SPEC_DIR/spec.md" ]]; then
3984
+ echo "Error: $SPEC_DIR/spec.md not found. Phase 1 (specify) must be run first." >&2
3985
+ exit 1
3986
+ fi
3987
+ if [[ ! -f "$SPEC_DIR/checklists/requirements.md" ]]; then
3988
+ echo "Error: $SPEC_DIR/checklists/requirements.md not found. Phase 2 (clarify) must be run first." >&2
3989
+ exit 1
3990
+ fi
3991
+ ;;
3992
+ 4)
3993
+ # Task-level (HIERARCHY_LEVEL=task) skips phases 1-3, so plan.md
3994
+ # comes from the parent — it requires spec.md + plan.md as context
3995
+ # but resolves them via resolve_parent_context(), not local prereqs.
3996
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
3997
+ if [[ ! -f "$SPEC_DIR/spec.md" && ! -f "$SPEC_DIR/plan.md" ]]; then
3998
+ # Verify hierarchy.yml exists for parent resolution
3999
+ if [[ ! -f "$SPEC_DIR/hierarchy.yml" ]]; then
4000
+ echo "Warning: No hierarchy.yml in $SPEC_DIR — parent context resolution may fail" >&2
4001
+ fi
4002
+ echo "Task-level phase 4: Will resolve parent context for spec/plan" >&2
4003
+ fi
4004
+ else
4005
+ if [[ ! -f "$SPEC_DIR/plan.md" ]]; then
4006
+ echo "Error: $SPEC_DIR/plan.md not found. Phase 3 (plan) must be run first." >&2
4007
+ exit 1
4008
+ fi
4009
+ fi
4010
+ ;;
4011
+ 5)
4012
+ if [[ ! -f "$SPEC_DIR/tasks.md" ]]; then
4013
+ echo "Error: $SPEC_DIR/tasks.md not found. Phase 4 (tasks) must be run first." >&2
4014
+ exit 1
4015
+ fi
4016
+ ;;
4017
+ esac
4018
+
4019
+ # Emit default gate outputs for non-analyze phases so downstream
4020
+ # workflow if: conditions evaluate correctly (FR-012, T026)
4021
+ case "$phase" in
4022
+ 1|2|3|4)
4023
+ echo "gate_result=pass" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4024
+ echo "critical_count=0" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4025
+ ;;
4026
+ esac
4027
+
4028
+ case "$phase" in
4029
+ 1)
4030
+ echo ""
4031
+ echo "=== Phase 1: Specify ==="
4032
+ SPEC_CONTENT=$(run_specify_phase_with_validation_retries) || exit 1
4033
+
4034
+ printf '%s\n' "$SPEC_CONTENT" > "$SPEC_DIR/spec.md"
4035
+ append_model_footer "$SPEC_DIR/spec.md"
4036
+ log_file_header "Phase 1" "$SPEC_DIR/spec.md"
4037
+ echo "✓ Phase 1 complete: spec.md"
4038
+
4039
+ echo ""
4040
+ echo "=== Markdownlint Validation ==="
4041
+ quick_markdown_sanity_check "$SPEC_DIR"
4042
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed" >&2; exit 1; }
4043
+ echo "✓ Markdownlint validation complete"
4044
+ ;;
4045
+ 2)
4046
+ echo ""
4047
+ echo "=== Phase 2: Clarify + Checklist ==="
4048
+ run_clarify_phase || { echo "Error: Clarify phase failed after retries" >&2; exit 1; }
4049
+ # Post-clarify re-validation (FR-009): warn if spec no longer passes quality checks
4050
+ if [[ -f "$SPEC_DIR/spec.md" ]]; then
4051
+ _post_clarify_failures=""
4052
+ if ! _post_clarify_failures=$(validate_spec_quality "$SPEC_DIR/spec.md"); then
4053
+ echo "[Specify] ⚠️ Post-clarify re-validation warning: spec.md no longer passes structural checks" >&2
4054
+ echo "[Specify] Failures: $(printf '%s' "$_post_clarify_failures" | tr '\n' '; ')" >&2
4055
+ fi
4056
+ fi
4057
+ log_file_header "Phase 2" "$SPEC_DIR/spec.md"
4058
+ echo "✓ Clarify complete: spec.md updated"
4059
+ run_checklist_phase || { echo "Error: Checklist phase failed after retries" >&2; exit 1; }
4060
+ log_file_header "Phase 2" "$SPEC_DIR/checklists/requirements.md"
4061
+ echo "✓ Checklist complete: checklists/requirements.md"
4062
+
4063
+ echo ""
4064
+ echo "=== Markdownlint Validation ==="
4065
+ quick_markdown_sanity_check "$SPEC_DIR"
4066
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed" >&2; exit 1; }
4067
+ echo "✓ Markdownlint validation complete"
4068
+ ;;
4069
+ 3)
4070
+ echo ""
4071
+ echo "=== Phase 3: Plan ==="
4072
+ COPILOT_TIMEOUT=900 run_plan_phase || { echo "Error: Plan phase failed after retries" >&2; exit 1; }
4073
+ log_file_header "Phase 3" "$SPEC_DIR/plan.md"
4074
+ echo "✓ Phase 3 complete: plan.md (+ optional artifacts)"
4075
+
4076
+ echo ""
4077
+ echo "=== Markdownlint Validation ==="
4078
+ quick_markdown_sanity_check "$SPEC_DIR"
4079
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed" >&2; exit 1; }
4080
+ echo "✓ Markdownlint validation complete"
4081
+ ;;
4082
+ 4)
4083
+ echo ""
4084
+ echo "=== Phase 4: Tasks ==="
4085
+ COPILOT_TIMEOUT=900 run_tasks_phase || { echo "Error: Tasks phase failed after retries" >&2; exit 1; }
4086
+ log_file_header "Phase 4" "$SPEC_DIR/tasks.md"
4087
+ echo "✓ Phase 4 complete: tasks.md"
4088
+
4089
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
4090
+ echo "Skipping FR and E.2 validation for task-level tasks-only generation"
4091
+ else
4092
+ # FR coverage validation gate with retry loop
4093
+ fr_validation_rc=0
4094
+ run_fr_validation_with_retry || fr_validation_rc=$?
4095
+ if [[ "$fr_validation_rc" -ne 0 ]]; then
4096
+ echo "Error: FR coverage validation failed — tasks PR blocked" >&2
4097
+ exit "$fr_validation_rc"
4098
+ fi
4099
+
4100
+ # E.2 Test coverage validation (non-blocking — findings flow to analyze)
4101
+ run_test_coverage_validation
4102
+ fi
4103
+
4104
+ echo ""
4105
+ echo "=== Markdownlint Validation ==="
4106
+ quick_markdown_sanity_check "$SPEC_DIR"
4107
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed" >&2; exit 1; }
4108
+ echo "✓ Markdownlint validation complete"
4109
+ ;;
4110
+ 5)
4111
+ echo ""
4112
+ echo "=== Phase 5: Analyze ==="
4113
+ COPILOT_TIMEOUT=900 run_analyze_phase || { echo "Error: Analyze phase failed after retries" >&2; exit 1; }
4114
+ log_file_header "Phase 5" "$SPEC_DIR/analysis-report.md"
4115
+ echo "✓ Phase 5 complete: analysis-report.md"
4116
+
4117
+ # ── CRITICAL analysis gate (FR-009, phased path) ──────────
4118
+ echo ""
4119
+ echo "=== CRITICAL Analysis Gate ==="
4120
+ report_path="$SPEC_DIR/analysis-report.md"
4121
+ gate_mode="${SPECKIT_CRITICAL_GATE_MODE:-block}"
4122
+ gate_rc=0
4123
+ check_analysis_gate "$report_path" "$gate_mode" true || gate_rc=$?
4124
+
4125
+ if [[ "$gate_rc" -eq 10 ]]; then
4126
+ # Unresolved CRITICALs detected — attempt remediation
4127
+ if [[ "${SPECKIT_CRITICAL_GATE_REMEDIATION:-true}" == "true" ]]; then
4128
+ echo "=== CRITICAL Gate Remediation ===" >&2
4129
+ if _run_critical_gate_remediation "$SPEC_DIR" "$critical_findings_json"; then
4130
+ echo "✓ CRITICAL findings resolved via remediation (${critical_gate_remediation_layer:-unknown})" >&2
4131
+ echo "critical_gate_remediation_status=success-${critical_gate_remediation_layer:-layer1}" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4132
+ # Refresh gate outputs so downstream steps see gate_result=pass
4133
+ check_analysis_gate "$report_path" "$gate_mode" true >/dev/null 2>&1 || true
4134
+ else
4135
+ # Remediation failed — fall through to mode check
4136
+ echo "critical_gate_remediation_status=failed" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4137
+ if [[ "$gate_mode" == "draft" ]]; then
4138
+ echo "⚠ CRITICAL findings detected — draft mode: continuing to markdownlint" >&2
4139
+ else
4140
+ echo "Error: CRITICAL analysis gate failed — aborting (block mode)" >&2
4141
+ exit 1
4142
+ fi
4143
+ fi
4144
+ else
4145
+ echo "critical_gate_remediation_status=skipped" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4146
+ if [[ "$gate_mode" == "draft" ]]; then
4147
+ echo "⚠ CRITICAL findings detected — draft mode: continuing to markdownlint" >&2
4148
+ else
4149
+ echo "Error: CRITICAL analysis gate failed — aborting (block mode)" >&2
4150
+ exit 1
4151
+ fi
4152
+ fi
4153
+ elif [[ "$gate_rc" -eq 20 ]]; then
4154
+ echo "Error: CRITICAL analysis gate failed — report missing or malformed" >&2
4155
+ exit 1
4156
+ elif [[ "$gate_rc" -ne 0 ]]; then
4157
+ echo "Error: CRITICAL analysis gate failed — unexpected return code: $gate_rc" >&2
4158
+ exit 1
4159
+ fi
4160
+
4161
+ echo ""
4162
+ echo "=== Markdownlint Validation ==="
4163
+ quick_markdown_sanity_check "$SPEC_DIR"
4164
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed" >&2; exit 1; }
4165
+ echo "✓ Markdownlint validation complete"
4166
+ ;;
4167
+ *)
4168
+ echo "Error: Unknown phase '$phase'" >&2
4169
+ exit 1
4170
+ ;;
4171
+ esac
4172
+ }
4173
+
4174
+ if [[ -n "$PHASE" ]]; then
4175
+ echo "=== SpecKit: Running Phase $PHASE Only ==="
4176
+ run_single_phase "$PHASE"
4177
+ else
4178
+ # Run all phases sequentially (backward compatible)
4179
+ # Phase-skip guards for hierarchy levels (#1859)
4180
+ # Epic: skip tasks (5/7) + FR/test-coverage validation
4181
+ # Task: skip specify (1/7), clarify (2/7), checklist (3/7), plan (4/7), analyze (6/7)
4182
+ _skip_specify=false; _skip_clarify=false; _skip_checklist=false
4183
+ _skip_plan=false; _skip_tasks=false; _skip_analyze=false
4184
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "epic" ]]; then
4185
+ _skip_tasks=true
4186
+ echo "Level-aware: Skipping Tasks phase (epic level — children ARE the tasks)"
4187
+ elif [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
4188
+ _skip_specify=true
4189
+ _skip_clarify=true
4190
+ _skip_checklist=true
4191
+ _skip_plan=true
4192
+ _skip_analyze=true
4193
+ echo "Level-aware: Running Tasks phase only (task level — inherits parent context)"
4194
+ fi
4195
+
4196
+ if [[ "$_skip_specify" == "false" ]]; then
4197
+ echo ""
4198
+ echo "=== Phase 1/7: Specify ==="
4199
+ SPEC_CONTENT=$(run_specify_phase_with_validation_retries) || exit 1
4200
+
4201
+ printf '%s\n' "$SPEC_CONTENT" > "$SPEC_DIR/spec.md"
4202
+ append_model_footer "$SPEC_DIR/spec.md"
4203
+ log_file_header "Phase 1" "$SPEC_DIR/spec.md"
4204
+ echo "✓ Phase 1 complete: spec.md"
4205
+ else
4206
+ echo ""
4207
+ echo "=== Phase 1/7: Specify === [SKIPPED — $HIERARCHY_LEVEL level]"
4208
+ fi
4209
+
4210
+ if [[ "$_skip_clarify" == "false" ]]; then
4211
+ echo ""
4212
+ echo "=== Phase 2/7: Clarify ==="
4213
+ run_clarify_phase || { echo "Error: Clarify phase failed after retries" >&2; exit 1; }
4214
+ # Post-clarify re-validation (FR-009): warn if spec no longer passes quality checks
4215
+ if [[ -f "$SPEC_DIR/spec.md" ]]; then
4216
+ _post_clarify_failures=""
4217
+ if ! _post_clarify_failures=$(validate_spec_quality "$SPEC_DIR/spec.md"); then
4218
+ echo "[Specify] ⚠️ Post-clarify re-validation warning: spec.md no longer passes structural checks" >&2
4219
+ echo "[Specify] Failures: $(printf '%s' "$_post_clarify_failures" | tr '\n' '; ')" >&2
4220
+ fi
4221
+ fi
4222
+ log_file_header "Phase 2" "$SPEC_DIR/spec.md"
4223
+ echo "✓ Phase 2 complete: spec.md updated with clarifications"
4224
+ else
4225
+ echo ""
4226
+ echo "=== Phase 2/7: Clarify === [SKIPPED — $HIERARCHY_LEVEL level]"
4227
+ fi
4228
+
4229
+ if [[ "$_skip_checklist" == "false" ]]; then
4230
+ echo ""
4231
+ echo "=== Phase 3/7: Checklist ==="
4232
+ run_checklist_phase || { echo "Error: Checklist phase failed after retries" >&2; exit 1; }
4233
+ log_file_header "Phase 3" "$SPEC_DIR/checklists/requirements.md"
4234
+ echo "✓ Phase 3 complete: checklists/requirements.md"
4235
+ else
4236
+ echo ""
4237
+ echo "=== Phase 3/7: Checklist === [SKIPPED — $HIERARCHY_LEVEL level]"
4238
+ fi
4239
+
4240
+ if [[ "$_skip_plan" == "false" ]]; then
4241
+ echo ""
4242
+ echo "=== Phase 4/7: Plan ==="
4243
+ COPILOT_TIMEOUT=900 run_plan_phase || { echo "Error: Plan phase failed after retries" >&2; exit 1; }
4244
+ log_file_header "Phase 4" "$SPEC_DIR/plan.md"
4245
+ echo "✓ Phase 4 complete: plan.md (+ optional artifacts)"
4246
+ else
4247
+ echo ""
4248
+ echo "=== Phase 4/7: Plan === [SKIPPED — $HIERARCHY_LEVEL level]"
4249
+ fi
4250
+
4251
+ if [[ "$_skip_tasks" == "false" ]]; then
4252
+ echo ""
4253
+ echo "=== Phase 5/7: Tasks ==="
4254
+ COPILOT_TIMEOUT=900 run_tasks_phase || { echo "Error: Tasks phase failed after retries" >&2; exit 1; }
4255
+ log_file_header "Phase 5" "$SPEC_DIR/tasks.md"
4256
+ echo "✓ Phase 5 complete: tasks.md"
4257
+
4258
+ if [[ "${HIERARCHY_LEVEL:-feature}" == "task" ]]; then
4259
+ echo "Skipping FR and E.2 validation for task-level tasks-only generation"
4260
+ else
4261
+ # FR coverage validation gate with retry loop (between tasks and analyze)
4262
+ fr_validation_rc=0
4263
+ run_fr_validation_with_retry || fr_validation_rc=$?
4264
+ if [[ "$fr_validation_rc" -ne 0 ]]; then
4265
+ echo "Error: FR coverage validation failed — tasks PR blocked" >&2
4266
+ exit "$fr_validation_rc"
4267
+ fi
4268
+
4269
+ # E.2 Test coverage validation (non-blocking — findings flow to analyze)
4270
+ run_test_coverage_validation
4271
+ fi
4272
+ else
4273
+ echo ""
4274
+ echo "=== Phase 5/7: Tasks === [SKIPPED — $HIERARCHY_LEVEL level]"
4275
+ fi
4276
+
4277
+ if [[ "$_skip_analyze" == "false" ]]; then
4278
+ echo ""
4279
+ echo "=== Phase 6/7: Analyze ==="
4280
+ COPILOT_TIMEOUT=900 run_analyze_phase || { echo "Error: Analyze phase failed after retries" >&2; exit 1; }
4281
+ log_file_header "Phase 6" "$SPEC_DIR/analysis-report.md"
4282
+ echo "✓ Phase 6 complete: analysis-report.md"
4283
+
4284
+ # ── CRITICAL analysis gate (FR-009, monolithic path) ──────────
4285
+ echo ""
4286
+ echo "=== CRITICAL Analysis Gate ==="
4287
+ report_path="$SPEC_DIR/analysis-report.md"
4288
+ gate_mode="${SPECKIT_CRITICAL_GATE_MODE:-block}"
4289
+ gate_rc=0
4290
+ check_analysis_gate "$report_path" "$gate_mode" true || gate_rc=$?
4291
+
4292
+ if [[ "$gate_rc" -eq 10 ]]; then
4293
+ # Unresolved CRITICALs detected — attempt remediation
4294
+ if [[ "${SPECKIT_CRITICAL_GATE_REMEDIATION:-true}" == "true" ]]; then
4295
+ echo "=== CRITICAL Gate Remediation ===" >&2
4296
+ if _run_critical_gate_remediation "$SPEC_DIR" "$critical_findings_json"; then
4297
+ echo "✓ CRITICAL findings resolved via remediation (${critical_gate_remediation_layer:-unknown})" >&2
4298
+ echo "critical_gate_remediation_status=success-${critical_gate_remediation_layer:-layer1}" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4299
+ # Refresh gate outputs so downstream steps see gate_result=pass
4300
+ check_analysis_gate "$report_path" "$gate_mode" true >/dev/null 2>&1 || true
4301
+ else
4302
+ # Remediation failed — fall through to mode check
4303
+ echo "critical_gate_remediation_status=failed" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4304
+ if [[ "$gate_mode" == "draft" ]]; then
4305
+ echo "⚠ CRITICAL findings detected — draft mode: continuing to markdownlint" >&2
4306
+ else
4307
+ echo "Error: CRITICAL analysis gate failed — aborting (block mode)" >&2
4308
+ exit 1
4309
+ fi
4310
+ fi
4311
+ else
4312
+ echo "critical_gate_remediation_status=skipped" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4313
+ if [[ "$gate_mode" == "draft" ]]; then
4314
+ echo "⚠ CRITICAL findings detected — draft mode: continuing to markdownlint" >&2
4315
+ else
4316
+ echo "Error: CRITICAL analysis gate failed — aborting (block mode)" >&2
4317
+ exit 1
4318
+ fi
4319
+ fi
4320
+ elif [[ "$gate_rc" -eq 20 ]]; then
4321
+ echo "Error: CRITICAL analysis gate failed — report missing or malformed" >&2
4322
+ exit 1
4323
+ elif [[ "$gate_rc" -ne 0 ]]; then
4324
+ echo "Error: CRITICAL analysis gate failed — unexpected return code: $gate_rc" >&2
4325
+ exit 1
4326
+ fi
4327
+
4328
+ echo ""
4329
+ echo "=== Phase 7/7: Markdownlint Validation ==="
4330
+ quick_markdown_sanity_check "$SPEC_DIR"
4331
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed — lint violations remain after remediation" >&2; exit 1; }
4332
+ echo "✓ Phase 7 complete: markdownlint validation finished"
4333
+ else
4334
+ echo ""
4335
+ echo "=== Phase 6/7: Analyze === [SKIPPED — $HIERARCHY_LEVEL level]"
4336
+ # Still run markdownlint on whatever was produced
4337
+ echo ""
4338
+ echo "=== Phase 7/7: Markdownlint Validation ==="
4339
+ quick_markdown_sanity_check "$SPEC_DIR"
4340
+ run_markdownlint_validation "$SPEC_DIR" || { echo "Error: Markdownlint validation failed — lint violations remain after remediation" >&2; exit 1; }
4341
+ echo "✓ Phase 7 complete: markdownlint validation finished"
4342
+ fi
4343
+ fi
4344
+
4345
+ # Output results (spec_dir as repo-relative path for portability)
4346
+ # Derive from SPEC_DIR by stripping REPO_ROOT prefix, so it stays correct
4347
+ # even if SPEC_BASE_PATH is set to an absolute-like path.
4348
+ if [[ "$SPEC_DIR" == "$REPO_ROOT"/* ]]; then
4349
+ SPEC_DIR_REL="${SPEC_DIR#"$REPO_ROOT"/}"
4350
+ else
4351
+ SPEC_DIR_REL="$SPEC_DIR"
4352
+ fi
4353
+ # Normalize to ensure SPEC_DIR_REL never starts with '/', even if SPEC_DIR was absolute.
4354
+ SPEC_DIR_REL="${SPEC_DIR_REL#/}"
4355
+ echo "branch_name=$BRANCH_NAME" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4356
+ echo "spec_file=$SPEC_FILE" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4357
+ echo "issue_number=$ISSUE_NUMBER" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4358
+ echo "spec_dir=$SPEC_DIR_REL" >> "${GITHUB_OUTPUT:-/dev/stdout}"
4359
+
4360
+ echo ""
4361
+ if [[ -n "$PHASE" ]]; then
4362
+ echo "=== Phase $PHASE Complete ==="
4363
+ else
4364
+ echo "=== Full Planning Artifact Suite Complete ==="
4365
+ fi
4366
+ echo "Branch: $BRANCH_NAME"
4367
+ echo "Spec File: $SPEC_FILE"
4368
+ echo "Spec Directory: $SPEC_DIR"
4369
+ echo ""
4370
+ echo "Artifacts produced:"
4371
+ shopt -s nullglob
4372
+ for f in "$SPEC_DIR"/*.md "$SPEC_DIR"/checklists/*.md "$SPEC_DIR"/contracts/*.md; do
4373
+ echo " - ${f#"$SPEC_DIR/"}"
4374
+ done
4375
+ shopt -u nullglob